//===----------------------------------------------------------------------===// // DuckDB // // duckdb/optimizer/in_clause_rewriter.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/planner/logical_operator_visitor.hpp" namespace duckdb { class ClientContext; class Optimizer; class InClauseRewriter : public LogicalOperatorVisitor { public: explicit InClauseRewriter(ClientContext &context, Optimizer &optimizer) : context(context), optimizer(optimizer) { } ClientContext &context; Optimizer &optimizer; unique_ptr root; public: unique_ptr Rewrite(unique_ptr op); unique_ptr VisitReplace(BoundOperatorExpression &expr, unique_ptr *expr_ptr) override; }; } // namespace duckdb