@Override public void reset(OCommandContext ctx) { result.clear(); next = 0; super.reset(ctx); executeInternal(); }
@Override public OResultSet execute(ODatabase db, Object[] args, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); Map<Object, Object> params = new HashMap<>(); if (args != null) { for (int i = 0; i < args.length; i++) { params.put(i, args[i]); } } ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet execute(ODatabase db, Object[] args, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); Map<Object, Object> params = new HashMap<>(); if (args != null) { for (int i = 0; i < args.length; i++) { params.put(i, args[i]); } } ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet execute(ODatabase db, Object[] args, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); Map<Object, Object> params = new HashMap<>(); if (args != null) { for (int i = 0; i < args.length; i++) { params.put(i, args[i]); } } ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet execute(ODatabase db, Map params, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet execute(ODatabase db, Map params, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet execute(ODatabase db, Map params, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet execute(ODatabase db, Map params, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); ctx.setInputParameters(params); OUpdateExecutionPlan executionPlan = createExecutionPlan(ctx, false); executionPlan.executeInternal(); return new OLocalResultSet(executionPlan); }
@Override public OResultSet syncPull(OCommandContext ctx, int nRecords) throws OTimeoutException { if (!executed) { if (plan instanceof OInsertExecutionPlan) { ((OInsertExecutionPlan) plan).executeInternal(); } else if (plan instanceof ODeleteExecutionPlan) { ((ODeleteExecutionPlan) plan).executeInternal(); } else if (plan instanceof OUpdateExecutionPlan) { ((OUpdateExecutionPlan) plan).executeInternal(); } else if (plan instanceof ODDLExecutionPlan) { ((ODDLExecutionPlan) plan).executeInternal((OBasicCommandContext) ctx); } else if (plan instanceof OSingleOpExecutionPlan) { ((OSingleOpExecutionPlan) plan).executeInternal((OBasicCommandContext) ctx); } executed = true; } return plan.fetchNext(nRecords); }
@Override public OResultSet execute(ODatabase db, Object[] args, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); Map<Object, Object> params = new HashMap<>(); if (args != null) { for (int i = 0; i < args.length; i++) params.put(i, args[i]); } ctx.setInputParameters(params); OExecutionPlan executionPlan = statement.createExecutionPlan(ctx, true); if(executionPlan instanceof OUpdateExecutionPlan){ ((OUpdateExecutionPlan) executionPlan).executeInternal(); } OLocalResultSet rs = new OLocalResultSet((OInternalExecutionPlan) executionPlan); while (rs.hasNext()) { rs.next(); } OExplainResultSet result = new OExplainResultSet( rs.getExecutionPlan().orElseThrow(() -> new OCommandExecutionException("Cannot profile command: " + statement))); rs.close(); return result; }
@Override public OResultSet execute(ODatabase db, Object[] args, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); Map<Object, Object> params = new HashMap<>(); if (args != null) { for (int i = 0; i < args.length; i++) { params.put(i, args[i]); } } ctx.setInputParameters(params); OIfExecutionPlan executionPlan = createExecutionPlan(ctx, false); OExecutionStepInternal last = executionPlan.executeUntilReturn(); if (last == null) { last = new EmptyStep(ctx, false); } if (isIdempotent()) { OSelectExecutionPlan finalPlan = new OSelectExecutionPlan(ctx); finalPlan.chain(last); return new OLocalResultSet(finalPlan); } else { OUpdateExecutionPlan finalPlan = new OUpdateExecutionPlan(ctx); finalPlan.chain(last); finalPlan.executeInternal(); return new OLocalResultSet(finalPlan); } }
@Override public OResultSet execute(ODatabase db, Map params, OCommandContext parentCtx) { OBasicCommandContext ctx = new OBasicCommandContext(); if (parentCtx != null) { ctx.setParentWithoutOverridingChild(parentCtx); } ctx.setDatabase(db); ctx.setInputParameters(params); OIfExecutionPlan executionPlan = createExecutionPlan(ctx, false); OExecutionStepInternal last = executionPlan.executeUntilReturn(); if (last == null) { last = new EmptyStep(ctx, false); } if (isIdempotent()) { OSelectExecutionPlan finalPlan = new OSelectExecutionPlan(ctx); finalPlan.chain(last); return new OLocalResultSet(finalPlan); } else { OUpdateExecutionPlan finalPlan = new OUpdateExecutionPlan(ctx); finalPlan.chain(last); finalPlan.executeInternal(); return new OLocalResultSet(finalPlan); } }