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
7namespace duckdb {
8
9unique_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