Search in sources :

Example 96 with OIndex

use of com.orientechnologies.orient.core.index.OIndex in project orientdb by orientechnologies.

the class GEOTest method geoSchema.

@Test
public void geoSchema() {
    final OClass mapPointClass = database.getMetadata().getSchema().createClass("MapPoint");
    mapPointClass.createProperty("x", OType.DOUBLE).createIndex(OClass.INDEX_TYPE.NOTUNIQUE);
    mapPointClass.createProperty("y", OType.DOUBLE).createIndex(OClass.INDEX_TYPE.NOTUNIQUE);
    final Set<OIndex<?>> xIndexes = database.getMetadata().getSchema().getClass("MapPoint").getProperty("x").getIndexes();
    Assert.assertEquals(xIndexes.size(), 1);
    final Set<OIndex<?>> yIndexes = database.getMetadata().getSchema().getClass("MapPoint").getProperty("y").getIndexes();
    Assert.assertEquals(yIndexes.size(), 1);
}
Also used : OIndex(com.orientechnologies.orient.core.index.OIndex) OClass(com.orientechnologies.orient.core.metadata.schema.OClass) Test(org.testng.annotations.Test)

Example 97 with OIndex

use of com.orientechnologies.orient.core.index.OIndex in project orientdb by orientechnologies.

the class DateIndexTest method testDateIndexes.

public void testDateIndexes() {
    final Date dateOne = new Date();
    final Date dateTwo = new Date(dateOne.getTime() + 24 * 60 * 60 * 1000 + 100);
    final ODocument dateDoc = new ODocument("DateIndexTest");
    dateDoc.field("dateField", dateOne);
    dateDoc.field("dateTimeField", dateTwo);
    final List<Date> dateList = new ArrayList<Date>();
    final Date dateThree = new Date(dateOne.getTime() + 100);
    final Date dateFour = new Date(dateThree.getTime() + 24 * 60 * 60 * 1000 + 100);
    dateList.add(new Date(dateThree.getTime()));
    dateList.add(new Date(dateFour.getTime()));
    final List<Date> dateTimeList = new ArrayList<Date>();
    dateTimeList.add(new Date(dateThree.getTime()));
    dateTimeList.add(new Date(dateFour.getTime()));
    dateDoc.field("dateList", dateList);
    dateDoc.field("dateTimeList", dateTimeList);
    dateDoc.field("value", "v1");
    dateDoc.save();
    final OIndex dateIndexTestDateIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestDateIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestDateIndex.get(dateOne)).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestDateIndex.get(dateTwo));
    final OIndex dateIndexTestDateTimeIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestDateTimeIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestDateTimeIndex.get(dateTwo)).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestDateTimeIndex.get(dateOne));
    final OIndex dateIndexTestValueDateIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateIndex.get(new OCompositeKey("v1", dateOne))).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestValueDateIndex.get(new OCompositeKey("v1", dateTwo)));
    final OIndex dateIndexTestValueDateTimeIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateTimeIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateTimeIndex.get(new OCompositeKey("v1", dateTwo))).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestValueDateTimeIndex.get(new OCompositeKey("v1", dateOne)));
    final OIndex dateIndexTestValueDateListIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateListIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateListIndex.get(new OCompositeKey("v1", dateThree))).getIdentity(), dateDoc.getIdentity());
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateListIndex.get(new OCompositeKey("v1", dateFour))).getIdentity(), dateDoc.getIdentity());
    final OIndex dateIndexTestValueDateTimeListIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateListIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateTimeListIndex.get(new OCompositeKey("v1", dateThree))).getIdentity(), dateDoc.getIdentity());
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateTimeListIndex.get(new OCompositeKey("v1", dateFour))).getIdentity(), dateDoc.getIdentity());
    final OIndex dateIndexTestDateHashIndexIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestDateHashIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestDateHashIndexIndex.get(dateOne)).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestDateHashIndexIndex.get(dateTwo));
    final OIndex dateIndexTestDateTimeHashIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestDateTimeHashIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestDateTimeHashIndex.get(dateTwo)).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestDateTimeHashIndex.get(dateOne));
    final OIndex dateIndexTestValueDateHashIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateHashIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateHashIndex.get(new OCompositeKey("v1", dateOne))).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestValueDateHashIndex.get(new OCompositeKey("v1", dateTwo)));
    final OIndex dateIndexTestValueDateTimeHashIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateTimeHashIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateTimeHashIndex.get(new OCompositeKey("v1", dateTwo))).getIdentity(), dateDoc.getIdentity());
    Assert.assertNull(dateIndexTestValueDateTimeHashIndex.get(new OCompositeKey("v1", dateOne)));
    final OIndex dateIndexTestValueDateListHashIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateListHashIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateListHashIndex.get(new OCompositeKey("v1", dateThree))).getIdentity(), dateDoc.getIdentity());
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateListHashIndex.get(new OCompositeKey("v1", dateFour))).getIdentity(), dateDoc.getIdentity());
    final OIndex dateIndexTestValueDateTimeListHashIndex = database.getMetadata().getIndexManager().getIndex("DateIndexTestValueDateListHashIndex");
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateTimeListHashIndex.get(new OCompositeKey("v1", dateThree))).getIdentity(), dateDoc.getIdentity());
    Assert.assertEquals(((OIdentifiable) dateIndexTestValueDateTimeListHashIndex.get(new OCompositeKey("v1", dateFour))).getIdentity(), dateDoc.getIdentity());
}
Also used : OIndex(com.orientechnologies.orient.core.index.OIndex) ArrayList(java.util.ArrayList) OCompositeKey(com.orientechnologies.orient.core.index.OCompositeKey) Date(java.util.Date) ODocument(com.orientechnologies.orient.core.record.impl.ODocument)

