public OIndexInternal<?> resolveAssociatedIndex(String indexName, OIndexManager indexManager) { if (resolvedIndex == null) { final OIndex<?> index = indexManager.getIndex(indexName); if (index != null) resolvedIndex = index.getInternal(); } return resolvedIndex; }
public OIndex<?> call(ODatabaseDocumentInternal database) { return indexManagerTwo.getIndex(indexOne.getName()); } });
public OIndex<?> getIndex(final String iName) { return database.getMetadata().getIndexManager().getIndex(iName); }
private void deleteNameCaseInsensitiveIndex(final ODatabaseDocumentTx db) { log.info("Deleting old case-insensitive name index on component"); OIndexManager indexManager = db.getMetadata().getIndexManager(); OIndex nameCaseInsensitiveIndex = indexManager.getIndex(I_NAME_CASE_INSENSITIVE); if (nameCaseInsensitiveIndex != null) { indexManager.dropIndex(I_NAME_CASE_INSENSITIVE); } } }
public Object execute(Object iThis, final OIdentifiable iCurrentRecord, Object iCurrentResult, final Object[] iParams, OCommandContext iContext) { final Object value = iParams[0]; String indexName = String.valueOf(value); OIndex<?> index = iContext.getDatabase().getMetadata().getIndexManager().getIndex(indexName); if (index == null) { return null; } return index.getKeySize(); }
protected static OLuceneFullTextIndex getLuceneFullTextIndex(OCommandContext ctx, String indexName) { OMetadata metadata = ctx.getDatabase().activateOnCurrentThread().getMetadata(); OLuceneFullTextIndex index = (OLuceneFullTextIndex) metadata.getIndexManager().getIndex(indexName); if (!(index instanceof OLuceneFullTextIndex)) { throw new IllegalArgumentException("Not a valid Lucene index:: " + indexName); } return index; }
@Override public OResult next() { if (executed) { throw new IllegalStateException(); } long begin = profilingEnabled ? System.nanoTime() : 0; try { OIndex<?> idx = ctx.getDatabase().getMetadata().getIndexManager().getIndex(target.getIndexName()); long size = idx.getSize(); executed = true; OResultInternal result = new OResultInternal(); result.setProperty(alias, size); return result; } finally { count += (System.nanoTime() - begin); } }
private OLuceneFullTextIndex searchForIndex(OCommandContext ctx, String indexName) { OIndex<?> index = ctx.getDatabase().getMetadata().getIndexManager().getIndex(indexName); if (index != null && index.getInternal() instanceof OLuceneFullTextIndex) { return (OLuceneFullTextIndex) index; } return null; }
private void createCaseInsensitiveNameCaseInsensitiveIndex(final ODatabaseDocumentTx db, final OClass type) { log.info("Creating case-insensitive index on case-insensitive name field on component"); OIndexManager indexManager = db.getMetadata().getIndexManager(); if (indexManager.getIndex(I_CI_NAME_CASE_INSENSITIVE) == null) { new OIndexBuilder(type, I_CI_NAME_CASE_INSENSITIVE, INDEX_TYPE.NOTUNIQUE) .property(P_CI_NAME, OType.STRING) .caseInsensitive() .build(db); } }
@Override protected OIndex<?> loadInstance() { OClass oClass = classModel!=null?classModel.getObject():null; OIndexManager indexManager = OrientDbWebSession.get().getDatabase().getMetadata().getIndexManager(); return oClass!=null? indexManager.getClassIndex(oClass.getName(), indexName):indexManager.getIndex(indexName); }
private void load(final ODocument metadata) { // LOAD TREEMAP final String indexClassName = metadata.field(CONFIG_CLASSNAME); final String recordKeyValueMap = metadata.field(CONFIG_RECORD_MAP_NAME); if (VERTEX.equals(indexClassName)) this.indexClass = Vertex.class; else if (EDGE.equals(indexClassName)) this.indexClass = Edge.class; else try { this.indexClass = (Class<T>) Class.forName(indexClassName); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Index class '" + indexClassName + "' is not registered. Supported ones: Vertex, Edge and custom class that extends them", e); } if (recordKeyValueMap == null) recordKeyValueIndex = buildKeyValueIndex(metadata); else recordKeyValueIndex = new OIndexTxAwareOneValue(graph.getRawGraph(), (OIndex<OIdentifiable>) graph.getRawGraph() .getMetadata().getIndexManager().getIndex(recordKeyValueMap)); }
@Override protected OIndex<?> loadInstance() { OClass oClass = classModel!=null?classModel.getObject():null; OIndexManager indexManager = OrientDbWebSession.get().getDatabase().getMetadata().getIndexManager(); return oClass!=null? indexManager.getClassIndex(oClass.getName(), indexName):indexManager.getIndex(indexName); }
protected Set<String> getInvolvedClustersOfIndex(final String iIndexName) { final ODatabaseDocumentInternal db = getDatabase(); final Set<String> clusters = new HashSet<String>(); final OMetadataInternal metadata = (OMetadataInternal) db.getMetadata(); final OIndex<?> idx = metadata.getIndexManager().getIndex(iIndexName); if (idx != null && idx.getDefinition() != null) { final String clazz = idx.getDefinition().getClassName(); if (clazz != null) { final OClass cls = metadata.getImmutableSchemaSnapshot().getClass(clazz); if (cls != null) for (int clId : cls.getClusterIds()) { final String clName = db.getClusterNameById(clId); if (clName != null) clusters.add(clName.toLowerCase(Locale.ENGLISH)); } } } return clusters; }
public Index<T> call(final OrientBaseGraph g) { final OIndexManager indexManager = getDatabase().getMetadata().getIndexManager(); if (indexManager.getIndex(indexName) != null) throw ExceptionFactory.indexAlreadyExists(indexName); final OrientIndex<? extends OrientElement> index = new OrientIndex<OrientElement>(g, indexName, indexClass, null); // SAVE THE CONFIGURATION INTO THE GLOBAL CONFIG saveIndexConfiguration(); return (Index<T>) index; } }, "create index '", indexName, "'");
private void createNameCaseInsensitiveIndex(final ODatabaseDocumentTx db, final OClass type) { OIndexManager indexManager = db.getMetadata().getIndexManager(); if (indexManager.getIndex(I_NAME_CASE_INSENSITIVE) == null) { new OIndexBuilder(type, I_NAME_CASE_INSENSITIVE, INDEX_TYPE.NOTUNIQUE) .property(P_NAME, OType.STRING) .caseInsensitive() .build(db); } }
/** * Returns an index by name and class * * @param indexName Index name * @param indexClass Class as one or subclass of Vertex.class and Edge.class * * @return Index instance */ @SuppressWarnings("unchecked") @Override public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { makeActive(); final OIndexManager indexManager = getDatabase().getMetadata().getIndexManager(); final OIndex idx = indexManager.getIndex(indexName); if (idx == null || !hasIndexClass(idx)) return null; final Index<? extends Element> index = new OrientIndex(this, idx); if (indexClass.isAssignableFrom(index.getIndexClass())) return (Index<T>) index; else throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); }
@Override public Object call(OrientBaseGraph g) { try { final OIndexManager indexManager = getRawGraph().getMetadata().getIndexManager(); final OIndex index = indexManager.getIndex(indexName); ODocument metadata = index.getConfiguration().field("metadata"); String recordMapIndexName = null; if (metadata != null) { recordMapIndexName = metadata.field(OrientIndex.CONFIG_RECORD_MAP_NAME); } indexManager.dropIndex(indexName); if (recordMapIndexName != null) getRawGraph().getMetadata().getIndexManager().dropIndex(recordMapIndexName); saveIndexConfiguration(); return null; } catch (Exception e) { g.rollback(); throw new RuntimeException(e.getMessage(), e); } } }, "drop index '", indexName, "'");
public void rebuildIndexes() { database.getMetadata().getIndexManager().reload(); OIndexManager indexManager = database.getMetadata().getIndexManager(); listener.onMessage("\nRebuild of stale indexes..."); for (String indexName : indexesToRebuild) { if (indexManager.getIndex(indexName) == null) { listener.onMessage("\nIndex " + indexName + " is skipped because it is absent in imported DB."); continue; } listener.onMessage("\nStart rebuild index " + indexName); database.command("rebuild index " + indexName).close(); listener.onMessage("\nRebuild of index " + indexName + " is completed."); } listener.onMessage("\nStale indexes were rebuilt..."); }
@Override public OResult next() { if (!hasNext()) { throw new IllegalStateException(); } //TODO OIndex<?> index = ctx.getDatabase().getMetadata().getIndexManager().getIndex(targetIndex.getIndexName()); if (index == null) { throw new OCommandExecutionException("Index not found: " + targetIndex); } List<OInsertSetExpression> setExps = body.getSetExpressions(); if (body.getContent() != null) { throw new OCommandExecutionException("Invalid expression: INSERT INTO INDEX:... CONTENT ..."); } int count; if (setExps != null) { count = handleSet(setExps, index, ctx); } else { count = handleKeyValues(body.getIdentifierList(), body.getValueExpressions(), index, ctx); } executed = true; OResultInternal result = new OResultInternal(); result.setProperty("count", count); return result; }