//===----------------------------------------------------------------------===// // DuckDB // // duckdb/parser/parsed_data/create_sequence_info.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/parser/parsed_data/create_info.hpp" #include "duckdb/common/limits.hpp" namespace duckdb { enum class SequenceInfo : uint8_t { // Sequence start SEQ_START, // Sequence increment SEQ_INC, // Sequence minimum value SEQ_MIN, // Sequence maximum value SEQ_MAX, // Sequence cycle option SEQ_CYCLE, // Sequence owner table SEQ_OWN }; struct CreateSequenceInfo : public CreateInfo { CreateSequenceInfo(); //! Sequence name to create string name; //! Usage count of the sequence uint64_t usage_count; //! The increment value int64_t increment; //! The minimum value of the sequence int64_t min_value; //! The maximum value of the sequence int64_t max_value; //! The start value of the sequence int64_t start_value; //! Whether or not the sequence cycles bool cycle; public: unique_ptr Copy() const override; public: DUCKDB_API static unique_ptr Deserialize(Deserializer &deserializer); protected: void SerializeInternal(Serializer &) const override; }; } // namespace duckdb