Skip to main content

reifydb_rql/
query.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4use 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}