use of com.orientechnologies.orient.core.index.OPropertyIndexDefinition in project orientdb by orientechnologies.
the class IndexManagerTest method testGetClassInvolvedIndexesWithNullValues.
@Test
public void testGetClassInvolvedIndexesWithNullValues() {
String className = "GetClassInvolvedIndexesWithNullValues";
final OIndexManager indexManager = database.getMetadata().getIndexManager();
final OSchema schema = database.getMetadata().getSchema();
final OClass oClass = schema.createClass(className);
oClass.createProperty("one", OType.STRING);
oClass.createProperty("two", OType.STRING);
oClass.createProperty("three", OType.STRING);
indexManager.createIndex(className + "_indexOne_notunique", OClass.INDEX_TYPE.NOTUNIQUE.toString(), new OPropertyIndexDefinition(className, "one", OType.STRING), oClass.getClusterIds(), null, null);
indexManager.createIndex(className + "_indexOneTwo_notunique", OClass.INDEX_TYPE.NOTUNIQUE.toString(), new OCompositeIndexDefinition(className, Arrays.asList(new OPropertyIndexDefinition(className, "one", OType.STRING), new OPropertyIndexDefinition(className, "two", OType.STRING)), -1), oClass.getClusterIds(), null, null);
indexManager.createIndex(className + "_indexOneTwoThree_notunique", OClass.INDEX_TYPE.NOTUNIQUE.toString(), new OCompositeIndexDefinition(className, Arrays.asList(new OPropertyIndexDefinition(className, "one", OType.STRING), new OPropertyIndexDefinition(className, "two", OType.STRING), new OPropertyIndexDefinition(className, "three", OType.STRING)), -1), oClass.getClusterIds(), null, null);
Set<OIndex<?>> result = indexManager.getClassInvolvedIndexes(className, Arrays.asList("one"));
assertEquals(result.size(), 3);
result = indexManager.getClassInvolvedIndexes(className, Arrays.asList("one", "two"));
assertEquals(result.size(), 2);
result = indexManager.getClassInvolvedIndexes(className, Arrays.asList("one", "two", "three"));
assertEquals(result.size(), 1);
result = indexManager.getClassInvolvedIndexes(className, Arrays.asList("two"));
assertEquals(result.size(), 0);
result = indexManager.getClassInvolvedIndexes(className, Arrays.asList("two", "one", "three"));
assertEquals(result.size(), 1);
}
use of com.orientechnologies.orient.core.index.OPropertyIndexDefinition in project orientdb by orientechnologies.
the class IndexManagerTest method testDropIndex.
@Test
public void testDropIndex() throws Exception {
final OIndexManager indexManager = database.getMetadata().getIndexManager();
indexManager.createIndex("anotherproperty", OClass.INDEX_TYPE.UNIQUE.toString(), new OPropertyIndexDefinition(CLASS_NAME, "fOne", OType.INTEGER), new int[] { database.getClusterIdByName(CLASS_NAME) }, null, null);
assertNotNull(indexManager.getIndex("anotherproperty"));
assertNotNull(indexManager.getClassIndex(CLASS_NAME, "anotherproperty"));
indexManager.dropIndex("anotherproperty");
assertNull(indexManager.getIndex("anotherproperty"));
assertNull(indexManager.getClassIndex(CLASS_NAME, "anotherproperty"));
}
use of com.orientechnologies.orient.core.index.OPropertyIndexDefinition in project orientdb by orientechnologies.
the class IndexManagerTest method testCreateOnePropertyIndexTest.
@Test
public void testCreateOnePropertyIndexTest() {
final OIndexManagerProxy indexManager = database.getMetadata().getIndexManager();
final OIndex result = indexManager.createIndex("propertyone", OClass.INDEX_TYPE.UNIQUE.toString(), new OPropertyIndexDefinition(CLASS_NAME, "fOne", OType.INTEGER), new int[] { database.getClusterIdByName(CLASS_NAME) }, null, null);
assertEquals(result.getName(), "propertyone");
indexManager.reload();
assertEquals(database.getMetadata().getIndexManager().getClassIndex(CLASS_NAME, "propertyone").getName(), result.getName());
}
use of com.orientechnologies.orient.core.index.OPropertyIndexDefinition in project orientdb by orientechnologies.
the class ClassIndexTest method testGetIndexesWithoutParent.
@Test
public void testGetIndexesWithoutParent() {
final OClass inClass = database.getMetadata().getSchema().createClass("ClassIndexInTest");
inClass.createProperty("fOne", OType.INTEGER);
final OIndex result = inClass.createIndex("ClassIndexInTestPropertyOne", OClass.INDEX_TYPE.UNIQUE.toString(), null, new ODocument().fields("ignoreNullValues", true), new String[] { "fOne" });
assertEquals(result.getName(), "ClassIndexInTestPropertyOne");
assertEquals(inClass.getClassIndex("ClassIndexInTestPropertyOne").getName(), result.getName());
final Set<OIndex<?>> indexes = inClass.getIndexes();
final OPropertyIndexDefinition propertyIndexDefinition = new OPropertyIndexDefinition("ClassIndexInTest", "fOne", OType.INTEGER);
assertEquals(indexes.size(), 1);
assertTrue(indexes.iterator().next().getDefinition().equals(propertyIndexDefinition));
}
use of com.orientechnologies.orient.core.index.OPropertyIndexDefinition in project orientdb by orientechnologies.
the class ClassIndexTest method testGetIndexes.
@Test(dependsOnMethods = { "createCompositeIndexTestWithListener", "createCompositeIndexTestWithoutListener", "testCreateOnePropertyIndexTest", "createParentPropertyIndex", "testCreateOnePropertyEmbeddedMapIndex", "testCreateOnePropertyByKeyEmbeddedMapIndex", "testCreateOnePropertyByValueEmbeddedMapIndex", "testCreateOnePropertyLinkedMapIndex", "testCreateOnePropertyLinkMapByKeyIndex", "testCreateOnePropertyLinkMapByValueIndex", "testCreateCompositeEmbeddedMapIndex", "testCreateCompositeEmbeddedMapByKeyIndex", "testCreateCompositeEmbeddedMapByValueIndex", "testCreateCompositeLinkMapByValueIndex", "testCreateCompositeEmbeddedSetIndex", "testCreateCompositeEmbeddedListIndex", "testCreateCompositeLinkListIndex", "testCreateCompositeRidBagIndex" })
public void testGetIndexes() {
final Set<OIndex<?>> indexes = oClass.getIndexes();
final Set<OIndexDefinition> expectedIndexDefinitions = new HashSet<OIndexDefinition>();
final OCompositeIndexDefinition compositeIndexOne = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexOne.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fOne", OType.INTEGER));
compositeIndexOne.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fTwo", OType.STRING));
expectedIndexDefinitions.add(compositeIndexOne);
final OCompositeIndexDefinition compositeIndexTwo = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexTwo.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fOne", OType.INTEGER));
compositeIndexTwo.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fTwo", OType.STRING));
compositeIndexTwo.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fThree", OType.BOOLEAN));
expectedIndexDefinitions.add(compositeIndexTwo);
final OCompositeIndexDefinition compositeIndexThree = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexThree.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fEight", OType.INTEGER));
compositeIndexThree.addIndex(new OPropertyMapIndexDefinition("ClassIndexTestClass", "fEmbeddedMap", OType.STRING, OPropertyMapIndexDefinition.INDEX_BY.KEY));
expectedIndexDefinitions.add(compositeIndexThree);
final OCompositeIndexDefinition compositeIndexFour = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexFour.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fTen", OType.INTEGER));
compositeIndexFour.addIndex(new OPropertyMapIndexDefinition("ClassIndexTestClass", "fEmbeddedMap", OType.INTEGER, OPropertyMapIndexDefinition.INDEX_BY.VALUE));
expectedIndexDefinitions.add(compositeIndexFour);
final OCompositeIndexDefinition compositeIndexFive = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexFive.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fEleven", OType.INTEGER));
compositeIndexFive.addIndex(new OPropertyMapIndexDefinition("ClassIndexTestClass", "fLinkMap", OType.LINK, OPropertyMapIndexDefinition.INDEX_BY.VALUE));
expectedIndexDefinitions.add(compositeIndexFive);
final OCompositeIndexDefinition compositeIndexSix = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexSix.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fTwelve", OType.INTEGER));
compositeIndexSix.addIndex(new OPropertyListIndexDefinition("ClassIndexTestClass", "fEmbeddedSet", OType.INTEGER));
expectedIndexDefinitions.add(compositeIndexSix);
final OCompositeIndexDefinition compositeIndexSeven = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexSeven.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fThirteen", OType.INTEGER));
compositeIndexSeven.addIndex(new OPropertyListIndexDefinition("ClassIndexTestClass", "fEmbeddedList", OType.INTEGER));
expectedIndexDefinitions.add(compositeIndexSeven);
final OCompositeIndexDefinition compositeIndexEight = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexEight.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fFourteen", OType.INTEGER));
compositeIndexEight.addIndex(new OPropertyListIndexDefinition("ClassIndexTestClass", "fEmbeddedList", OType.LINK));
expectedIndexDefinitions.add(compositeIndexEight);
final OCompositeIndexDefinition compositeIndexNine = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexNine.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fFifteen", OType.INTEGER));
compositeIndexNine.addIndex(new OPropertyMapIndexDefinition("ClassIndexTestClass", "fEmbeddedMap", OType.STRING, OPropertyMapIndexDefinition.INDEX_BY.KEY));
expectedIndexDefinitions.add(compositeIndexNine);
final OCompositeIndexDefinition compositeIndexTen = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexTen.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fFourteen", OType.INTEGER));
compositeIndexTen.addIndex(new OPropertyListIndexDefinition("ClassIndexTestClass", "fLinkList", OType.LINK));
expectedIndexDefinitions.add(compositeIndexTen);
final OCompositeIndexDefinition compositeIndexEleven = new OCompositeIndexDefinition("ClassIndexTestClass");
compositeIndexEleven.addIndex(new OPropertyIndexDefinition("ClassIndexTestClass", "fFourteen", OType.INTEGER));
compositeIndexEleven.addIndex(new OPropertyRidBagIndexDefinition("ClassIndexTestClass", "fRidBag"));
expectedIndexDefinitions.add(compositeIndexEleven);
final OPropertyIndexDefinition propertyIndex = new OPropertyIndexDefinition("ClassIndexTestClass", "fOne", OType.INTEGER);
expectedIndexDefinitions.add(propertyIndex);
final OPropertyIndexDefinition parentPropertyIndex = new OPropertyIndexDefinition("ClassIndexTestSuperClass", "fNine", OType.INTEGER);
expectedIndexDefinitions.add(parentPropertyIndex);
final OPropertyMapIndexDefinition propertyMapIndexDefinition = new OPropertyMapIndexDefinition("ClassIndexTestClass", "fEmbeddedMap", OType.STRING, OPropertyMapIndexDefinition.INDEX_BY.KEY);
expectedIndexDefinitions.add(propertyMapIndexDefinition);
final OPropertyMapIndexDefinition propertyMapByValueIndexDefinition = new OPropertyMapIndexDefinition("ClassIndexTestClass", "fEmbeddedMap", OType.INTEGER, OPropertyMapIndexDefinition.INDEX_BY.VALUE);
expectedIndexDefinitions.add(propertyMapByValueIndexDefinition);
final OPropertyMapIndexDefinition propertyLinkMapByKeyIndexDefinition = new OPropertyMapIndexDefinition("ClassIndexTestClass", "fLinkMap", OType.STRING, OPropertyMapIndexDefinition.INDEX_BY.KEY);
expectedIndexDefinitions.add(propertyLinkMapByKeyIndexDefinition);
final OPropertyMapIndexDefinition propertyLinkMapByValueIndexDefinition = new OPropertyMapIndexDefinition("ClassIndexTestClass", "fLinkMap", OType.LINK, OPropertyMapIndexDefinition.INDEX_BY.VALUE);
expectedIndexDefinitions.add(propertyLinkMapByValueIndexDefinition);
assertEquals(indexes.size(), 18);
for (final OIndex index : indexes) {
assertTrue(expectedIndexDefinitions.contains(index.getDefinition()));
}
}
Aggregations