
public interface OExecutionStepInternal extends OExecutionStep
Execution Steps are the building blocks of a query execution plan
Typically an execution plan is made of a chain of steps. The execution is pull-based, meaning that the result set that the client iterates is conceptually the one returned by last step of the execution plan
At each `next()` invocation, the step typically fetches a record from the previous (upstream) step, does its elaboration (eg. for a filtering step, it can discard the record and fetch another one if it doesn't match the conditions) and returns the elaborated step
The invocation of syncPull(ctx, nResults) has to return a result set of at most nResults records. If the upstream
(the previous steps) return more records, they have to be returned by next call of syncPull(). The returned result
set can have less than nResults records ONLY if current step cannot produce any more records (eg. the upstream does not have any
more records)
| Modifier and Type | Method and Description |
|---|---|
static void |
basicDeserialize(OResult serialized,
OExecutionStepInternal step) |
static OResultInternal |
basicSerialize(OExecutionStepInternal step) |
default boolean |
canBeCached() |
void |
close() |
default OExecutionStep |
copy(OCommandContext ctx) |
default void |
deserialize(OResult fromResult) |
default String |
getDescription() |
static String |
getIndent(int depth,
int indent) |
default String |
getName() |
default List<OExecutionPlan> |
getSubExecutionPlans() |
default List<OExecutionStep> |
getSubSteps() |
default String |
getTargetNode() |
default String |
getType() |
default String |
prettyPrint(int depth,
int indent) |
default void |
reset() |
void |
sendTimeout() |
default OResult |
serialize() |
void |
setNext(OExecutionStepInternal step) |
void |
setPrevious(OExecutionStepInternal step) |
OResultSet |
syncPull(OCommandContext ctx,
int nRecords) |
getCost, toResultOResultSet syncPull(OCommandContext ctx, int nRecords) throws OTimeoutException
OTimeoutExceptionvoid sendTimeout()
void setPrevious(OExecutionStepInternal step)
void setNext(OExecutionStepInternal step)
void close()
static String getIndent(int depth, int indent)
default String prettyPrint(int depth, int indent)
default String getName()
getName in interface OExecutionStepdefault String getType()
getType in interface OExecutionStepdefault String getDescription()
getDescription in interface OExecutionStepdefault String getTargetNode()
getTargetNode in interface OExecutionStepdefault List<OExecutionStep> getSubSteps()
getSubSteps in interface OExecutionStepdefault List<OExecutionPlan> getSubExecutionPlans()
default void reset()
default OResult serialize()
default void deserialize(OResult fromResult)
static OResultInternal basicSerialize(OExecutionStepInternal step)
static void basicDeserialize(OResult serialized, OExecutionStepInternal step) throws ClassNotFoundException, IllegalAccessException, InstantiationException
default OExecutionStep copy(OCommandContext ctx)
default boolean canBeCached()
Copyright © 2009–2025 OrientDB. All rights reserved.