//===----------------------------------------------------------------------===// // DuckDB // // duckdb/planner/operator/logical_extension_operator.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/planner/logical_operator.hpp" #include "duckdb/planner/operator_extension.hpp" namespace duckdb { struct LogicalExtensionOperator : public LogicalOperator { public: static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR; public: LogicalExtensionOperator() : LogicalOperator(LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR) { } LogicalExtensionOperator(vector> expressions) : LogicalOperator(LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR, std::move(expressions)) { } static unique_ptr Deserialize(LogicalDeserializationState &state, FieldReader &reader); virtual unique_ptr CreatePlan(ClientContext &context, PhysicalPlanGenerator &generator) = 0; }; } // namespace duckdb