//===----------------------------------------------------------------------===// // DuckDB // // duckdb/parser/parsed_data/vacuum_info.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/parser/parsed_data/parse_info.hpp" #include "duckdb/parser/tableref.hpp" #include "duckdb/planner/tableref/bound_basetableref.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/optional_ptr.hpp" namespace duckdb { struct VacuumOptions { VacuumOptions() : vacuum(false), analyze(false) { } bool vacuum; bool analyze; }; struct VacuumInfo : public ParseInfo { public: explicit VacuumInfo(VacuumOptions options); const VacuumOptions options; public: bool has_table; unique_ptr ref; optional_ptr table; unordered_map column_id_map; vector columns; public: unique_ptr Copy(); void Serialize(Serializer &serializer) const; static unique_ptr Deserialize(Deserializer &deserializer); }; } // namespace duckdb