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),
24
25 RowListLookup(RowListLookupNode),
26
27 RowRangeScan(RowRangeScanNode),
28
29 Aggregate(AggregateNode),
30 Assert(AssertNode),
31 Distinct(DistinctNode),
32 Filter(FilterNode),
33 Gate(GateNode),
34 JoinInner(JoinInnerNode),
35 JoinLeft(JoinLeftNode),
36 JoinNatural(JoinNaturalNode),
37 Append(AppendQueryNode),
38 Take(TakeNode),
39 Sort(SortNode),
40 Map(MapNode),
41 Extend(ExtendNode),
42 Patch(PatchNode),
43 Apply(ApplyNode),
44 InlineData(InlineDataNode),
45 Generator(GeneratorNode),
46 Window(WindowNode),
47
48 Variable(VariableNode),
49 Environment(EnvironmentNode),
50
51 Scalarize(ScalarizeNode),
52
53 RunTests(RunTestsNode),
54
55 CallFunction(CallFunctionNode),
56}