1use crate::nodes::{
5 AggregateNode, AppendQueryNode, ApplyNode, AssertNode, CallFunctionNode, DictionaryScanNode, DistinctNode,
6 EnvironmentNode, ExtendNode, FilterNode, GateNode, GeneratorNode, IndexScanNode, InlineDataNode, JoinInnerNode,
7 JoinLeftNode, JoinNaturalNode, MapNode, PatchNode, RemoteScanNode, RingBufferScanNode, RowListLookupNode,
8 RowPointLookupNode, RowRangeScanNode, RunTestsNode, ScalarizeNode, SeriesScanNode, SortNode, TableScanNode,
9 TableVirtualScanNode, TakeNode, VariableNode, ViewScanNode, WindowNode,
10};
11
12#[derive(Debug, Clone)]
13pub enum QueryPlan {
14 RemoteScan(RemoteScanNode),
15 TableScan(TableScanNode),
16 TableVirtualScan(TableVirtualScanNode),
17 ViewScan(ViewScanNode),
18 RingBufferScan(RingBufferScanNode),
19 DictionaryScan(DictionaryScanNode),
20 SeriesScan(SeriesScanNode),
21 IndexScan(IndexScanNode),
22
23 RowPointLookup(RowPointLookupNode),
25 RowListLookup(RowListLookupNode),
27 RowRangeScan(RowRangeScanNode),
29
30 Aggregate(AggregateNode),
31 Assert(AssertNode),
32 Distinct(DistinctNode),
33 Filter(FilterNode),
34 Gate(GateNode),
35 JoinInner(JoinInnerNode),
36 JoinLeft(JoinLeftNode),
37 JoinNatural(JoinNaturalNode),
38 Append(AppendQueryNode),
39 Take(TakeNode),
40 Sort(SortNode),
41 Map(MapNode),
42 Extend(ExtendNode),
43 Patch(PatchNode),
44 Apply(ApplyNode),
45 InlineData(InlineDataNode),
46 Generator(GeneratorNode),
47 Window(WindowNode),
48
49 Variable(VariableNode),
50 Environment(EnvironmentNode),
51
52 Scalarize(ScalarizeNode),
53
54 RunTests(RunTestsNode),
55
56 CallFunction(CallFunctionNode),
57}