@Override public OResult next() { OResultInternal result = (OResultInternal) source.next(); Object value = expression.execute(result, ctx); result.setMetadata(varname.getStringValue(), value); return result; }
@Override protected void fetchNextEntryPoints(OCommandContext ctx, int nRecords) { OResultSet nextN = getPrev().get().syncPull(ctx, nRecords); while (nextN.hasNext()) { while (nextN.hasNext()) { OResult item = toTraverseResult(nextN.next()); if(item != null){ List<ORID> stack = new ArrayList<>(); item.getIdentity().ifPresent(x -> stack.add(x)); ((OResultInternal) item).setMetadata("$stack", stack); List<OIdentifiable> path = new ArrayList<>(); path.add(item.getIdentity().get()); ((OResultInternal) item).setMetadata("$path", path); if (item != null && item.isElement() && !traversed.contains(item.getElement().get().getIdentity())) { tryAddEntryPoint(item, ctx); } } } nextN = getPrev().get().syncPull(ctx, nRecords); } }
@Override protected void fetchNextEntryPoints(OCommandContext ctx, int nRecords) { OResultSet nextN = getPrev().get().syncPull(ctx, nRecords); while (nextN.hasNext()) { OResult item = toTraverseResult(nextN.next()); if (item == null) { continue; } ((OResultInternal) item).setMetadata("$depth", 0); List stack = new ArrayList(); item.getIdentity().ifPresent(x -> stack.add(x)); ((OResultInternal) item).setMetadata("$stack", stack); List<OIdentifiable> path = new ArrayList<>(); if (item.getIdentity().isPresent()) { path.add(item.getIdentity().get()); } else if (item.getProperty("@rid") != null) { path.add(item.getProperty("@rid")); } ((OResultInternal) item).setMetadata("$path", path); if (item != null && item.isElement() && !traversed.contains(item.getElement().get().getIdentity())) { tryAddEntryPoint(item, ctx); traversed.add(item.getElement().get().getIdentity()); } else if (item.getProperty("@rid") != null && item.getProperty("@rid") instanceof OIdentifiable) { tryAddEntryPoint(item, ctx); traversed.add(((OIdentifiable) item.getProperty("@rid")).getIdentity()); } } }
if (iRecord.type == ORecordOperation.UPDATED) { OResultInternal before = copy(iRecord.before); record.setMetadata(BEFORE_METADATA_KEY, before); record.setMetadata(BEFORE_METADATA_KEY, record); switch (iRecord.type) { case ORecordOperation.DELETED: record.setMetadata(BEFORE_METADATA_KEY, null); clientListener.onDelete(execDb, record); break; case ORecordOperation.UPDATED: OResult before = (OResult) record.getMetadata(BEFORE_METADATA_KEY); record.setMetadata(BEFORE_METADATA_KEY, null); clientListener.onUpdate(execDb, before, record); break;
private OResult copy(OResult nextItem) { OResultInternal result = new OResultInternal(); for (String prop : nextItem.getPropertyNames()) { result.setProperty(prop, nextItem.getProperty(prop)); } for (String md : nextItem.getMetadataKeys()) { result.setMetadata(md, nextItem.getMetadata(md)); } return result; } });
private void calculate(OResultInternal result, OCommandContext ctx) { OBasicCommandContext subCtx = new OBasicCommandContext(); subCtx.setDatabase(ctx.getDatabase()); subCtx.setParentWithoutOverridingChild(ctx); OInternalExecutionPlan subExecutionPlan; if (query.toString().contains("?")) { //with positional parameters, you cannot know if a parameter has the same ordinal as the one cached subExecutionPlan = query.createExecutionPlanNoCache(subCtx, profilingEnabled); } else { subExecutionPlan = query.createExecutionPlan(subCtx, profilingEnabled); } result.setMetadata(varName.getStringValue(), toList(new OLocalResultSet(subExecutionPlan))); }
result.setMetadata(key, iRecord.getMetadata(key));
document.setMetadata(fieldName, null); } else { final Object value = deserializeValue(bytes, type); document.setMetadata(fieldName, value);
OResultInternal rs = new OResultInternal(startingPoint); rs.setMetadata("$depth", depth); rs.setMetadata("$matchPath", pathToHere == null ? Collections.EMPTY_LIST : pathToHere);