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

public interface OExecutionStepInternal
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)

Author:
Luigi Dell'Aquila l.dellaquila - at - orientdb.com