Interface OExecutionStepInternal
- All Known Implementing Classes:
AbstractExecutionStep,AbstractTraverseStep,AbstractUnrollStep,AccumulatingTimeoutStep,AggregateProjectionCalculationStep,BatchStep,BreadthFirstTraverseStep,CartesianProductStep,CastToEdgeStep,CastToVertexStep,CheckClassTypeStep,CheckClusterTypeStep,CheckRecordTypeStep,CheckSafeDeleteStep,ConvertToResultInternalStep,ConvertToUpdatableResultStep,CopyDocumentStep,CopyRecordContentBeforeUpdateStep,CountFromClassStep,CountFromIndexStep,CountFromIndexWithKeyStep,CountStep,CreateEdgesStep,CreateRecordStep,DeleteFromIndexStep,DeleteStep,DepthFirstTraverseStep,DistinctExecutionStep,DistributedExecutionStep,EmptyDataGeneratorStep,EmptyStep,ExpandStep,FetchEdgesFromToVerticesStep,FetchEdgesToVerticesStep,FetchFromClassExecutionStep,FetchFromClusterExecutionStep,FetchFromClustersExecutionStep,FetchFromDatabaseMetadataStep,FetchFromDistributedMetadataStep,FetchFromIndexedFunctionStep,FetchFromIndexStep,FetchFromIndexValuesStep,FetchFromRidsStep,FetchFromStorageMetadataStep,FetchFromVariableStep,FetchFromViewExecutionStep,FetchTemporaryFromTxStep,FilterByClassStep,FilterByClustersStep,FilterNotMatchPatternStep,FilterStep,FindReferencesStep,ForEachStep,GetValueFromIndexEntryStep,GlobalLetExpressionStep,GlobalLetQueryStep,GuaranteeEmptyCountStep,IfStep,InsertIntoIndexStep,InsertValuesStep,LetExpressionStep,LetQueryStep,LimitExecutionStep,LockRecordStep,MatchFirstStep,MatchPrefetchStep,MatchStep,MoveVertexStep,OptionalMatchStep,OrderByStep,ParallelExecStep,ProjectionCalculationStep,RemoveEdgePointersStep,RemoveEmptyOptionalsStep,RetryStep,ReturnMatchElementsStep,ReturnMatchPathElementsStep,ReturnMatchPathsStep,ReturnMatchPatternsStep,ReturnStep,SaveElementStep,ScriptLineStep,SetDocumentClassStep,SkipExecutionStep,SubQueryStep,TimeoutStep,UnlockRecordStep,UnwindStep,UnwrapPreviousValueStep,UpdateContentStep,UpdateEdgePointersStep,UpdateMergeStep,UpdateRemoveStep,UpdateSetStep,UpsertStep,WhileMatchStep,WhileStep
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)
- Author:
- Luigi Dell'Aquila l.dellaquila - at - orientdb.com
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidbasicDeserialize(OResult serialized, OExecutionStepInternal step) static OResultInternaldefault booleandefault OExecutionStepInternalcopy(OCommandContext ctx) default voiddeserialize(OResult fromResult) static voidfillIndexes(OExecutionStepInternal step, Set<String> indexes) static StringgetIndent(OPrintContext ctx) default StringgetName()default List<OInternalExecutionPlan> default List<OExecutionStepInternal> default Stringdefault StringgetType()default StringprettyPrint(OPrintContext ctx) default OResultdefault voidserializeToResult(OResultInternal result, OToResultContext ctx) voidstart(OCommandContext ctx) default OResulttoResult()default OResulttoResult(OToResultContext ctx)
-
Method Details
-
start
- Throws:
OTimeoutException
-
setPrevious
-
getIndent
-
prettyPrint
-
getName
-
getType
-
getTargetNode
-
getSubSteps
-
getSubExecutionPlans
-
serialize
-
deserialize
-
basicSerialize
-
basicDeserialize
static void basicDeserialize(OResult serialized, OExecutionStepInternal step) throws ClassNotFoundException, IllegalAccessException, InstantiationException -
copy
-
canBeCached
default boolean canBeCached() -
toResult
-
serializeToResult
-
fillIndexes
-
toResult
-