1 | #include "duckdb/optimizer/filter_pushdown.hpp" |
---|---|
2 | #include "duckdb/optimizer/optimizer.hpp" |
3 | #include "duckdb/planner/expression/bound_columnref_expression.hpp" |
4 | #include "duckdb/planner/operator/logical_empty_result.hpp" |
5 | #include "duckdb/planner/operator/logical_limit.hpp" |
6 | |
7 | namespace duckdb { |
8 | |
9 | unique_ptr<LogicalOperator> FilterPushdown::PushdownLimit(unique_ptr<LogicalOperator> op) { |
10 | auto &limit = op->Cast<LogicalLimit>(); |
11 | |
12 | if (!limit.limit && limit.limit_val == 0) { |
13 | return make_uniq<LogicalEmptyResult>(args: std::move(op)); |
14 | } |
15 | |
16 | return FinishPushdown(op: std::move(op)); |
17 | } |
18 | |
19 | } // namespace duckdb |
20 |