//===----------------------------------------------------------------------===// // DuckDB // // duckdb/parser/parsed_data/alter_scalar_function_info.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/function/function_set.hpp" #include "duckdb/function/scalar_function.hpp" #include "duckdb/parser/parsed_data/alter_info.hpp" namespace duckdb { //===--------------------------------------------------------------------===// // Alter Scalar Function //===--------------------------------------------------------------------===// enum class AlterScalarFunctionType : uint8_t { INVALID = 0, ADD_FUNCTION_OVERLOADS = 1 }; struct AlterScalarFunctionInfo : public AlterInfo { AlterScalarFunctionInfo(AlterScalarFunctionType type, AlterEntryData data); virtual ~AlterScalarFunctionInfo() override; AlterScalarFunctionType alter_scalar_function_type; public: CatalogType GetCatalogType() const override; void Serialize(FieldWriter &writer) const override; static unique_ptr Deserialize(FieldReader &reader); }; //===--------------------------------------------------------------------===// // AddScalarFunctionOverloadInfo //===--------------------------------------------------------------------===// struct AddScalarFunctionOverloadInfo : public AlterScalarFunctionInfo { AddScalarFunctionOverloadInfo(AlterEntryData data, ScalarFunctionSet new_overloads); ~AddScalarFunctionOverloadInfo() override; ScalarFunctionSet new_overloads; public: unique_ptr Copy() const override; }; } // namespace duckdb