//===----------------------------------------------------------------------===// // DuckDB // // duckdb/planner/operator/logical_show.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/planner/logical_operator.hpp" namespace duckdb { class LogicalShow : public LogicalOperator { LogicalShow() : LogicalOperator(LogicalOperatorType::LOGICAL_SHOW) {}; public: static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_SHOW; public: explicit LogicalShow(unique_ptr plan) : LogicalOperator(LogicalOperatorType::LOGICAL_SHOW) { children.push_back(std::move(plan)); } vector types_select; vector aliases; public: void Serialize(FieldWriter &writer) const override; static unique_ptr Deserialize(LogicalDeserializationState &state, FieldReader &reader); protected: void ResolveTypes() override { types = {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}; } vector GetColumnBindings() override { return GenerateColumnBindings(0, types.size()); } }; } // namespace duckdb