Example 98 with OIndex

use of com.orientechnologies.orient.core.index.OIndex in project orientdb by orientechnologies.

the class OImmutableProperty method getAllIndexes.

@Override
public Collection<OIndex<?>> getAllIndexes() {
    final Set<OIndex<?>> indexes = owner.getIndexes();
    final List<OIndex<?>> indexList = new LinkedList<OIndex<?>>();
    for (final OIndex<?> index : indexes) {
        final OIndexDefinition indexDefinition = index.getDefinition();
        if (indexDefinition.getFields().contains(name))
            indexList.add(index);
    }
    return indexList;
}
Also used : OIndexDefinition(com.orientechnologies.orient.core.index.OIndexDefinition) OIndex(com.orientechnologies.orient.core.index.OIndex) LinkedList(java.util.LinkedList)

Aggregations

OIndex (com.orientechnologies.orient.core.index.OIndex)98 ODocument (com.orientechnologies.orient.core.record.impl.ODocument)54 Test (org.testng.annotations.Test)50 OIndexDefinition (com.orientechnologies.orient.core.index.OIndexDefinition)26 OClass (com.orientechnologies.orient.core.metadata.schema.OClass)20 OIndexManager (com.orientechnologies.orient.core.index.OIndexManager)18 OCompositeIndexDefinition (com.orientechnologies.orient.core.index.OCompositeIndexDefinition)16 OSchema (com.orientechnologies.orient.core.metadata.schema.OSchema)16 Test (org.junit.Test)14 OIdentifiable (com.orientechnologies.orient.core.db.record.OIdentifiable)12 Collection (java.util.Collection)11 OPropertyIndexDefinition (com.orientechnologies.orient.core.index.OPropertyIndexDefinition)9 OPropertyMapIndexDefinition (com.orientechnologies.orient.core.index.OPropertyMapIndexDefinition)8 OProperty (com.orientechnologies.orient.core.metadata.schema.OProperty)8 HashSet (java.util.HashSet)6 OConfigurationException (com.orientechnologies.orient.core.exception.OConfigurationException)5 OIndexManagerProxy (com.orientechnologies.orient.core.index.OIndexManagerProxy)5 OIndexUnique (com.orientechnologies.orient.core.index.OIndexUnique)5 Map (java.util.Map)4 AtomicLong (java.util.concurrent.atomic.AtomicLong)4