risingwave_batch_executors/
executor.rs

1// Copyright 2025 RisingWave Labs
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15pub use risingwave_batch::executor::*;
16
17pub mod aggregation;
18mod azblob_file_scan;
19mod delete;
20mod expand;
21mod filter;
22mod gcs_file_scan;
23mod generic_exchange;
24mod group_top_n;
25mod hash_agg;
26mod hop_window;
27mod iceberg_scan;
28mod insert;
29mod join;
30mod limit;
31mod log_row_seq_scan;
32mod max_one_row;
33mod merge_sort;
34mod merge_sort_exchange;
35mod mysql_query;
36mod order_by;
37mod postgres_query;
38mod project;
39mod project_set;
40mod row_seq_scan;
41mod s3_file_scan;
42mod sort_agg;
43mod sort_over_window;
44mod source;
45mod sys_row_seq_scan;
46mod table_function;
47pub mod test_utils;
48mod top_n;
49mod union;
50mod update;
51mod utils;
52mod values;
53mod vector_index_nearest;
54
55use azblob_file_scan::AzblobFileScanExecutorBuilder;
56pub use delete::*;
57pub use expand::*;
58pub use filter::*;
59use gcs_file_scan::GcsFileScanExecutorBuilder;
60pub use generic_exchange::*;
61pub use group_top_n::*;
62pub use hash_agg::*;
63pub use hop_window::*;
64pub use iceberg_scan::*;
65pub use insert::*;
66pub use join::*;
67pub use limit::*;
68use log_row_seq_scan::LogStoreRowSeqScanExecutorBuilder;
69pub use max_one_row::*;
70pub use merge_sort::*;
71pub use merge_sort_exchange::*;
72pub use mysql_query::*;
73pub use order_by::*;
74pub use postgres_query::*;
75pub use project::*;
76pub use project_set::*;
77pub use row_seq_scan::*;
78use s3_file_scan::FileScanExecutorBuilder;
79pub use sort_agg::*;
80pub use sort_over_window::SortOverWindowExecutor;
81pub use source::*;
82use sys_row_seq_scan::SysRowSeqScanExecutorBuilder;
83pub use table_function::*;
84pub use top_n::TopNExecutor;
85pub use union::*;
86pub use update::*;
87pub use utils::*;
88pub use values::*;
89use vector_index_nearest::VectorIndexNearestExecutorBuilder;
90
91register_executor!(RowSeqScan, RowSeqScanExecutorBuilder);
92register_executor!(Insert, InsertExecutor);
93register_executor!(Delete, DeleteExecutor);
94register_executor!(Exchange, GenericExchangeExecutorBuilder);
95register_executor!(Update, UpdateExecutor);
96register_executor!(Filter, FilterExecutor);
97register_executor!(Project, ProjectExecutor);
98register_executor!(SortAgg, SortAggExecutor);
99register_executor!(Sort, SortExecutor);
100register_executor!(TopN, TopNExecutor);
101register_executor!(GroupTopN, GroupTopNExecutorBuilder);
102register_executor!(Limit, LimitExecutor);
103register_executor!(Values, ValuesExecutor);
104register_executor!(NestedLoopJoin, NestedLoopJoinExecutor);
105register_executor!(HashJoin, HashJoinExecutor<()>);
106register_executor!(HashAgg, HashAggExecutorBuilder);
107register_executor!(MergeSortExchange, MergeSortExchangeExecutorBuilder);
108register_executor!(TableFunction, TableFunctionExecutorBuilder);
109register_executor!(HopWindow, HopWindowExecutor);
110register_executor!(SysRowSeqScan, SysRowSeqScanExecutorBuilder);
111register_executor!(Expand, ExpandExecutor);
112register_executor!(LocalLookupJoin, LocalLookupJoinExecutorBuilder);
113register_executor!(DistributedLookupJoin, DistributedLookupJoinExecutorBuilder);
114register_executor!(ProjectSet, ProjectSetExecutor);
115register_executor!(Union, UnionExecutor);
116register_executor!(Source, SourceExecutor);
117register_executor!(SortOverWindow, SortOverWindowExecutor);
118register_executor!(MaxOneRow, MaxOneRowExecutor);
119register_executor!(FileScan, FileScanExecutorBuilder);
120register_executor!(GcsFileScan, GcsFileScanExecutorBuilder);
121register_executor!(AzblobFileScan, AzblobFileScanExecutorBuilder);
122register_executor!(IcebergScan, IcebergScanExecutorBuilder);
123register_executor!(PostgresQuery, PostgresQueryExecutorBuilder);
124register_executor!(MysqlQuery, MySqlQueryExecutorBuilder);
125register_executor!(LogRowSeqScan, LogStoreRowSeqScanExecutorBuilder);
126register_executor!(VectorIndexNearest, VectorIndexNearestExecutorBuilder);