Package com.orientechnologies.orient.core.index

Examples of com.orientechnologies.orient.core.index.OIndex


        script.field(INVALID,true);
        save(script);
    }

    public ODocument getByNameLocked(String name) {
        OIndex idx = db.getMetadata().getIndexManager().getIndex(INDEX);
        OIdentifiable idf =(OIdentifiable)idx.get(name);
        if (idf == null){
            return null;
        }
        ODocument doc = db.load(idf.getIdentity(), null, false, false, OStorage.LOCKING_STRATEGY.KEEP_EXCLUSIVE_LOCK);
View Full Code Here


    while (makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<Boolean>() {
      public Boolean call() {
        return iteratorOne.hasNext();
      }
    })) {
      final OIndex indexOne = makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<OIndex<?>>() {
        public OIndex<?> call() {
          return iteratorOne.next();
        }
      });

      final OIndex<?> indexTwo = makeDbCall(databaseDocumentTxTwo, new ODbRelatedCall<OIndex<?>>() {
        public OIndex<?> call() {
          return indexManagerTwo.getIndex(indexOne.getName());
        }
      });

      if (indexTwo == null) {
        ok = false;
        listener.onMessage("\n- ERR: Index " + indexOne.getName() + " is absent in DB2.");
        ++differences;
        continue;
      }

      if (!indexOne.getType().equals(indexTwo.getType())) {
        ok = false;
        listener.onMessage("\n- ERR: Index types for index " + indexOne.getName() + " are different.");
        listener.onMessage("\n--- DB1: " + indexOne.getType());
        listener.onMessage("\n--- DB2: " + indexTwo.getType());
        listener.onMessage("\n");
        ++differences;
        continue;
      }

      if (!indexOne.getClusters().equals(indexTwo.getClusters())) {
        ok = false;
        listener.onMessage("\n- ERR: Clusters to index for index " + indexOne.getName() + " are different.");
        listener.onMessage("\n--- DB1: " + indexOne.getClusters());
        listener.onMessage("\n--- DB2: " + indexTwo.getClusters());
        listener.onMessage("\n");
        ++differences;
        continue;
      }

      if (indexOne.getDefinition() == null && indexTwo.getDefinition() != null) {
        ok = false;
        listener.onMessage("\n- ERR: Index definition for index " + indexOne.getName() + " for DB2 is not null.");
        ++differences;
        continue;
      } else if (indexOne.getDefinition() != null && indexTwo.getDefinition() == null) {
        ok = false;
        listener.onMessage("\n- ERR: Index definition for index " + indexOne.getName() + " for DB2 is null.");
        ++differences;
        continue;
      } else if (indexOne.getDefinition() != null && !indexOne.getDefinition().equals(indexTwo.getDefinition())) {
        ok = false;
        listener.onMessage("\n- ERR: Index definitions for index " + indexOne.getName() + " are different.");
        listener.onMessage("\n--- DB1: " + indexOne.getDefinition());
        listener.onMessage("\n--- DB2: " + indexTwo.getDefinition());
        listener.onMessage("\n");
        ++differences;
        continue;
      }

      final long indexOneSize = makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<Long>() {
        public Long call() {
          return indexOne.getSize();
        }
      });

      final long indexTwoSize = makeDbCall(databaseDocumentTxTwo, new ODbRelatedCall<Long>() {
        public Long call() {
          return indexTwo.getSize();
        }
      });

      if (indexOneSize != indexTwoSize) {
        ok = false;
        listener.onMessage("\n- ERR: Amount of entries for index " + indexOne.getName() + " are different.");
        listener.onMessage("\n--- DB1: " + indexOneSize);
        listener.onMessage("\n--- DB2: " + indexTwoSize);
        listener.onMessage("\n");
        ++differences;
      }

      if (compareIndexMetadata) {
        final ODocument metadataOne = indexOne.getMetadata();
        final ODocument metadataTwo = indexTwo.getMetadata();

        if (metadataOne == null && metadataTwo != null) {
          ok = false;
          listener.onMessage("\n- ERR: Metadata for index " + indexOne.getName() + " for DB1 is null but for DB2 is not.");
          listener.onMessage("\n");
          ++differences;
        } else if (metadataOne != null && metadataTwo == null) {
          ok = false;
          listener.onMessage("\n- ERR: Metadata for index " + indexOne.getName() + " for DB1 is not null but for DB2 is null.");
          listener.onMessage("\n");
          ++differences;
        } else if (metadataOne != null && metadataTwo != null
            && !ODocumentHelper.hasSameContentOf(metadataOne, databaseDocumentTxOne, metadataTwo, databaseDocumentTxTwo, ridMapper)) {
          ok = false;
          listener.onMessage("\n- ERR: Metadata for index " + indexOne.getName() + " for DB1 and for DB2 are different.");
          makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<Object>() {
            @Override
            public Object call() {
              listener.onMessage("\n--- M1: " + metadataOne);
              return null;
            }
          });
          makeDbCall(databaseDocumentTxTwo, new ODbRelatedCall<Object>() {
            @Override
            public Object call() {
              listener.onMessage("\n--- M2: " + metadataTwo);
              return null;
            }
          });
          listener.onMessage("\n");
          ++differences;
        }
      }

      if (((compareEntriesForAutomaticIndexes && !indexOne.getType().equals("DICTIONARY")) || !indexOne.isAutomatic())) {
        final OIndexKeyCursor indexKeyCursorOne = makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<OIndexKeyCursor>() {
          public OIndexKeyCursor call() {
            return indexOne.keyCursor();
          }
        });

        Object key = makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<Object>() {
          @Override
          public Object call() {
            return indexKeyCursorOne.next(-1);
          }
        });

        while (key != null) {
          final Object indexKey = key;

          Object indexOneValue = makeDbCall(databaseDocumentTxOne, new ODbRelatedCall<Object>() {
            public Object call() {
              return indexOne.get(indexKey);
            }
          });

          final Object indexTwoValue = makeDbCall(databaseDocumentTxTwo, new ODbRelatedCall<Object>() {
            public Object call() {
              return indexTwo.get(indexKey);
            }
          });

          if (indexTwoValue == null) {
            ok = false;
            listener.onMessage("\n- ERR: Entry with key " + key + " is absent in index " + indexOne.getName() + " for DB2.");
            ++differences;
          } else if (indexOneValue instanceof Set && indexTwoValue instanceof Set) {
            final Set<Object> indexOneValueSet = (Set<Object>) indexOneValue;
            final Set<Object> indexTwoValueSet = (Set<Object>) indexTwoValue;
View Full Code Here

        for (final String clusterName : clustersToIndex) {
          clusterIdsToIndex[i] = database.getClusterIdByName(clusterName);
          i++;
        }

        OIndex index = indexManager.createIndex(indexName, indexType, indexDefinition, clusterIdsToIndex, null, metadata);
        if (blueprintsIndexClass != null) {
          ODocument configuration = index.getConfiguration();
          configuration.field("blueprintsIndexClass", blueprintsIndexClass);
          indexManager.save();
        }

        n++;
View Full Code Here

   */
  @SuppressWarnings("unchecked")
  @Override
  public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) {
    final OIndexManager indexManager = database.getMetadata().getIndexManager();
    final OIndex idx = indexManager.getIndex(indexName);
    if (idx == null || !hasIndexClass(idx))
      return null;

    final Index<? extends Element> index = new OrientIndex(this, idx);

View Full Code Here

      @Override
      public Object call(OrientBaseGraph g) {
        try {
          synchronized (manualIndexLock) {
            final OIndexManager indexManager = getRawGraph().getMetadata().getIndexManager();
            final OIndex index = indexManager.getIndex(indexName);
            final String recordMapIndexName = index.getConfiguration().field(OrientIndex.CONFIG_RECORD_MAP_NAME);

            indexManager.dropIndex(indexName);
            if (recordMapIndexName != null)
              getRawGraph().getMetadata().getIndexManager().dropIndex(recordMapIndexName);
View Full Code Here

    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());
  }
View Full Code Here

TOP

Related Classes of com.orientechnologies.orient.core.index.OIndex

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.