//===----------------------------------------------------------------------===// // DuckDB // // duckdb/planner/operator/logical_execute.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/main/prepared_statement_data.hpp" #include "duckdb/planner/logical_operator.hpp" namespace duckdb { class LogicalExecute : public LogicalOperator { public: static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_EXECUTE; public: explicit LogicalExecute(shared_ptr prepared_p) : LogicalOperator(LogicalOperatorType::LOGICAL_EXECUTE), prepared(std::move(prepared_p)) { D_ASSERT(prepared); types = prepared->types; } shared_ptr prepared; public: void Serialize(FieldWriter &writer) const override; static unique_ptr Deserialize(LogicalDeserializationState &state, FieldReader &reader); //! Skips the serialization check in VerifyPlan bool SupportSerialization() const override { return false; } protected: void ResolveTypes() override { // already resolved } vector GetColumnBindings() override { return GenerateColumnBindings(0, types.size()); } }; } // namespace duckdb