private DocumentList query(String sql) { activateOnCurrentThread(); List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>(sql)); return DocumentList.wrap(results.iterator()); }
protected void fetchFromDb(ODatabaseDocumentTx db) { List<ODocument> docs = db.query(new OSQLSynchQuery<>(String.format(GET_COMMAND, hostGroup))); if (docs.size() == 0 || docs.size() > 1) { LOG.error("Illegal OrientDB configuration state - " + docs.size() + " number of records."); } if (docs.size() > 0) { configs = new ConcurrentHashMap<>(docs.get(0).field("map")); } }
@Override public List<String> getAllFiltered(String type) { try (ODatabaseDocumentTx db = docDb()) { List<ODocument> r = db.query(new OSQLSynchQuery<>(String.format("select value from Filter where type=\"%s\"", type))); return r.stream().map(o -> (String) o.rawField("value")).collect(Collectors.toList()); } }
@Override public boolean isFiltered(String type, String value) { try (ODatabaseDocumentTx db = docDb()) { return db.query(new OSQLSynchQuery<>(String.format("select type from Filter where type=\"%s\"" + " and value=\"%s\"", type, value))).size() > 0; } }
/** * @since 3.2 */ public Iterable<AuditData> browse(final ODatabaseDocumentTx db, final long offset, final long limit) { log.trace("Browse; offset: {}, limit: {}", offset, limit); return transform(db.query(new OSQLSynchQuery<ODocument>(BROWSE_SKIP_LIMIT_QUERY), offset, limit)); }
@VisibleForTesting void updateAssetBlobStoreRefs(final Map<String, String> renamedBlobStores) { try (ODatabaseDocumentTx db = componentDatabaseInstance.get().connect()) { renamedBlobStores.forEach((originalName, newName) -> { log.debug("Searching for BlobStoreRefs, original name: {}, new name: {} ", originalName, newName); OSQLSynchQuery query = new OSQLSynchQuery<>("select from asset where blob_ref like ? and @rid > ? limit 100"); String nameTestValue = originalName + "@%"; List<ODocument> results = db.query(query, nameTestValue, new ORecordId()); while (!results.isEmpty()) { log.debug("Updating set of {} Refs", results.size()); ORID last = results.get(results.size() - 1).getIdentity(); results.forEach(doc -> updateDocWithNewName(originalName, newName, doc)); results = db.query(query, nameTestValue, last); } }); } }
private DocumentList query(String sql) { activateOnCurrentThread(); List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>(sql)); return DocumentList.wrap(results.iterator()); }
protected long getTotal(Map<String, Object> data, Map<String, Object> criteria) { long total = 0; StringBuilder sb = new StringBuilder("SELECT COUNT(*) as count FROM (TRAVERSE out_HasComment FROM ").append(data.get("@rid")).append(") "); String whereClause = DbService.getWhereClause(criteria); if(whereClause != null && whereClause.length() > 0) { sb.append(whereClause); } //System.out.println("sql=" + sb); OrientGraph graph = ServiceLocator.getInstance().getGraph(); try { total = ((ODocument)graph.getRawGraph().query(new OSQLSynchQuery<ODocument>(sb.toString())).get(0)).field("count"); } catch (Exception e) { logger.error("Exception:", e); } finally { graph.shutdown(); } return total; }
private void markNpmRepositoriesWithoutV1SearchIndexing() { List<String> npmRepositoryNames; try (ODatabaseDocumentTx db = configDatabaseInstance.get().connect()) { npmRepositoryNames = db.<List<ODocument>>query(new OSQLSynchQuery<ODocument>(SELECT_NPM_REPOSITORIES)).stream() .map(d -> (String) d.field(P_REPOSITORY_NAME)) .collect(toList()); } if (!npmRepositoryNames.isEmpty()) { log.info("Marking existing npm repositories as not supporting v1 search ({}).", npmRepositoryNames); OCommandSQL updateBucketsCommand = new OCommandSQL(UPDATE_BUCKET_ATTRIBUTES); int updates; try (ODatabaseDocumentTx db = componentDatabaseInstance.get().connect()) { updates = db.command(updateBucketsCommand).execute(npmRepositoryNames); } log.info("Marked {} existing npm repositories as not supporting v1 search.", updates); } } }
private boolean populateCaseInsensitiveNameFieldBatch(final ODatabaseDocumentTx db) { log.trace("Processing batch of {} component records...", BATCH_SIZE); db.begin(); List<ODocument> components = db.query(SELECT_COMPONENT_BATCH); if (components.isEmpty()) { return false; } for (ODocument component : components) { String name = component.field(P_NAME, String.class); component.field(P_CI_NAME, name.toLowerCase(Locale.ENGLISH)); component.save(); } db.commit(); return true; }
private void updateMavenIndexFileAssetKind() { List<String> mavenRepositoryNames; try (ODatabaseDocumentTx db = configDatabaseInstance.get().connect()) { mavenRepositoryNames = db.<List<ODocument>>query(new OSQLSynchQuery<ODocument>(SELECT_MAVEN_REPOSITORIES)).stream() .map(d -> (String)d.field(P_REPOSITORY_NAME)) .collect(Collectors.toList()); } if (!mavenRepositoryNames.isEmpty()) { OCommandSQL updateAssetCommand = new OCommandSQL(UPDATE_ASSET_KIND); try (ODatabaseDocumentTx db = componentDatabaseInstance.get().connect()) { OIndex<?> bucketIdx = db.getMetadata().getIndexManager().getIndex(I_REPOSITORY_NAME); mavenRepositoryNames.forEach(repositoryName -> { log.info("Scanning maven2 repository {} for maven index file assets", repositoryName); OIdentifiable bucket = (OIdentifiable) bucketIdx.get(repositoryName); if (bucket == null) { log.warn("Unable to find bucket for {}", repositoryName); } else { int updates = db.command(updateAssetCommand).execute(bucket.getIdentity()); if (updates > 0) { log.info( "Updated {} maven index file asset(s) in repository {}: " + "set attributes.maven2.asset_kind='REPOSITORY_INDEX'", updates, repositoryName); } } }); } } } }
doc.save(); List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>( "select * from foryou"));
@Statement public List<String> selectHistoricTaskInstanceIdsByParameters(OPersistenceSession session, ListQueryParameterObject parameters) { Map<String, String> params = (Map<String, String>) parameters.getParameter(); Query q = new Query().from(getSchemaClass()); List<Object> args = new ArrayList<>(); enrichWhereByMap(session, q, session.getClass(getSchemaClass()), params, args, null); List<ODocument> docs = session.getDatabase().query(new OSQLSynchQuery<>(q.toString()), args); return docs==null?new ArrayList<String>():(List<String>)Lists.transform(docs, GET_ID_FUNCTION); } }
((OrientBaseGraph) graph).getRawGraph().query(query));
@Override public List<Record> find(final RecordQuery query) { checkOpen(); checkNotNull(query); checkType(query.getType()); String queryText = new OrientQueryBuilder( query, checkOrientClass(query.getType().getName()), recordIdObfuscator) .build(); List<ODocument> documents = db.query(new OSQLSynchQuery<ODocument>(queryText), getOrientFilter(query.getFilter())); List<Record> records = Lists.newArrayListWithCapacity(documents.size()); for (ODocument document : documents) { records.add(new OrientRecord(this, query.getType(), document)); } return records; }
@Override public Query apply(Query input) { SuspensionState state = query.getSuspensionState(); if(state!=null) input.where(Clause.clause("suspensionState", Operator.EQ, state.getStateCode())); String businessKey = query.getBusinessKey(); if(businessKey!=null) { List<ODocument> proc = session.getDatabase() .query(new OSQLSynchQuery<>("select processInstanceId from "+getSchemaClass()+" where businessKey=?", 1) , businessKey); if(proc!=null && !proc.isEmpty()) { String processInstanceId = proc.get(0).field("processInstanceId"); input.where(Clause.clause("processInstanceId", Operator.EQ, processInstanceId)); } } return input; } },"suspensionState", "businessKey");
protected void removeElement(final T element) { graph.setCurrentGraphInThreadLocal(); graph.autoStartTransaction(); final OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<ODocument>("select from index:" + recordKeyValueIndex.getName() + " where key between [" + element.getIdentity() + "] and [" + element.getIdentity() + "]"); final Collection<ODocument> entries = (Collection<ODocument>) graph.getRawGraph().query(query); for (ODocument entry : entries) { final OCompositeKey key = entry.field("key"); final List<Object> keys = key.getKeys(); underlying.remove(keys.get(1).toString(), element.getIdentity()); recordKeyValueIndex.remove(key, element.getIdentity()); } }
((OrientBaseGraph) graph).getRawGraph().query(query, queryParams.toArray()));
@Override public long count(final RecordQuery query) { checkOpen(); checkNotNull(query); checkType(query.getType()); if (query.getFilter().isEmpty()) { return db.countClass(query.getType().getName()); } String queryText = new OrientQueryBuilder( query, checkOrientClass(query.getType().getName()), recordIdObfuscator) .withCount(true) .build(); List<ODocument> results = db.query(new OSQLSynchQuery<>(queryText), getOrientFilter(query.getFilter())); return results.get(0).field("COUNT"); }
private OIndex<?> buildKeyValueIndex(final ODocument metadata) { final OIndexFactory factory = OIndexes.getFactory(OClass.INDEX_TYPE.DICTIONARY.toString(), null); final OIndex<?> recordKeyValueIndex = new OIndexTxAwareOneValue(graph.getRawGraph(), (OIndex<OIdentifiable>) graph .getRawGraph() .getMetadata() .getIndexManager() .createIndex("__@recordmap@___" + underlying.getName(), OClass.INDEX_TYPE.DICTIONARY.toString(), new OSimpleKeyIndexDefinition(factory.getLastVersion(), OType.LINK, OType.STRING), null, null, null)); final List<ODocument> entries = graph.getRawGraph().query( new OSQLSynchQuery<Object>("select from index:" + underlying.getName())); for (ODocument entry : entries) { final OIdentifiable rid = entry.field("rid"); if (rid != null) recordKeyValueIndex.put(new OCompositeKey(rid, entry.field("key")), rid); } metadata.field(CONFIG_RECORD_MAP_NAME, recordKeyValueIndex.getName()); return recordKeyValueIndex; }