From 6eca4237f2efa8d3f1b15a9d21d5e345ac3e59e3 Mon Sep 17 00:00:00 2001 From: luofucong Date: Fri, 1 Sep 2023 16:02:48 +0800 Subject: [PATCH 1/6] feat: alter region request --- c++/greptime/v1/region/server.pb.cc | 347 ++++++-- c++/greptime/v1/region/server.pb.h | 232 ++++++ .../java/io/greptime/v1/region/Server.java | 744 ++++++++++++++++-- proto/greptime/v1/region/server.proto | 12 +- 4 files changed, 1206 insertions(+), 129 deletions(-) diff --git a/c++/greptime/v1/region/server.pb.cc b/c++/greptime/v1/region/server.pb.cc index 4bd9d252..60498bca 100644 --- a/c++/greptime/v1/region/server.pb.cc +++ b/c++/greptime/v1/region/server.pb.cc @@ -223,7 +223,10 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT PROTOBUF_CONSTEXPR AlterRequest::AlterRequest( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.region_id_)*/uint64_t{0u} - , /*decltype(_impl_._cached_size_)*/{}} {} + , /*decltype(_impl_.schema_version_)*/uint64_t{0u} + , /*decltype(_impl_.kind_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} struct AlterRequestDefaultTypeInternal { PROTOBUF_CONSTEXPR AlterRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} @@ -418,10 +421,14 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _internal_metadata_), ~0u, // no _extensions_ - ~0u, // no _oneof_case_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _impl_._oneof_case_[0]), ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _impl_.region_id_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _impl_.schema_version_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _impl_.kind_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::region::FlushRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -465,9 +472,9 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 112, -1, -1, sizeof(::greptime::v1::region::OpenRequest)}, { 123, -1, -1, sizeof(::greptime::v1::region::CloseRequest)}, { 130, -1, -1, sizeof(::greptime::v1::region::AlterRequest)}, - { 137, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, - { 144, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, - { 151, -1, -1, sizeof(::greptime::v1::region::ColumnDef)}, + { 141, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, + { 148, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, + { 155, -1, -1, sizeof(::greptime::v1::region::ColumnDef)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -494,69 +501,74 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\037greptime/v1/region/server.proto\022\022grept" "ime.v1.region\032\030greptime/v1/common.proto\032" - "\025greptime/v1/row.proto\"8\n\023RegionRequestH" - "eader\022\020\n\010trace_id\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004" - "\"\245\004\n\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.gre" - "ptime.v1.region.RegionRequestHeader\0225\n\007i" - "nserts\030\003 \001(\0132\".greptime.v1.region.Insert" - "RequestsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v" - "1.region.DeleteRequestsH\000\0223\n\006create\030\005 \001(" - "\0132!.greptime.v1.region.CreateRequestH\000\022/" - "\n\004drop\030\006 \001(\0132\037.greptime.v1.region.DropRe" - "questH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.regi" - "on.OpenRequestH\000\0221\n\005close\030\010 \001(\0132 .grepti" - "me.v1.region.CloseRequestH\000\0221\n\005alter\030\t \001" - "(\0132 .greptime.v1.region.AlterRequestH\000\0221" - "\n\005flush\030\n \001(\0132 .greptime.v1.region.Flush" - "RequestH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1" - ".region.CompactRequestH\000B\006\n\004body\"T\n\016Regi" - "onResponse\022+\n\006header\030\001 \001(\0132\033.greptime.v1" - ".ResponseHeader\022\025\n\raffected_rows\030\002 \001(\004\"E" - "\n\016InsertRequests\0223\n\010requests\030\001 \003(\0132!.gre" - "ptime.v1.region.InsertRequest\"E\n\016DeleteR" - "equests\0223\n\010requests\030\001 \003(\0132!.greptime.v1." - "region.DeleteRequest\"C\n\rInsertRequest\022\021\n" - "\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptim" - "e.v1.Rows\"C\n\rDeleteRequest\022\021\n\tregion_id\030" - "\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"/" - "\n\014QueryRequest\022\021\n\tregion_id\030\001 \001(\004\022\014\n\004pla" - "n\030\002 \001(\014\"\253\002\n\rCreateRequest\022\021\n\tregion_id\030\001" - " \001(\004\022\016\n\006engine\030\002 \001(\t\0222\n\013column_defs\030\003 \003(" - "\0132\035.greptime.v1.region.ColumnDef\022\023\n\013prim" - "ary_key\030\004 \003(\r\022\034\n\024create_if_not_exists\030\005 " - "\001(\010\022\017\n\007catalog\030\006 \001(\t\022\016\n\006schema\030\007 \001(\t\022\?\n\007" - "options\030\010 \003(\0132..greptime.v1.region.Creat" - "eRequest.OptionsEntry\032.\n\014OptionsEntry\022\013\n" - "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\" \n\013DropReq" - "uest\022\021\n\tregion_id\030\001 \001(\004\"\300\001\n\013OpenRequest\022" - "\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007ca" - "talog\030\003 \001(\t\022\016\n\006schema\030\004 \001(\t\022=\n\007options\030\005" - " \003(\0132,.greptime.v1.region.OpenRequest.Op" - "tionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022" - "\r\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n\tre" - "gion_id\030\001 \001(\004\"!\n\014AlterRequest\022\021\n\tregion_" - "id\030\001 \001(\004\"!\n\014FlushRequest\022\021\n\tregion_id\030\001 " - "\001(\004\"#\n\016CompactRequest\022\021\n\tregion_id\030\001 \001(\004" - "\"\276\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022\021\n\tcolumn_i" - "d\030\002 \001(\r\022-\n\010datatype\030\003 \001(\0162\033.greptime.v1." - "ColumnDataType\022\023\n\013is_nullable\030\004 \001(\010\022\032\n\022d" - "efault_constraint\030\005 \001(\014\0220\n\rsemantic_type" - "\030\006 \001(\0162\031.greptime.v1.SemanticType2Y\n\006Reg" - "ion\022O\n\006Handle\022!.greptime.v1.region.Regio" - "nRequest\032\".greptime.v1.region.RegionResp" - "onseB]\n\025io.greptime.v1.regionB\006ServerZ_impl_.kind_.add_columns_; +} +const ::greptime::v1::DropColumns& +AlterRequest::_Internal::drop_columns(const AlterRequest* msg) { + return *msg->_impl_.kind_.drop_columns_; +} +void AlterRequest::set_allocated_add_columns(::greptime::v1::AddColumns* add_columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_kind(); + if (add_columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(add_columns)); + if (message_arena != submessage_arena) { + add_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, add_columns, submessage_arena); + } + set_has_add_columns(); + _impl_.kind_.add_columns_ = add_columns; + } + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AlterRequest.add_columns) +} +void AlterRequest::clear_add_columns() { + if (_internal_has_add_columns()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.kind_.add_columns_; + } + clear_has_kind(); + } +} +void AlterRequest::set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_kind(); + if (drop_columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(drop_columns)); + if (message_arena != submessage_arena) { + drop_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, drop_columns, submessage_arena); + } + set_has_drop_columns(); + _impl_.kind_.drop_columns_ = drop_columns; + } + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AlterRequest.drop_columns) +} +void AlterRequest::clear_drop_columns() { + if (_internal_has_drop_columns()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.kind_.drop_columns_; + } + clear_has_kind(); + } +} AlterRequest::AlterRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -4126,10 +4196,31 @@ AlterRequest::AlterRequest(const AlterRequest& from) AlterRequest* const _this = this; (void)_this; new (&_impl_) Impl_{ decltype(_impl_.region_id_){} - , /*decltype(_impl_._cached_size_)*/{}}; + , decltype(_impl_.schema_version_){} + , decltype(_impl_.kind_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.region_id_ = from._impl_.region_id_; + ::memcpy(&_impl_.region_id_, &from._impl_.region_id_, + static_cast(reinterpret_cast(&_impl_.schema_version_) - + reinterpret_cast(&_impl_.region_id_)) + sizeof(_impl_.schema_version_)); + clear_has_kind(); + switch (from.kind_case()) { + case kAddColumns: { + _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom( + from._internal_add_columns()); + break; + } + case kDropColumns: { + _this->_internal_mutable_drop_columns()->::greptime::v1::DropColumns::MergeFrom( + from._internal_drop_columns()); + break; + } + case KIND_NOT_SET: { + break; + } + } // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AlterRequest) } @@ -4139,8 +4230,12 @@ inline void AlterRequest::SharedCtor( (void)is_message_owned; new (&_impl_) Impl_{ decltype(_impl_.region_id_){uint64_t{0u}} + , decltype(_impl_.schema_version_){uint64_t{0u}} + , decltype(_impl_.kind_){} , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} }; + clear_has_kind(); } AlterRequest::~AlterRequest() { @@ -4154,19 +4249,48 @@ AlterRequest::~AlterRequest() { inline void AlterRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_kind()) { + clear_kind(); + } } void AlterRequest::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } +void AlterRequest::clear_kind() { +// @@protoc_insertion_point(one_of_clear_start:greptime.v1.region.AlterRequest) + switch (kind_case()) { + case kAddColumns: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.kind_.add_columns_; + } + break; + } + case kDropColumns: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.kind_.drop_columns_; + } + break; + } + case KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = KIND_NOT_SET; +} + + void AlterRequest::Clear() { // @@protoc_insertion_point(message_clear_start:greptime.v1.region.AlterRequest) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.region_id_ = uint64_t{0u}; + ::memset(&_impl_.region_id_, 0, static_cast( + reinterpret_cast(&_impl_.schema_version_) - + reinterpret_cast(&_impl_.region_id_)) + sizeof(_impl_.schema_version_)); + clear_kind(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -4184,6 +4308,30 @@ const char* AlterRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; + // .greptime.v1.AddColumns add_columns = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_add_columns(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .greptime.v1.DropColumns drop_columns = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_drop_columns(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 schema_version = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + _impl_.schema_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -4219,6 +4367,26 @@ uint8_t* AlterRequest::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_region_id(), target); } + // .greptime.v1.AddColumns add_columns = 2; + if (_internal_has_add_columns()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::add_columns(this), + _Internal::add_columns(this).GetCachedSize(), target, stream); + } + + // .greptime.v1.DropColumns drop_columns = 3; + if (_internal_has_drop_columns()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::drop_columns(this), + _Internal::drop_columns(this).GetCachedSize(), target, stream); + } + + // uint64 schema_version = 4; + if (this->_internal_schema_version() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray(4, this->_internal_schema_version(), target); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -4240,6 +4408,30 @@ size_t AlterRequest::ByteSizeLong() const { total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_region_id()); } + // uint64 schema_version = 4; + if (this->_internal_schema_version() != 0) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_schema_version()); + } + + switch (kind_case()) { + // .greptime.v1.AddColumns add_columns = 2; + case kAddColumns: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.kind_.add_columns_); + break; + } + // .greptime.v1.DropColumns drop_columns = 3; + case kDropColumns: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.kind_.drop_columns_); + break; + } + case KIND_NOT_SET: { + break; + } + } return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } @@ -4261,6 +4453,24 @@ void AlterRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P if (from._internal_region_id() != 0) { _this->_internal_set_region_id(from._internal_region_id()); } + if (from._internal_schema_version() != 0) { + _this->_internal_set_schema_version(from._internal_schema_version()); + } + switch (from.kind_case()) { + case kAddColumns: { + _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom( + from._internal_add_columns()); + break; + } + case kDropColumns: { + _this->_internal_mutable_drop_columns()->::greptime::v1::DropColumns::MergeFrom( + from._internal_drop_columns()); + break; + } + case KIND_NOT_SET: { + break; + } + } _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -4278,7 +4488,14 @@ bool AlterRequest::IsInitialized() const { void AlterRequest::InternalSwap(AlterRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_.region_id_, other->_impl_.region_id_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AlterRequest, _impl_.schema_version_) + + sizeof(AlterRequest::_impl_.schema_version_) + - PROTOBUF_FIELD_OFFSET(AlterRequest, _impl_.region_id_)>( + reinterpret_cast(&_impl_.region_id_), + reinterpret_cast(&other->_impl_.region_id_)); + swap(_impl_.kind_, other->_impl_.kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); } ::PROTOBUF_NAMESPACE_ID::Metadata AlterRequest::GetMetadata() const { diff --git a/c++/greptime/v1/region/server.pb.h b/c++/greptime/v1/region/server.pb.h index b0c36a14..c38e1f5a 100644 --- a/c++/greptime/v1/region/server.pb.h +++ b/c++/greptime/v1/region/server.pb.h @@ -35,6 +35,7 @@ #include #include "greptime/v1/common.pb.h" #include "greptime/v1/row.pb.h" +#include "greptime/v1/ddl.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_greptime_2fv1_2fregion_2fserver_2eproto @@ -2541,6 +2542,12 @@ class AlterRequest final : static const AlterRequest& default_instance() { return *internal_default_instance(); } + enum KindCase { + kAddColumns = 2, + kDropColumns = 3, + KIND_NOT_SET = 0, + }; + static inline const AlterRequest* internal_default_instance() { return reinterpret_cast( &_AlterRequest_default_instance_); @@ -2620,6 +2627,9 @@ class AlterRequest final : enum : int { kRegionIdFieldNumber = 1, + kSchemaVersionFieldNumber = 4, + kAddColumnsFieldNumber = 2, + kDropColumnsFieldNumber = 3, }; // uint64 region_id = 1; void clear_region_id(); @@ -2630,16 +2640,77 @@ class AlterRequest final : void _internal_set_region_id(uint64_t value); public: + // uint64 schema_version = 4; + void clear_schema_version(); + uint64_t schema_version() const; + void set_schema_version(uint64_t value); + private: + uint64_t _internal_schema_version() const; + void _internal_set_schema_version(uint64_t value); + public: + + // .greptime.v1.AddColumns add_columns = 2; + bool has_add_columns() const; + private: + bool _internal_has_add_columns() const; + public: + void clear_add_columns(); + const ::greptime::v1::AddColumns& add_columns() const; + PROTOBUF_NODISCARD ::greptime::v1::AddColumns* release_add_columns(); + ::greptime::v1::AddColumns* mutable_add_columns(); + void set_allocated_add_columns(::greptime::v1::AddColumns* add_columns); + private: + const ::greptime::v1::AddColumns& _internal_add_columns() const; + ::greptime::v1::AddColumns* _internal_mutable_add_columns(); + public: + void unsafe_arena_set_allocated_add_columns( + ::greptime::v1::AddColumns* add_columns); + ::greptime::v1::AddColumns* unsafe_arena_release_add_columns(); + + // .greptime.v1.DropColumns drop_columns = 3; + bool has_drop_columns() const; + private: + bool _internal_has_drop_columns() const; + public: + void clear_drop_columns(); + const ::greptime::v1::DropColumns& drop_columns() const; + PROTOBUF_NODISCARD ::greptime::v1::DropColumns* release_drop_columns(); + ::greptime::v1::DropColumns* mutable_drop_columns(); + void set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns); + private: + const ::greptime::v1::DropColumns& _internal_drop_columns() const; + ::greptime::v1::DropColumns* _internal_mutable_drop_columns(); + public: + void unsafe_arena_set_allocated_drop_columns( + ::greptime::v1::DropColumns* drop_columns); + ::greptime::v1::DropColumns* unsafe_arena_release_drop_columns(); + + void clear_kind(); + KindCase kind_case() const; // @@protoc_insertion_point(class_scope:greptime.v1.region.AlterRequest) private: class _Internal; + void set_has_add_columns(); + void set_has_drop_columns(); + + inline bool has_kind() const; + inline void clear_has_kind(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { uint64_t region_id_; + uint64_t schema_version_; + union KindUnion { + constexpr KindUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::greptime::v1::AddColumns* add_columns_; + ::greptime::v1::DropColumns* drop_columns_; + } kind_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + }; union { Impl_ _impl_; }; friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; @@ -5051,6 +5122,167 @@ inline void AlterRequest::set_region_id(uint64_t value) { // @@protoc_insertion_point(field_set:greptime.v1.region.AlterRequest.region_id) } +// .greptime.v1.AddColumns add_columns = 2; +inline bool AlterRequest::_internal_has_add_columns() const { + return kind_case() == kAddColumns; +} +inline bool AlterRequest::has_add_columns() const { + return _internal_has_add_columns(); +} +inline void AlterRequest::set_has_add_columns() { + _impl_._oneof_case_[0] = kAddColumns; +} +inline ::greptime::v1::AddColumns* AlterRequest::release_add_columns() { + // @@protoc_insertion_point(field_release:greptime.v1.region.AlterRequest.add_columns) + if (_internal_has_add_columns()) { + clear_has_kind(); + ::greptime::v1::AddColumns* temp = _impl_.kind_.add_columns_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.kind_.add_columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::greptime::v1::AddColumns& AlterRequest::_internal_add_columns() const { + return _internal_has_add_columns() + ? *_impl_.kind_.add_columns_ + : reinterpret_cast< ::greptime::v1::AddColumns&>(::greptime::v1::_AddColumns_default_instance_); +} +inline const ::greptime::v1::AddColumns& AlterRequest::add_columns() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AlterRequest.add_columns) + return _internal_add_columns(); +} +inline ::greptime::v1::AddColumns* AlterRequest::unsafe_arena_release_add_columns() { + // @@protoc_insertion_point(field_unsafe_arena_release:greptime.v1.region.AlterRequest.add_columns) + if (_internal_has_add_columns()) { + clear_has_kind(); + ::greptime::v1::AddColumns* temp = _impl_.kind_.add_columns_; + _impl_.kind_.add_columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AlterRequest::unsafe_arena_set_allocated_add_columns(::greptime::v1::AddColumns* add_columns) { + clear_kind(); + if (add_columns) { + set_has_add_columns(); + _impl_.kind_.add_columns_ = add_columns; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AlterRequest.add_columns) +} +inline ::greptime::v1::AddColumns* AlterRequest::_internal_mutable_add_columns() { + if (!_internal_has_add_columns()) { + clear_kind(); + set_has_add_columns(); + _impl_.kind_.add_columns_ = CreateMaybeMessage< ::greptime::v1::AddColumns >(GetArenaForAllocation()); + } + return _impl_.kind_.add_columns_; +} +inline ::greptime::v1::AddColumns* AlterRequest::mutable_add_columns() { + ::greptime::v1::AddColumns* _msg = _internal_mutable_add_columns(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.AlterRequest.add_columns) + return _msg; +} + +// .greptime.v1.DropColumns drop_columns = 3; +inline bool AlterRequest::_internal_has_drop_columns() const { + return kind_case() == kDropColumns; +} +inline bool AlterRequest::has_drop_columns() const { + return _internal_has_drop_columns(); +} +inline void AlterRequest::set_has_drop_columns() { + _impl_._oneof_case_[0] = kDropColumns; +} +inline ::greptime::v1::DropColumns* AlterRequest::release_drop_columns() { + // @@protoc_insertion_point(field_release:greptime.v1.region.AlterRequest.drop_columns) + if (_internal_has_drop_columns()) { + clear_has_kind(); + ::greptime::v1::DropColumns* temp = _impl_.kind_.drop_columns_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.kind_.drop_columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::greptime::v1::DropColumns& AlterRequest::_internal_drop_columns() const { + return _internal_has_drop_columns() + ? *_impl_.kind_.drop_columns_ + : reinterpret_cast< ::greptime::v1::DropColumns&>(::greptime::v1::_DropColumns_default_instance_); +} +inline const ::greptime::v1::DropColumns& AlterRequest::drop_columns() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AlterRequest.drop_columns) + return _internal_drop_columns(); +} +inline ::greptime::v1::DropColumns* AlterRequest::unsafe_arena_release_drop_columns() { + // @@protoc_insertion_point(field_unsafe_arena_release:greptime.v1.region.AlterRequest.drop_columns) + if (_internal_has_drop_columns()) { + clear_has_kind(); + ::greptime::v1::DropColumns* temp = _impl_.kind_.drop_columns_; + _impl_.kind_.drop_columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AlterRequest::unsafe_arena_set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns) { + clear_kind(); + if (drop_columns) { + set_has_drop_columns(); + _impl_.kind_.drop_columns_ = drop_columns; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AlterRequest.drop_columns) +} +inline ::greptime::v1::DropColumns* AlterRequest::_internal_mutable_drop_columns() { + if (!_internal_has_drop_columns()) { + clear_kind(); + set_has_drop_columns(); + _impl_.kind_.drop_columns_ = CreateMaybeMessage< ::greptime::v1::DropColumns >(GetArenaForAllocation()); + } + return _impl_.kind_.drop_columns_; +} +inline ::greptime::v1::DropColumns* AlterRequest::mutable_drop_columns() { + ::greptime::v1::DropColumns* _msg = _internal_mutable_drop_columns(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.AlterRequest.drop_columns) + return _msg; +} + +// uint64 schema_version = 4; +inline void AlterRequest::clear_schema_version() { + _impl_.schema_version_ = uint64_t{0u}; +} +inline uint64_t AlterRequest::_internal_schema_version() const { + return _impl_.schema_version_; +} +inline uint64_t AlterRequest::schema_version() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AlterRequest.schema_version) + return _internal_schema_version(); +} +inline void AlterRequest::_internal_set_schema_version(uint64_t value) { + + _impl_.schema_version_ = value; +} +inline void AlterRequest::set_schema_version(uint64_t value) { + _internal_set_schema_version(value); + // @@protoc_insertion_point(field_set:greptime.v1.region.AlterRequest.schema_version) +} + +inline bool AlterRequest::has_kind() const { + return kind_case() != KIND_NOT_SET; +} +inline void AlterRequest::clear_has_kind() { + _impl_._oneof_case_[0] = KIND_NOT_SET; +} +inline AlterRequest::KindCase AlterRequest::kind_case() const { + return AlterRequest::KindCase(_impl_._oneof_case_[0]); +} // ------------------------------------------------------------------- // FlushRequest diff --git a/java/src/main/java/io/greptime/v1/region/Server.java b/java/src/main/java/io/greptime/v1/region/Server.java index 78781867..ea302f84 100644 --- a/java/src/main/java/io/greptime/v1/region/Server.java +++ b/java/src/main/java/io/greptime/v1/region/Server.java @@ -12343,12 +12343,50 @@ public interface AlterRequestOrBuilder extends * @return The regionId. */ long getRegionId(); + + /** + * .greptime.v1.AddColumns add_columns = 2; + * @return Whether the addColumns field is set. + */ + boolean hasAddColumns(); + /** + * .greptime.v1.AddColumns add_columns = 2; + * @return The addColumns. + */ + io.greptime.v1.Ddl.AddColumns getAddColumns(); + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder(); + + /** + * .greptime.v1.DropColumns drop_columns = 3; + * @return Whether the dropColumns field is set. + */ + boolean hasDropColumns(); + /** + * .greptime.v1.DropColumns drop_columns = 3; + * @return The dropColumns. + */ + io.greptime.v1.Ddl.DropColumns getDropColumns(); + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + io.greptime.v1.Ddl.DropColumnsOrBuilder getDropColumnsOrBuilder(); + + /** + *
+     * The version of the schema before applying the alteration.
+     * 
+ * + * uint64 schema_version = 4; + * @return The schemaVersion. + */ + long getSchemaVersion(); + + public io.greptime.v1.region.Server.AlterRequest.KindCase getKindCase(); } /** - *
-   * TODO: implement alter request
-   * 
- * * Protobuf type {@code greptime.v1.region.AlterRequest} */ public static final class AlterRequest extends @@ -12398,6 +12436,39 @@ private AlterRequest( regionId_ = input.readUInt64(); break; } + case 18: { + io.greptime.v1.Ddl.AddColumns.Builder subBuilder = null; + if (kindCase_ == 2) { + subBuilder = ((io.greptime.v1.Ddl.AddColumns) kind_).toBuilder(); + } + kind_ = + input.readMessage(io.greptime.v1.Ddl.AddColumns.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((io.greptime.v1.Ddl.AddColumns) kind_); + kind_ = subBuilder.buildPartial(); + } + kindCase_ = 2; + break; + } + case 26: { + io.greptime.v1.Ddl.DropColumns.Builder subBuilder = null; + if (kindCase_ == 3) { + subBuilder = ((io.greptime.v1.Ddl.DropColumns) kind_).toBuilder(); + } + kind_ = + input.readMessage(io.greptime.v1.Ddl.DropColumns.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((io.greptime.v1.Ddl.DropColumns) kind_); + kind_ = subBuilder.buildPartial(); + } + kindCase_ = 3; + break; + } + case 32: { + + schemaVersion_ = input.readUInt64(); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -12432,6 +12503,47 @@ private AlterRequest( io.greptime.v1.region.Server.AlterRequest.class, io.greptime.v1.region.Server.AlterRequest.Builder.class); } + private int kindCase_ = 0; + private java.lang.Object kind_; + public enum KindCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + ADD_COLUMNS(2), + DROP_COLUMNS(3), + KIND_NOT_SET(0); + private final int value; + private KindCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static KindCase valueOf(int value) { + return forNumber(value); + } + + public static KindCase forNumber(int value) { + switch (value) { + case 2: return ADD_COLUMNS; + case 3: return DROP_COLUMNS; + case 0: return KIND_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public KindCase + getKindCase() { + return KindCase.forNumber( + kindCase_); + } + public static final int REGION_ID_FIELD_NUMBER = 1; private long regionId_; /** @@ -12443,6 +12555,83 @@ public long getRegionId() { return regionId_; } + public static final int ADD_COLUMNS_FIELD_NUMBER = 2; + /** + * .greptime.v1.AddColumns add_columns = 2; + * @return Whether the addColumns field is set. + */ + @java.lang.Override + public boolean hasAddColumns() { + return kindCase_ == 2; + } + /** + * .greptime.v1.AddColumns add_columns = 2; + * @return The addColumns. + */ + @java.lang.Override + public io.greptime.v1.Ddl.AddColumns getAddColumns() { + if (kindCase_ == 2) { + return (io.greptime.v1.Ddl.AddColumns) kind_; + } + return io.greptime.v1.Ddl.AddColumns.getDefaultInstance(); + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + @java.lang.Override + public io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder() { + if (kindCase_ == 2) { + return (io.greptime.v1.Ddl.AddColumns) kind_; + } + return io.greptime.v1.Ddl.AddColumns.getDefaultInstance(); + } + + public static final int DROP_COLUMNS_FIELD_NUMBER = 3; + /** + * .greptime.v1.DropColumns drop_columns = 3; + * @return Whether the dropColumns field is set. + */ + @java.lang.Override + public boolean hasDropColumns() { + return kindCase_ == 3; + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + * @return The dropColumns. + */ + @java.lang.Override + public io.greptime.v1.Ddl.DropColumns getDropColumns() { + if (kindCase_ == 3) { + return (io.greptime.v1.Ddl.DropColumns) kind_; + } + return io.greptime.v1.Ddl.DropColumns.getDefaultInstance(); + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + @java.lang.Override + public io.greptime.v1.Ddl.DropColumnsOrBuilder getDropColumnsOrBuilder() { + if (kindCase_ == 3) { + return (io.greptime.v1.Ddl.DropColumns) kind_; + } + return io.greptime.v1.Ddl.DropColumns.getDefaultInstance(); + } + + public static final int SCHEMA_VERSION_FIELD_NUMBER = 4; + private long schemaVersion_; + /** + *
+     * The version of the schema before applying the alteration.
+     * 
+ * + * uint64 schema_version = 4; + * @return The schemaVersion. + */ + @java.lang.Override + public long getSchemaVersion() { + return schemaVersion_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -12460,6 +12649,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (regionId_ != 0L) { output.writeUInt64(1, regionId_); } + if (kindCase_ == 2) { + output.writeMessage(2, (io.greptime.v1.Ddl.AddColumns) kind_); + } + if (kindCase_ == 3) { + output.writeMessage(3, (io.greptime.v1.Ddl.DropColumns) kind_); + } + if (schemaVersion_ != 0L) { + output.writeUInt64(4, schemaVersion_); + } unknownFields.writeTo(output); } @@ -12473,6 +12671,18 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeUInt64Size(1, regionId_); } + if (kindCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (io.greptime.v1.Ddl.AddColumns) kind_); + } + if (kindCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (io.greptime.v1.Ddl.DropColumns) kind_); + } + if (schemaVersion_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(4, schemaVersion_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -12490,6 +12700,21 @@ public boolean equals(final java.lang.Object obj) { if (getRegionId() != other.getRegionId()) return false; + if (getSchemaVersion() + != other.getSchemaVersion()) return false; + if (!getKindCase().equals(other.getKindCase())) return false; + switch (kindCase_) { + case 2: + if (!getAddColumns() + .equals(other.getAddColumns())) return false; + break; + case 3: + if (!getDropColumns() + .equals(other.getDropColumns())) return false; + break; + case 0: + default: + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -12504,6 +12729,21 @@ public int hashCode() { hash = (37 * hash) + REGION_ID_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getRegionId()); + hash = (37 * hash) + SCHEMA_VERSION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getSchemaVersion()); + switch (kindCase_) { + case 2: + hash = (37 * hash) + ADD_COLUMNS_FIELD_NUMBER; + hash = (53 * hash) + getAddColumns().hashCode(); + break; + case 3: + hash = (37 * hash) + DROP_COLUMNS_FIELD_NUMBER; + hash = (53 * hash) + getDropColumns().hashCode(); + break; + case 0: + default: + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -12600,10 +12840,6 @@ protected Builder newBuilderForType( return builder; } /** - *
-     * TODO: implement alter request
-     * 
- * * Protobuf type {@code greptime.v1.region.AlterRequest} */ public static final class Builder extends @@ -12643,6 +12879,10 @@ public Builder clear() { super.clear(); regionId_ = 0L; + schemaVersion_ = 0L; + + kindCase_ = 0; + kind_ = null; return this; } @@ -12670,6 +12910,22 @@ public io.greptime.v1.region.Server.AlterRequest build() { public io.greptime.v1.region.Server.AlterRequest buildPartial() { io.greptime.v1.region.Server.AlterRequest result = new io.greptime.v1.region.Server.AlterRequest(this); result.regionId_ = regionId_; + if (kindCase_ == 2) { + if (addColumnsBuilder_ == null) { + result.kind_ = kind_; + } else { + result.kind_ = addColumnsBuilder_.build(); + } + } + if (kindCase_ == 3) { + if (dropColumnsBuilder_ == null) { + result.kind_ = kind_; + } else { + result.kind_ = dropColumnsBuilder_.build(); + } + } + result.schemaVersion_ = schemaVersion_; + result.kindCase_ = kindCase_; onBuilt(); return result; } @@ -12721,6 +12977,22 @@ public Builder mergeFrom(io.greptime.v1.region.Server.AlterRequest other) { if (other.getRegionId() != 0L) { setRegionId(other.getRegionId()); } + if (other.getSchemaVersion() != 0L) { + setSchemaVersion(other.getSchemaVersion()); + } + switch (other.getKindCase()) { + case ADD_COLUMNS: { + mergeAddColumns(other.getAddColumns()); + break; + } + case DROP_COLUMNS: { + mergeDropColumns(other.getDropColumns()); + break; + } + case KIND_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -12749,6 +13021,21 @@ public Builder mergeFrom( } return this; } + private int kindCase_ = 0; + private java.lang.Object kind_; + public KindCase + getKindCase() { + return KindCase.forNumber( + kindCase_); + } + + public Builder clearKind() { + kindCase_ = 0; + kind_ = null; + onChanged(); + return this; + } + private long regionId_ ; /** @@ -12780,6 +13067,333 @@ public Builder clearRegionId() { onChanged(); return this; } + + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.AddColumns, io.greptime.v1.Ddl.AddColumns.Builder, io.greptime.v1.Ddl.AddColumnsOrBuilder> addColumnsBuilder_; + /** + * .greptime.v1.AddColumns add_columns = 2; + * @return Whether the addColumns field is set. + */ + @java.lang.Override + public boolean hasAddColumns() { + return kindCase_ == 2; + } + /** + * .greptime.v1.AddColumns add_columns = 2; + * @return The addColumns. + */ + @java.lang.Override + public io.greptime.v1.Ddl.AddColumns getAddColumns() { + if (addColumnsBuilder_ == null) { + if (kindCase_ == 2) { + return (io.greptime.v1.Ddl.AddColumns) kind_; + } + return io.greptime.v1.Ddl.AddColumns.getDefaultInstance(); + } else { + if (kindCase_ == 2) { + return addColumnsBuilder_.getMessage(); + } + return io.greptime.v1.Ddl.AddColumns.getDefaultInstance(); + } + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + public Builder setAddColumns(io.greptime.v1.Ddl.AddColumns value) { + if (addColumnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kind_ = value; + onChanged(); + } else { + addColumnsBuilder_.setMessage(value); + } + kindCase_ = 2; + return this; + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + public Builder setAddColumns( + io.greptime.v1.Ddl.AddColumns.Builder builderForValue) { + if (addColumnsBuilder_ == null) { + kind_ = builderForValue.build(); + onChanged(); + } else { + addColumnsBuilder_.setMessage(builderForValue.build()); + } + kindCase_ = 2; + return this; + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + public Builder mergeAddColumns(io.greptime.v1.Ddl.AddColumns value) { + if (addColumnsBuilder_ == null) { + if (kindCase_ == 2 && + kind_ != io.greptime.v1.Ddl.AddColumns.getDefaultInstance()) { + kind_ = io.greptime.v1.Ddl.AddColumns.newBuilder((io.greptime.v1.Ddl.AddColumns) kind_) + .mergeFrom(value).buildPartial(); + } else { + kind_ = value; + } + onChanged(); + } else { + if (kindCase_ == 2) { + addColumnsBuilder_.mergeFrom(value); + } else { + addColumnsBuilder_.setMessage(value); + } + } + kindCase_ = 2; + return this; + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + public Builder clearAddColumns() { + if (addColumnsBuilder_ == null) { + if (kindCase_ == 2) { + kindCase_ = 0; + kind_ = null; + onChanged(); + } + } else { + if (kindCase_ == 2) { + kindCase_ = 0; + kind_ = null; + } + addColumnsBuilder_.clear(); + } + return this; + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + public io.greptime.v1.Ddl.AddColumns.Builder getAddColumnsBuilder() { + return getAddColumnsFieldBuilder().getBuilder(); + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + @java.lang.Override + public io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder() { + if ((kindCase_ == 2) && (addColumnsBuilder_ != null)) { + return addColumnsBuilder_.getMessageOrBuilder(); + } else { + if (kindCase_ == 2) { + return (io.greptime.v1.Ddl.AddColumns) kind_; + } + return io.greptime.v1.Ddl.AddColumns.getDefaultInstance(); + } + } + /** + * .greptime.v1.AddColumns add_columns = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.AddColumns, io.greptime.v1.Ddl.AddColumns.Builder, io.greptime.v1.Ddl.AddColumnsOrBuilder> + getAddColumnsFieldBuilder() { + if (addColumnsBuilder_ == null) { + if (!(kindCase_ == 2)) { + kind_ = io.greptime.v1.Ddl.AddColumns.getDefaultInstance(); + } + addColumnsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.AddColumns, io.greptime.v1.Ddl.AddColumns.Builder, io.greptime.v1.Ddl.AddColumnsOrBuilder>( + (io.greptime.v1.Ddl.AddColumns) kind_, + getParentForChildren(), + isClean()); + kind_ = null; + } + kindCase_ = 2; + onChanged();; + return addColumnsBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.DropColumns, io.greptime.v1.Ddl.DropColumns.Builder, io.greptime.v1.Ddl.DropColumnsOrBuilder> dropColumnsBuilder_; + /** + * .greptime.v1.DropColumns drop_columns = 3; + * @return Whether the dropColumns field is set. + */ + @java.lang.Override + public boolean hasDropColumns() { + return kindCase_ == 3; + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + * @return The dropColumns. + */ + @java.lang.Override + public io.greptime.v1.Ddl.DropColumns getDropColumns() { + if (dropColumnsBuilder_ == null) { + if (kindCase_ == 3) { + return (io.greptime.v1.Ddl.DropColumns) kind_; + } + return io.greptime.v1.Ddl.DropColumns.getDefaultInstance(); + } else { + if (kindCase_ == 3) { + return dropColumnsBuilder_.getMessage(); + } + return io.greptime.v1.Ddl.DropColumns.getDefaultInstance(); + } + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + public Builder setDropColumns(io.greptime.v1.Ddl.DropColumns value) { + if (dropColumnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kind_ = value; + onChanged(); + } else { + dropColumnsBuilder_.setMessage(value); + } + kindCase_ = 3; + return this; + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + public Builder setDropColumns( + io.greptime.v1.Ddl.DropColumns.Builder builderForValue) { + if (dropColumnsBuilder_ == null) { + kind_ = builderForValue.build(); + onChanged(); + } else { + dropColumnsBuilder_.setMessage(builderForValue.build()); + } + kindCase_ = 3; + return this; + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + public Builder mergeDropColumns(io.greptime.v1.Ddl.DropColumns value) { + if (dropColumnsBuilder_ == null) { + if (kindCase_ == 3 && + kind_ != io.greptime.v1.Ddl.DropColumns.getDefaultInstance()) { + kind_ = io.greptime.v1.Ddl.DropColumns.newBuilder((io.greptime.v1.Ddl.DropColumns) kind_) + .mergeFrom(value).buildPartial(); + } else { + kind_ = value; + } + onChanged(); + } else { + if (kindCase_ == 3) { + dropColumnsBuilder_.mergeFrom(value); + } else { + dropColumnsBuilder_.setMessage(value); + } + } + kindCase_ = 3; + return this; + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + public Builder clearDropColumns() { + if (dropColumnsBuilder_ == null) { + if (kindCase_ == 3) { + kindCase_ = 0; + kind_ = null; + onChanged(); + } + } else { + if (kindCase_ == 3) { + kindCase_ = 0; + kind_ = null; + } + dropColumnsBuilder_.clear(); + } + return this; + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + public io.greptime.v1.Ddl.DropColumns.Builder getDropColumnsBuilder() { + return getDropColumnsFieldBuilder().getBuilder(); + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + @java.lang.Override + public io.greptime.v1.Ddl.DropColumnsOrBuilder getDropColumnsOrBuilder() { + if ((kindCase_ == 3) && (dropColumnsBuilder_ != null)) { + return dropColumnsBuilder_.getMessageOrBuilder(); + } else { + if (kindCase_ == 3) { + return (io.greptime.v1.Ddl.DropColumns) kind_; + } + return io.greptime.v1.Ddl.DropColumns.getDefaultInstance(); + } + } + /** + * .greptime.v1.DropColumns drop_columns = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.DropColumns, io.greptime.v1.Ddl.DropColumns.Builder, io.greptime.v1.Ddl.DropColumnsOrBuilder> + getDropColumnsFieldBuilder() { + if (dropColumnsBuilder_ == null) { + if (!(kindCase_ == 3)) { + kind_ = io.greptime.v1.Ddl.DropColumns.getDefaultInstance(); + } + dropColumnsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.DropColumns, io.greptime.v1.Ddl.DropColumns.Builder, io.greptime.v1.Ddl.DropColumnsOrBuilder>( + (io.greptime.v1.Ddl.DropColumns) kind_, + getParentForChildren(), + isClean()); + kind_ = null; + } + kindCase_ = 3; + onChanged();; + return dropColumnsBuilder_; + } + + private long schemaVersion_ ; + /** + *
+       * The version of the schema before applying the alteration.
+       * 
+ * + * uint64 schema_version = 4; + * @return The schemaVersion. + */ + @java.lang.Override + public long getSchemaVersion() { + return schemaVersion_; + } + /** + *
+       * The version of the schema before applying the alteration.
+       * 
+ * + * uint64 schema_version = 4; + * @param value The schemaVersion to set. + * @return This builder for chaining. + */ + public Builder setSchemaVersion(long value) { + + schemaVersion_ = value; + onChanged(); + return this; + } + /** + *
+       * The version of the schema before applying the alteration.
+       * 
+ * + * uint64 schema_version = 4; + * @return This builder for chaining. + */ + public Builder clearSchemaVersion() { + + schemaVersion_ = 0L; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -14915,65 +15529,70 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() { java.lang.String[] descriptorData = { "\n\037greptime/v1/region/server.proto\022\022grept" + "ime.v1.region\032\030greptime/v1/common.proto\032" + - "\025greptime/v1/row.proto\"8\n\023RegionRequestH" + - "eader\022\020\n\010trace_id\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004" + - "\"\245\004\n\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.gre" + - "ptime.v1.region.RegionRequestHeader\0225\n\007i" + - "nserts\030\003 \001(\0132\".greptime.v1.region.Insert" + - "RequestsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v" + - "1.region.DeleteRequestsH\000\0223\n\006create\030\005 \001(" + - "\0132!.greptime.v1.region.CreateRequestH\000\022/" + - "\n\004drop\030\006 \001(\0132\037.greptime.v1.region.DropRe" + - "questH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.regi" + - "on.OpenRequestH\000\0221\n\005close\030\010 \001(\0132 .grepti" + - "me.v1.region.CloseRequestH\000\0221\n\005alter\030\t \001" + - "(\0132 .greptime.v1.region.AlterRequestH\000\0221" + - "\n\005flush\030\n \001(\0132 .greptime.v1.region.Flush" + - "RequestH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1" + - ".region.CompactRequestH\000B\006\n\004body\"T\n\016Regi" + - "onResponse\022+\n\006header\030\001 \001(\0132\033.greptime.v1" + - ".ResponseHeader\022\025\n\raffected_rows\030\002 \001(\004\"E" + - "\n\016InsertRequests\0223\n\010requests\030\001 \003(\0132!.gre" + - "ptime.v1.region.InsertRequest\"E\n\016DeleteR" + - "equests\0223\n\010requests\030\001 \003(\0132!.greptime.v1." + - "region.DeleteRequest\"C\n\rInsertRequest\022\021\n" + - "\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptim" + - "e.v1.Rows\"C\n\rDeleteRequest\022\021\n\tregion_id\030" + - "\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"/" + - "\n\014QueryRequest\022\021\n\tregion_id\030\001 \001(\004\022\014\n\004pla" + - "n\030\002 \001(\014\"\253\002\n\rCreateRequest\022\021\n\tregion_id\030\001" + - " \001(\004\022\016\n\006engine\030\002 \001(\t\0222\n\013column_defs\030\003 \003(" + - "\0132\035.greptime.v1.region.ColumnDef\022\023\n\013prim" + - "ary_key\030\004 \003(\r\022\034\n\024create_if_not_exists\030\005 " + - "\001(\010\022\017\n\007catalog\030\006 \001(\t\022\016\n\006schema\030\007 \001(\t\022?\n\007" + - "options\030\010 \003(\0132..greptime.v1.region.Creat" + - "eRequest.OptionsEntry\032.\n\014OptionsEntry\022\013\n" + - "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\" \n\013DropReq" + - "uest\022\021\n\tregion_id\030\001 \001(\004\"\300\001\n\013OpenRequest\022" + - "\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007ca" + - "talog\030\003 \001(\t\022\016\n\006schema\030\004 \001(\t\022=\n\007options\030\005" + - " \003(\0132,.greptime.v1.region.OpenRequest.Op" + - "tionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022" + - "\r\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n\tre" + - "gion_id\030\001 \001(\004\"!\n\014AlterRequest\022\021\n\tregion_" + - "id\030\001 \001(\004\"!\n\014FlushRequest\022\021\n\tregion_id\030\001 " + - "\001(\004\"#\n\016CompactRequest\022\021\n\tregion_id\030\001 \001(\004" + - "\"\276\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022\021\n\tcolumn_i" + - "d\030\002 \001(\r\022-\n\010datatype\030\003 \001(\0162\033.greptime.v1." + - "ColumnDataType\022\023\n\013is_nullable\030\004 \001(\010\022\032\n\022d" + - "efault_constraint\030\005 \001(\014\0220\n\rsemantic_type" + - "\030\006 \001(\0162\031.greptime.v1.SemanticType2Y\n\006Reg" + - "ion\022O\n\006Handle\022!.greptime.v1.region.Regio" + - "nRequest\032\".greptime.v1.region.RegionResp" + - "onseB]\n\025io.greptime.v1.regionB\006ServerZ Date: Fri, 1 Sep 2023 16:32:25 +0800 Subject: [PATCH 2/6] feat: alter region request --- c++/greptime/v1/region/server.pb.cc | 1750 +++++-- c++/greptime/v1/region/server.pb.h | 1928 ++++++-- .../java/io/greptime/v1/region/Server.java | 4218 ++++++++++++++++- proto/greptime/v1/region/server.proto | 28 +- 4 files changed, 7214 insertions(+), 710 deletions(-) diff --git a/c++/greptime/v1/region/server.pb.cc b/c++/greptime/v1/region/server.pb.cc index 60498bca..08d9e90c 100644 --- a/c++/greptime/v1/region/server.pb.cc +++ b/c++/greptime/v1/region/server.pb.cc @@ -236,6 +236,74 @@ struct AlterRequestDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterRequestDefaultTypeInternal _AlterRequest_default_instance_; +PROTOBUF_CONSTEXPR AddColumns::AddColumns( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.add_columns_)*/{} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct AddColumnsDefaultTypeInternal { + PROTOBUF_CONSTEXPR AddColumnsDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~AddColumnsDefaultTypeInternal() {} + union { + AddColumns _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnsDefaultTypeInternal _AddColumns_default_instance_; +PROTOBUF_CONSTEXPR DropColumns::DropColumns( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.drop_columns_)*/{} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct DropColumnsDefaultTypeInternal { + PROTOBUF_CONSTEXPR DropColumnsDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~DropColumnsDefaultTypeInternal() {} + union { + DropColumns _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropColumnsDefaultTypeInternal _DropColumns_default_instance_; +PROTOBUF_CONSTEXPR AddColumn_Location::AddColumn_Location( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.after_column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.location_type_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct AddColumn_LocationDefaultTypeInternal { + PROTOBUF_CONSTEXPR AddColumn_LocationDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~AddColumn_LocationDefaultTypeInternal() {} + union { + AddColumn_Location _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumn_LocationDefaultTypeInternal _AddColumn_Location_default_instance_; +PROTOBUF_CONSTEXPR AddColumn::AddColumn( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.column_def_)*/nullptr + , /*decltype(_impl_.location_)*/nullptr + , /*decltype(_impl_.is_key_)*/false + , /*decltype(_impl_._cached_size_)*/{}} {} +struct AddColumnDefaultTypeInternal { + PROTOBUF_CONSTEXPR AddColumnDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~AddColumnDefaultTypeInternal() {} + union { + AddColumn _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnDefaultTypeInternal _AddColumn_default_instance_; +PROTOBUF_CONSTEXPR DropColumn::DropColumn( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct DropColumnDefaultTypeInternal { + PROTOBUF_CONSTEXPR DropColumnDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~DropColumnDefaultTypeInternal() {} + union { + DropColumn _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropColumnDefaultTypeInternal _DropColumn_default_instance_; PROTOBUF_CONSTEXPR FlushRequest::FlushRequest( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.region_id_)*/uint64_t{0u} @@ -283,8 +351,8 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace region } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[18]; -static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2fregion_2fserver_2eproto = nullptr; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[23]; +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_greptime_2fv1_2fregion_2fserver_2eproto[1]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fregion_2fserver_2eproto = nullptr; const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -430,6 +498,44 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _impl_.schema_version_), PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AlterRequest, _impl_.kind_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumns, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumns, _impl_.add_columns_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropColumns, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropColumns, _impl_.drop_columns_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn_Location, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn_Location, _impl_.location_type_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn_Location, _impl_.after_column_name_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _impl_.column_def_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _impl_.is_key_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _impl_.location_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropColumn, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropColumn, _impl_.name_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::region::FlushRequest, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -472,9 +578,14 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 112, -1, -1, sizeof(::greptime::v1::region::OpenRequest)}, { 123, -1, -1, sizeof(::greptime::v1::region::CloseRequest)}, { 130, -1, -1, sizeof(::greptime::v1::region::AlterRequest)}, - { 141, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, - { 148, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, - { 155, -1, -1, sizeof(::greptime::v1::region::ColumnDef)}, + { 141, -1, -1, sizeof(::greptime::v1::region::AddColumns)}, + { 148, -1, -1, sizeof(::greptime::v1::region::DropColumns)}, + { 155, -1, -1, sizeof(::greptime::v1::region::AddColumn_Location)}, + { 163, -1, -1, sizeof(::greptime::v1::region::AddColumn)}, + { 172, -1, -1, sizeof(::greptime::v1::region::DropColumn)}, + { 179, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, + { 186, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, + { 193, -1, -1, sizeof(::greptime::v1::region::ColumnDef)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -493,6 +604,11 @@ static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::region::_OpenRequest_default_instance_._instance, &::greptime::v1::region::_CloseRequest_default_instance_._instance, &::greptime::v1::region::_AlterRequest_default_instance_._instance, + &::greptime::v1::region::_AddColumns_default_instance_._instance, + &::greptime::v1::region::_DropColumns_default_instance_._instance, + &::greptime::v1::region::_AddColumn_Location_default_instance_._instance, + &::greptime::v1::region::_AddColumn_default_instance_._instance, + &::greptime::v1::region::_DropColumn_default_instance_._instance, &::greptime::v1::region::_FlushRequest_default_instance_._instance, &::greptime::v1::region::_CompactRequest_default_instance_._instance, &::greptime::v1::region::_ColumnDef_default_instance_._instance, @@ -501,74 +617,84 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\037greptime/v1/region/server.proto\022\022grept" "ime.v1.region\032\030greptime/v1/common.proto\032" - "\025greptime/v1/row.proto\032\025greptime/v1/ddl." - "proto\"8\n\023RegionRequestHeader\022\020\n\010trace_id" - "\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004\"\245\004\n\rRegionReques" - "t\0227\n\006header\030\001 \001(\0132\'.greptime.v1.region.R" - "egionRequestHeader\0225\n\007inserts\030\003 \001(\0132\".gr" - "eptime.v1.region.InsertRequestsH\000\0225\n\007del" - "etes\030\004 \001(\0132\".greptime.v1.region.DeleteRe" - "questsH\000\0223\n\006create\030\005 \001(\0132!.greptime.v1.r" - "egion.CreateRequestH\000\022/\n\004drop\030\006 \001(\0132\037.gr" - "eptime.v1.region.DropRequestH\000\022/\n\004open\030\007" - " \001(\0132\037.greptime.v1.region.OpenRequestH\000\022" - "1\n\005close\030\010 \001(\0132 .greptime.v1.region.Clos" - "eRequestH\000\0221\n\005alter\030\t \001(\0132 .greptime.v1." - "region.AlterRequestH\000\0221\n\005flush\030\n \001(\0132 .g" - "reptime.v1.region.FlushRequestH\000\0225\n\007comp" - "act\030\013 \001(\0132\".greptime.v1.region.CompactRe" - "questH\000B\006\n\004body\"T\n\016RegionResponse\022+\n\006hea" - "der\030\001 \001(\0132\033.greptime.v1.ResponseHeader\022\025" - "\n\raffected_rows\030\002 \001(\004\"E\n\016InsertRequests\022" - "3\n\010requests\030\001 \003(\0132!.greptime.v1.region.I" - "nsertRequest\"E\n\016DeleteRequests\0223\n\010reques" - "ts\030\001 \003(\0132!.greptime.v1.region.DeleteRequ" - "est\"C\n\rInsertRequest\022\021\n\tregion_id\030\001 \001(\004\022" - "\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"C\n\rDele" - "teRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001" - "(\0132\021.greptime.v1.Rows\"/\n\014QueryRequest\022\021\n" - "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\253\002\n\rCreat" - "eRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 " - "\001(\t\0222\n\013column_defs\030\003 \003(\0132\035.greptime.v1.r" - "egion.ColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\034\n\024" - "create_if_not_exists\030\005 \001(\010\022\017\n\007catalog\030\006 " - "\001(\t\022\016\n\006schema\030\007 \001(\t\022\?\n\007options\030\010 \003(\0132..g" - "reptime.v1.region.CreateRequest.OptionsE" - "ntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" - "ue\030\002 \001(\t:\0028\001\" \n\013DropRequest\022\021\n\tregion_id" - "\030\001 \001(\004\"\300\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(" - "\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007catalog\030\003 \001(\t\022\016\n\006sc" - "hema\030\004 \001(\t\022=\n\007options\030\005 \003(\0132,.greptime.v" - "1.region.OpenRequest.OptionsEntry\032.\n\014Opt" - "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" - "\001\"!\n\014CloseRequest\022\021\n\tregion_id\030\001 \001(\004\"\243\001\n" - "\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\022.\n\013add_" - "columns\030\002 \001(\0132\027.greptime.v1.AddColumnsH\000" - "\0220\n\014drop_columns\030\003 \001(\0132\030.greptime.v1.Dro" - "pColumnsH\000\022\026\n\016schema_version\030\004 \001(\004B\006\n\004ki" - "nd\"!\n\014FlushRequest\022\021\n\tregion_id\030\001 \001(\004\"#\n" - "\016CompactRequest\022\021\n\tregion_id\030\001 \001(\004\"\276\001\n\tC" - "olumnDef\022\014\n\004name\030\001 \001(\t\022\021\n\tcolumn_id\030\002 \001(" - "\r\022-\n\010datatype\030\003 \001(\0162\033.greptime.v1.Column" - "DataType\022\023\n\013is_nullable\030\004 \001(\010\022\032\n\022default" - "_constraint\030\005 \001(\014\0220\n\rsemantic_type\030\006 \001(\016" - "2\031.greptime.v1.SemanticType2Y\n\006Region\022O\n" - "\006Handle\022!.greptime.v1.region.RegionReque" - "st\032\".greptime.v1.region.RegionResponseB]" - "\n\025io.greptime.v1.regionB\006ServerZ= 1900 && _MSC_VER < 1912)) +constexpr AddColumn_Location_LocationType AddColumn_Location::FIRST; +constexpr AddColumn_Location_LocationType AddColumn_Location::AFTER; +constexpr AddColumn_Location_LocationType AddColumn_Location::LocationType_MIN; +constexpr AddColumn_Location_LocationType AddColumn_Location::LocationType_MAX; +constexpr int AddColumn_Location::LocationType_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) // =================================================================== @@ -4125,25 +4272,24 @@ ::PROTOBUF_NAMESPACE_ID::Metadata CloseRequest::GetMetadata() const { class AlterRequest::_Internal { public: - static const ::greptime::v1::AddColumns& add_columns(const AlterRequest* msg); - static const ::greptime::v1::DropColumns& drop_columns(const AlterRequest* msg); + static const ::greptime::v1::region::AddColumns& add_columns(const AlterRequest* msg); + static const ::greptime::v1::region::DropColumns& drop_columns(const AlterRequest* msg); }; -const ::greptime::v1::AddColumns& +const ::greptime::v1::region::AddColumns& AlterRequest::_Internal::add_columns(const AlterRequest* msg) { return *msg->_impl_.kind_.add_columns_; } -const ::greptime::v1::DropColumns& +const ::greptime::v1::region::DropColumns& AlterRequest::_Internal::drop_columns(const AlterRequest* msg) { return *msg->_impl_.kind_.drop_columns_; } -void AlterRequest::set_allocated_add_columns(::greptime::v1::AddColumns* add_columns) { +void AlterRequest::set_allocated_add_columns(::greptime::v1::region::AddColumns* add_columns) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_kind(); if (add_columns) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(add_columns)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(add_columns); if (message_arena != submessage_arena) { add_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, add_columns, submessage_arena); @@ -4153,21 +4299,12 @@ void AlterRequest::set_allocated_add_columns(::greptime::v1::AddColumns* add_col } // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AlterRequest.add_columns) } -void AlterRequest::clear_add_columns() { - if (_internal_has_add_columns()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.kind_.add_columns_; - } - clear_has_kind(); - } -} -void AlterRequest::set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns) { +void AlterRequest::set_allocated_drop_columns(::greptime::v1::region::DropColumns* drop_columns) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_kind(); if (drop_columns) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(drop_columns)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(drop_columns); if (message_arena != submessage_arena) { drop_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, drop_columns, submessage_arena); @@ -4177,14 +4314,6 @@ void AlterRequest::set_allocated_drop_columns(::greptime::v1::DropColumns* drop_ } // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AlterRequest.drop_columns) } -void AlterRequest::clear_drop_columns() { - if (_internal_has_drop_columns()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.kind_.drop_columns_; - } - clear_has_kind(); - } -} AlterRequest::AlterRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -4208,12 +4337,12 @@ AlterRequest::AlterRequest(const AlterRequest& from) clear_has_kind(); switch (from.kind_case()) { case kAddColumns: { - _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom( + _this->_internal_mutable_add_columns()->::greptime::v1::region::AddColumns::MergeFrom( from._internal_add_columns()); break; } case kDropColumns: { - _this->_internal_mutable_drop_columns()->::greptime::v1::DropColumns::MergeFrom( + _this->_internal_mutable_drop_columns()->::greptime::v1::region::DropColumns::MergeFrom( from._internal_drop_columns()); break; } @@ -4308,7 +4437,7 @@ const char* AlterRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; - // .greptime.v1.AddColumns add_columns = 2; + // .greptime.v1.region.AddColumns add_columns = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { ptr = ctx->ParseMessage(_internal_mutable_add_columns(), ptr); @@ -4316,7 +4445,7 @@ const char* AlterRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; - // .greptime.v1.DropColumns drop_columns = 3; + // .greptime.v1.region.DropColumns drop_columns = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { ptr = ctx->ParseMessage(_internal_mutable_drop_columns(), ptr); @@ -4367,14 +4496,14 @@ uint8_t* AlterRequest::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_region_id(), target); } - // .greptime.v1.AddColumns add_columns = 2; + // .greptime.v1.region.AddColumns add_columns = 2; if (_internal_has_add_columns()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage(2, _Internal::add_columns(this), _Internal::add_columns(this).GetCachedSize(), target, stream); } - // .greptime.v1.DropColumns drop_columns = 3; + // .greptime.v1.region.DropColumns drop_columns = 3; if (_internal_has_drop_columns()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage(3, _Internal::drop_columns(this), @@ -4414,14 +4543,14 @@ size_t AlterRequest::ByteSizeLong() const { } switch (kind_case()) { - // .greptime.v1.AddColumns add_columns = 2; + // .greptime.v1.region.AddColumns add_columns = 2; case kAddColumns: { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( *_impl_.kind_.add_columns_); break; } - // .greptime.v1.DropColumns drop_columns = 3; + // .greptime.v1.region.DropColumns drop_columns = 3; case kDropColumns: { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( @@ -4458,12 +4587,12 @@ void AlterRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P } switch (from.kind_case()) { case kAddColumns: { - _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom( + _this->_internal_mutable_add_columns()->::greptime::v1::region::AddColumns::MergeFrom( from._internal_add_columns()); break; } case kDropColumns: { - _this->_internal_mutable_drop_columns()->::greptime::v1::DropColumns::MergeFrom( + _this->_internal_mutable_drop_columns()->::greptime::v1::region::DropColumns::MergeFrom( from._internal_drop_columns()); break; } @@ -4506,40 +4635,39 @@ ::PROTOBUF_NAMESPACE_ID::Metadata AlterRequest::GetMetadata() const { // =================================================================== -class FlushRequest::_Internal { +class AddColumns::_Internal { public: }; -FlushRequest::FlushRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +AddColumns::AddColumns(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:greptime.v1.region.FlushRequest) + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.AddColumns) } -FlushRequest::FlushRequest(const FlushRequest& from) +AddColumns::AddColumns(const AddColumns& from) : ::PROTOBUF_NAMESPACE_ID::Message() { - FlushRequest* const _this = this; (void)_this; + AddColumns* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.region_id_){} + decltype(_impl_.add_columns_){from._impl_.add_columns_} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.region_id_ = from._impl_.region_id_; - // @@protoc_insertion_point(copy_constructor:greptime.v1.region.FlushRequest) + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AddColumns) } -inline void FlushRequest::SharedCtor( +inline void AddColumns::SharedCtor( ::_pb::Arena* arena, bool is_message_owned) { (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.region_id_){uint64_t{0u}} + decltype(_impl_.add_columns_){arena} , /*decltype(_impl_._cached_size_)*/{} }; } -FlushRequest::~FlushRequest() { - // @@protoc_insertion_point(destructor:greptime.v1.region.FlushRequest) +AddColumns::~AddColumns() { + // @@protoc_insertion_point(destructor:greptime.v1.region.AddColumns) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -4547,35 +4675,41 @@ FlushRequest::~FlushRequest() { SharedDtor(); } -inline void FlushRequest::SharedDtor() { +inline void AddColumns::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.add_columns_.~RepeatedPtrField(); } -void FlushRequest::SetCachedSize(int size) const { +void AddColumns::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } -void FlushRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:greptime.v1.region.FlushRequest) +void AddColumns::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.AddColumns) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.region_id_ = uint64_t{0u}; + _impl_.add_columns_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* FlushRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* AddColumns::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // uint64 region_id = 1; + // repeated .greptime.v1.region.AddColumn add_columns = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _impl_.region_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_add_columns(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); } else goto handle_unusual; continue; @@ -4602,81 +4736,83 @@ const char* FlushRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* #undef CHK_ } -uint8_t* FlushRequest::_InternalSerialize( +uint8_t* AddColumns::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.FlushRequest) + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.AddColumns) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // uint64 region_id = 1; - if (this->_internal_region_id() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_region_id(), target); + // repeated .greptime.v1.region.AddColumn add_columns = 1; + for (unsigned i = 0, + n = static_cast(this->_internal_add_columns_size()); i < n; i++) { + const auto& repfield = this->_internal_add_columns(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.FlushRequest) + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.AddColumns) return target; } -size_t FlushRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.FlushRequest) +size_t AddColumns::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.AddColumns) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // uint64 region_id = 1; - if (this->_internal_region_id() != 0) { - total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_region_id()); + // repeated .greptime.v1.region.AddColumn add_columns = 1; + total_size += 1UL * this->_internal_add_columns_size(); + for (const auto& msg : this->_impl_.add_columns_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FlushRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddColumns::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - FlushRequest::MergeImpl + AddColumns::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FlushRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddColumns::GetClassData() const { return &_class_data_; } -void FlushRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.FlushRequest) +void AddColumns::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.AddColumns) GOOGLE_DCHECK_NE(&from, _this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_region_id() != 0) { - _this->_internal_set_region_id(from._internal_region_id()); - } + _this->_impl_.add_columns_.MergeFrom(from._impl_.add_columns_); _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void FlushRequest::CopyFrom(const FlushRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.FlushRequest) +void AddColumns::CopyFrom(const AddColumns& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.AddColumns) if (&from == this) return; Clear(); MergeFrom(from); } -bool FlushRequest::IsInitialized() const { +bool AddColumns::IsInitialized() const { return true; } -void FlushRequest::InternalSwap(FlushRequest* other) { +void AddColumns::InternalSwap(AddColumns* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_.region_id_, other->_impl_.region_id_); + _impl_.add_columns_.InternalSwap(&other->_impl_.add_columns_); } -::PROTOBUF_NAMESPACE_ID::Metadata FlushRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata AddColumns::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[15]); @@ -4684,40 +4820,39 @@ ::PROTOBUF_NAMESPACE_ID::Metadata FlushRequest::GetMetadata() const { // =================================================================== -class CompactRequest::_Internal { +class DropColumns::_Internal { public: }; -CompactRequest::CompactRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +DropColumns::DropColumns(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:greptime.v1.region.CompactRequest) + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.DropColumns) } -CompactRequest::CompactRequest(const CompactRequest& from) +DropColumns::DropColumns(const DropColumns& from) : ::PROTOBUF_NAMESPACE_ID::Message() { - CompactRequest* const _this = this; (void)_this; + DropColumns* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.region_id_){} + decltype(_impl_.drop_columns_){from._impl_.drop_columns_} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.region_id_ = from._impl_.region_id_; - // @@protoc_insertion_point(copy_constructor:greptime.v1.region.CompactRequest) + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.DropColumns) } -inline void CompactRequest::SharedCtor( +inline void DropColumns::SharedCtor( ::_pb::Arena* arena, bool is_message_owned) { (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.region_id_){uint64_t{0u}} + decltype(_impl_.drop_columns_){arena} , /*decltype(_impl_._cached_size_)*/{} }; } -CompactRequest::~CompactRequest() { - // @@protoc_insertion_point(destructor:greptime.v1.region.CompactRequest) +DropColumns::~DropColumns() { + // @@protoc_insertion_point(destructor:greptime.v1.region.DropColumns) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -4725,35 +4860,41 @@ CompactRequest::~CompactRequest() { SharedDtor(); } -inline void CompactRequest::SharedDtor() { +inline void DropColumns::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.drop_columns_.~RepeatedPtrField(); } -void CompactRequest::SetCachedSize(int size) const { +void DropColumns::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } -void CompactRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:greptime.v1.region.CompactRequest) +void DropColumns::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.DropColumns) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.region_id_ = uint64_t{0u}; + _impl_.drop_columns_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* CompactRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* DropColumns::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // uint64 region_id = 1; + // repeated .greptime.v1.region.DropColumn drop_columns = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _impl_.region_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_drop_columns(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); } else goto handle_unusual; continue; @@ -4780,81 +4921,83 @@ const char* CompactRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext #undef CHK_ } -uint8_t* CompactRequest::_InternalSerialize( +uint8_t* DropColumns::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.CompactRequest) + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.DropColumns) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // uint64 region_id = 1; - if (this->_internal_region_id() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_region_id(), target); + // repeated .greptime.v1.region.DropColumn drop_columns = 1; + for (unsigned i = 0, + n = static_cast(this->_internal_drop_columns_size()); i < n; i++) { + const auto& repfield = this->_internal_drop_columns(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.CompactRequest) + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.DropColumns) return target; } -size_t CompactRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.CompactRequest) +size_t DropColumns::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.DropColumns) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // uint64 region_id = 1; - if (this->_internal_region_id() != 0) { - total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_region_id()); + // repeated .greptime.v1.region.DropColumn drop_columns = 1; + total_size += 1UL * this->_internal_drop_columns_size(); + for (const auto& msg : this->_impl_.drop_columns_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompactRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropColumns::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - CompactRequest::MergeImpl + DropColumns::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompactRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropColumns::GetClassData() const { return &_class_data_; } -void CompactRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.CompactRequest) +void DropColumns::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.DropColumns) GOOGLE_DCHECK_NE(&from, _this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_region_id() != 0) { - _this->_internal_set_region_id(from._internal_region_id()); - } + _this->_impl_.drop_columns_.MergeFrom(from._impl_.drop_columns_); _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void CompactRequest::CopyFrom(const CompactRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.CompactRequest) +void DropColumns::CopyFrom(const DropColumns& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.DropColumns) if (&from == this) return; Clear(); MergeFrom(from); } -bool CompactRequest::IsInitialized() const { +bool DropColumns::IsInitialized() const { return true; } -void CompactRequest::InternalSwap(CompactRequest* other) { +void DropColumns::InternalSwap(DropColumns* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_.region_id_, other->_impl_.region_id_); + _impl_.drop_columns_.InternalSwap(&other->_impl_.drop_columns_); } -::PROTOBUF_NAMESPACE_ID::Metadata CompactRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata DropColumns::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[16]); @@ -4862,76 +5005,54 @@ ::PROTOBUF_NAMESPACE_ID::Metadata CompactRequest::GetMetadata() const { // =================================================================== -class ColumnDef::_Internal { +class AddColumn_Location::_Internal { public: }; -ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, +AddColumn_Location::AddColumn_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:greptime.v1.region.ColumnDef) + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.AddColumn.Location) } -ColumnDef::ColumnDef(const ColumnDef& from) +AddColumn_Location::AddColumn_Location(const AddColumn_Location& from) : ::PROTOBUF_NAMESPACE_ID::Message() { - ColumnDef* const _this = this; (void)_this; + AddColumn_Location* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.name_){} - , decltype(_impl_.default_constraint_){} - , decltype(_impl_.column_id_){} - , decltype(_impl_.datatype_){} - , decltype(_impl_.is_nullable_){} - , decltype(_impl_.semantic_type_){} + decltype(_impl_.after_column_name_){} + , decltype(_impl_.location_type_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_name().empty()) { - _this->_impl_.name_.Set(from._internal_name(), - _this->GetArenaForAllocation()); - } - _impl_.default_constraint_.InitDefault(); + _impl_.after_column_name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.default_constraint_.Set("", GetArenaForAllocation()); + _impl_.after_column_name_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_default_constraint().empty()) { - _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), + if (!from._internal_after_column_name().empty()) { + _this->_impl_.after_column_name_.Set(from._internal_after_column_name(), _this->GetArenaForAllocation()); } - ::memcpy(&_impl_.column_id_, &from._impl_.column_id_, - static_cast(reinterpret_cast(&_impl_.semantic_type_) - - reinterpret_cast(&_impl_.column_id_)) + sizeof(_impl_.semantic_type_)); - // @@protoc_insertion_point(copy_constructor:greptime.v1.region.ColumnDef) + _this->_impl_.location_type_ = from._impl_.location_type_; + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AddColumn.Location) } -inline void ColumnDef::SharedCtor( +inline void AddColumn_Location::SharedCtor( ::_pb::Arena* arena, bool is_message_owned) { (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.name_){} - , decltype(_impl_.default_constraint_){} - , decltype(_impl_.column_id_){0u} - , decltype(_impl_.datatype_){0} - , decltype(_impl_.is_nullable_){false} - , decltype(_impl_.semantic_type_){0} + decltype(_impl_.after_column_name_){} + , decltype(_impl_.location_type_){0} , /*decltype(_impl_._cached_size_)*/{} }; - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.default_constraint_.InitDefault(); + _impl_.after_column_name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.default_constraint_.Set("", GetArenaForAllocation()); + _impl_.after_column_name_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING } -ColumnDef::~ColumnDef() { - // @@protoc_insertion_point(destructor:greptime.v1.region.ColumnDef) +AddColumn_Location::~AddColumn_Location() { + // @@protoc_insertion_point(destructor:greptime.v1.region.AddColumn.Location) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -4939,50 +5060,1129 @@ ColumnDef::~ColumnDef() { SharedDtor(); } -inline void ColumnDef::SharedDtor() { +inline void AddColumn_Location::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.name_.Destroy(); - _impl_.default_constraint_.Destroy(); + _impl_.after_column_name_.Destroy(); } -void ColumnDef::SetCachedSize(int size) const { +void AddColumn_Location::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } -void ColumnDef::Clear() { -// @@protoc_insertion_point(message_clear_start:greptime.v1.region.ColumnDef) +void AddColumn_Location::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.AddColumn.Location) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.name_.ClearToEmpty(); - _impl_.default_constraint_.ClearToEmpty(); - ::memset(&_impl_.column_id_, 0, static_cast( - reinterpret_cast(&_impl_.semantic_type_) - - reinterpret_cast(&_impl_.column_id_)) + sizeof(_impl_.semantic_type_)); + _impl_.after_column_name_.ClearToEmpty(); + _impl_.location_type_ = 0; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* AddColumn_Location::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // string name = 1; + // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_name(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.region.ColumnDef.name")); + _internal_set_location_type(static_cast<::greptime::v1::region::AddColumn_Location_LocationType>(val)); } else goto handle_unusual; continue; - // uint32 column_id = 2; + // string after_column_name = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _impl_.column_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_after_column_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.region.AddColumn.Location.after_column_name")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* AddColumn_Location::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.AddColumn.Location) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1; + if (this->_internal_location_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 1, this->_internal_location_type(), target); + } + + // string after_column_name = 2; + if (!this->_internal_after_column_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_after_column_name().data(), static_cast(this->_internal_after_column_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.region.AddColumn.Location.after_column_name"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_after_column_name(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.AddColumn.Location) + return target; +} + +size_t AddColumn_Location::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.AddColumn.Location) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string after_column_name = 2; + if (!this->_internal_after_column_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_after_column_name()); + } + + // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1; + if (this->_internal_location_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_location_type()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddColumn_Location::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + AddColumn_Location::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddColumn_Location::GetClassData() const { return &_class_data_; } + + +void AddColumn_Location::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.AddColumn.Location) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_after_column_name().empty()) { + _this->_internal_set_after_column_name(from._internal_after_column_name()); + } + if (from._internal_location_type() != 0) { + _this->_internal_set_location_type(from._internal_location_type()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AddColumn_Location::CopyFrom(const AddColumn_Location& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.AddColumn.Location) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AddColumn_Location::IsInitialized() const { + return true; +} + +void AddColumn_Location::InternalSwap(AddColumn_Location* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.after_column_name_, lhs_arena, + &other->_impl_.after_column_name_, rhs_arena + ); + swap(_impl_.location_type_, other->_impl_.location_type_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AddColumn_Location::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, + file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[17]); +} + +// =================================================================== + +class AddColumn::_Internal { + public: + static const ::greptime::v1::region::ColumnDef& column_def(const AddColumn* msg); + static const ::greptime::v1::region::AddColumn_Location& location(const AddColumn* msg); +}; + +const ::greptime::v1::region::ColumnDef& +AddColumn::_Internal::column_def(const AddColumn* msg) { + return *msg->_impl_.column_def_; +} +const ::greptime::v1::region::AddColumn_Location& +AddColumn::_Internal::location(const AddColumn* msg) { + return *msg->_impl_.location_; +} +AddColumn::AddColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.AddColumn) +} +AddColumn::AddColumn(const AddColumn& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + AddColumn* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.column_def_){nullptr} + , decltype(_impl_.location_){nullptr} + , decltype(_impl_.is_key_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_column_def()) { + _this->_impl_.column_def_ = new ::greptime::v1::region::ColumnDef(*from._impl_.column_def_); + } + if (from._internal_has_location()) { + _this->_impl_.location_ = new ::greptime::v1::region::AddColumn_Location(*from._impl_.location_); + } + _this->_impl_.is_key_ = from._impl_.is_key_; + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AddColumn) +} + +inline void AddColumn::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.column_def_){nullptr} + , decltype(_impl_.location_){nullptr} + , decltype(_impl_.is_key_){false} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +AddColumn::~AddColumn() { + // @@protoc_insertion_point(destructor:greptime.v1.region.AddColumn) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void AddColumn::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete _impl_.column_def_; + if (this != internal_default_instance()) delete _impl_.location_; +} + +void AddColumn::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void AddColumn::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.AddColumn) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) { + delete _impl_.column_def_; + } + _impl_.column_def_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.location_ != nullptr) { + delete _impl_.location_; + } + _impl_.location_ = nullptr; + _impl_.is_key_ = false; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .greptime.v1.region.ColumnDef column_def = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_column_def(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool is_key = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.is_key_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .greptime.v1.region.AddColumn.Location location = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_location(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* AddColumn::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.AddColumn) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .greptime.v1.region.ColumnDef column_def = 1; + if (this->_internal_has_column_def()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::column_def(this), + _Internal::column_def(this).GetCachedSize(), target, stream); + } + + // bool is_key = 2; + if (this->_internal_is_key() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_key(), target); + } + + // .greptime.v1.region.AddColumn.Location location = 3; + if (this->_internal_has_location()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::location(this), + _Internal::location(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.AddColumn) + return target; +} + +size_t AddColumn::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.AddColumn) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .greptime.v1.region.ColumnDef column_def = 1; + if (this->_internal_has_column_def()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.column_def_); + } + + // .greptime.v1.region.AddColumn.Location location = 3; + if (this->_internal_has_location()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.location_); + } + + // bool is_key = 2; + if (this->_internal_is_key() != 0) { + total_size += 1 + 1; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddColumn::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + AddColumn::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddColumn::GetClassData() const { return &_class_data_; } + + +void AddColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.AddColumn) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_column_def()) { + _this->_internal_mutable_column_def()->::greptime::v1::region::ColumnDef::MergeFrom( + from._internal_column_def()); + } + if (from._internal_has_location()) { + _this->_internal_mutable_location()->::greptime::v1::region::AddColumn_Location::MergeFrom( + from._internal_location()); + } + if (from._internal_is_key() != 0) { + _this->_internal_set_is_key(from._internal_is_key()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AddColumn::CopyFrom(const AddColumn& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.AddColumn) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AddColumn::IsInitialized() const { + return true; +} + +void AddColumn::InternalSwap(AddColumn* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.is_key_) + + sizeof(AddColumn::_impl_.is_key_) + - PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.column_def_)>( + reinterpret_cast(&_impl_.column_def_), + reinterpret_cast(&other->_impl_.column_def_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AddColumn::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, + file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[18]); +} + +// =================================================================== + +class DropColumn::_Internal { + public: +}; + +DropColumn::DropColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.DropColumn) +} +DropColumn::DropColumn(const DropColumn& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + DropColumn* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.DropColumn) +} + +inline void DropColumn::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +DropColumn::~DropColumn() { + // @@protoc_insertion_point(destructor:greptime.v1.region.DropColumn) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void DropColumn::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); +} + +void DropColumn::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void DropColumn::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.DropColumn) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* DropColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.region.DropColumn.name")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* DropColumn::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.DropColumn) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.region.DropColumn.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.DropColumn) + return target; +} + +size_t DropColumn::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.DropColumn) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropColumn::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + DropColumn::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropColumn::GetClassData() const { return &_class_data_; } + + +void DropColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.DropColumn) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void DropColumn::CopyFrom(const DropColumn& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.DropColumn) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool DropColumn::IsInitialized() const { + return true; +} + +void DropColumn::InternalSwap(DropColumn* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata DropColumn::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, + file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[19]); +} + +// =================================================================== + +class FlushRequest::_Internal { + public: +}; + +FlushRequest::FlushRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.FlushRequest) +} +FlushRequest::FlushRequest(const FlushRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + FlushRequest* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.region_id_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.region_id_ = from._impl_.region_id_; + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.FlushRequest) +} + +inline void FlushRequest::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.region_id_){uint64_t{0u}} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +FlushRequest::~FlushRequest() { + // @@protoc_insertion_point(destructor:greptime.v1.region.FlushRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void FlushRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void FlushRequest::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void FlushRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.FlushRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.region_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FlushRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // uint64 region_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.region_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* FlushRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.FlushRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 region_id = 1; + if (this->_internal_region_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_region_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.FlushRequest) + return target; +} + +size_t FlushRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.FlushRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // uint64 region_id = 1; + if (this->_internal_region_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_region_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FlushRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + FlushRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FlushRequest::GetClassData() const { return &_class_data_; } + + +void FlushRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.FlushRequest) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_region_id() != 0) { + _this->_internal_set_region_id(from._internal_region_id()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void FlushRequest::CopyFrom(const FlushRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.FlushRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FlushRequest::IsInitialized() const { + return true; +} + +void FlushRequest::InternalSwap(FlushRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.region_id_, other->_impl_.region_id_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FlushRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, + file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[20]); +} + +// =================================================================== + +class CompactRequest::_Internal { + public: +}; + +CompactRequest::CompactRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.CompactRequest) +} +CompactRequest::CompactRequest(const CompactRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + CompactRequest* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.region_id_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.region_id_ = from._impl_.region_id_; + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.CompactRequest) +} + +inline void CompactRequest::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.region_id_){uint64_t{0u}} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +CompactRequest::~CompactRequest() { + // @@protoc_insertion_point(destructor:greptime.v1.region.CompactRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void CompactRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void CompactRequest::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void CompactRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.CompactRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.region_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* CompactRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // uint64 region_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.region_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* CompactRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.CompactRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 region_id = 1; + if (this->_internal_region_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_region_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.CompactRequest) + return target; +} + +size_t CompactRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.CompactRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // uint64 region_id = 1; + if (this->_internal_region_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_region_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompactRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + CompactRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompactRequest::GetClassData() const { return &_class_data_; } + + +void CompactRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.CompactRequest) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_region_id() != 0) { + _this->_internal_set_region_id(from._internal_region_id()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void CompactRequest::CopyFrom(const CompactRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.CompactRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool CompactRequest::IsInitialized() const { + return true; +} + +void CompactRequest::InternalSwap(CompactRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.region_id_, other->_impl_.region_id_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata CompactRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, + file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[21]); +} + +// =================================================================== + +class ColumnDef::_Internal { + public: +}; + +ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:greptime.v1.region.ColumnDef) +} +ColumnDef::ColumnDef(const ColumnDef& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ColumnDef* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.default_constraint_){} + , decltype(_impl_.column_id_){} + , decltype(_impl_.datatype_){} + , decltype(_impl_.is_nullable_){} + , decltype(_impl_.semantic_type_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.default_constraint_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.default_constraint_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_default_constraint().empty()) { + _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.column_id_, &from._impl_.column_id_, + static_cast(reinterpret_cast(&_impl_.semantic_type_) - + reinterpret_cast(&_impl_.column_id_)) + sizeof(_impl_.semantic_type_)); + // @@protoc_insertion_point(copy_constructor:greptime.v1.region.ColumnDef) +} + +inline void ColumnDef::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.default_constraint_){} + , decltype(_impl_.column_id_){0u} + , decltype(_impl_.datatype_){0} + , decltype(_impl_.is_nullable_){false} + , decltype(_impl_.semantic_type_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.default_constraint_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.default_constraint_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ColumnDef::~ColumnDef() { + // @@protoc_insertion_point(destructor:greptime.v1.region.ColumnDef) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ColumnDef::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); + _impl_.default_constraint_.Destroy(); +} + +void ColumnDef::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ColumnDef::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.region.ColumnDef) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _impl_.default_constraint_.ClearToEmpty(); + ::memset(&_impl_.column_id_, 0, static_cast( + reinterpret_cast(&_impl_.semantic_type_) - + reinterpret_cast(&_impl_.column_id_)) + sizeof(_impl_.semantic_type_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.region.ColumnDef.name")); + } else + goto handle_unusual; + continue; + // uint32 column_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.column_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -5219,7 +6419,7 @@ void ColumnDef::InternalSwap(ColumnDef* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once, - file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[17]); + file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[22]); } // @@protoc_insertion_point(namespace_scope) @@ -5287,6 +6487,26 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::region::AlterRequest* Arena::CreateMaybeMessage< ::greptime::v1::region::AlterRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::region::AlterRequest >(arena); } +template<> PROTOBUF_NOINLINE ::greptime::v1::region::AddColumns* +Arena::CreateMaybeMessage< ::greptime::v1::region::AddColumns >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::region::AddColumns >(arena); +} +template<> PROTOBUF_NOINLINE ::greptime::v1::region::DropColumns* +Arena::CreateMaybeMessage< ::greptime::v1::region::DropColumns >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::region::DropColumns >(arena); +} +template<> PROTOBUF_NOINLINE ::greptime::v1::region::AddColumn_Location* +Arena::CreateMaybeMessage< ::greptime::v1::region::AddColumn_Location >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::region::AddColumn_Location >(arena); +} +template<> PROTOBUF_NOINLINE ::greptime::v1::region::AddColumn* +Arena::CreateMaybeMessage< ::greptime::v1::region::AddColumn >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::region::AddColumn >(arena); +} +template<> PROTOBUF_NOINLINE ::greptime::v1::region::DropColumn* +Arena::CreateMaybeMessage< ::greptime::v1::region::DropColumn >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::region::DropColumn >(arena); +} template<> PROTOBUF_NOINLINE ::greptime::v1::region::FlushRequest* Arena::CreateMaybeMessage< ::greptime::v1::region::FlushRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::region::FlushRequest >(arena); diff --git a/c++/greptime/v1/region/server.pb.h b/c++/greptime/v1/region/server.pb.h index c38e1f5a..aeb80b25 100644 --- a/c++/greptime/v1/region/server.pb.h +++ b/c++/greptime/v1/region/server.pb.h @@ -32,10 +32,10 @@ #include // IWYU pragma: export #include #include +#include #include #include "greptime/v1/common.pb.h" #include "greptime/v1/row.pb.h" -#include "greptime/v1/ddl.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_greptime_2fv1_2fregion_2fserver_2eproto @@ -53,6 +53,15 @@ extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table namespace greptime { namespace v1 { namespace region { +class AddColumn; +struct AddColumnDefaultTypeInternal; +extern AddColumnDefaultTypeInternal _AddColumn_default_instance_; +class AddColumn_Location; +struct AddColumn_LocationDefaultTypeInternal; +extern AddColumn_LocationDefaultTypeInternal _AddColumn_Location_default_instance_; +class AddColumns; +struct AddColumnsDefaultTypeInternal; +extern AddColumnsDefaultTypeInternal _AddColumns_default_instance_; class AlterRequest; struct AlterRequestDefaultTypeInternal; extern AlterRequestDefaultTypeInternal _AlterRequest_default_instance_; @@ -77,6 +86,12 @@ extern DeleteRequestDefaultTypeInternal _DeleteRequest_default_instance_; class DeleteRequests; struct DeleteRequestsDefaultTypeInternal; extern DeleteRequestsDefaultTypeInternal _DeleteRequests_default_instance_; +class DropColumn; +struct DropColumnDefaultTypeInternal; +extern DropColumnDefaultTypeInternal _DropColumn_default_instance_; +class DropColumns; +struct DropColumnsDefaultTypeInternal; +extern DropColumnsDefaultTypeInternal _DropColumns_default_instance_; class DropRequest; struct DropRequestDefaultTypeInternal; extern DropRequestDefaultTypeInternal _DropRequest_default_instance_; @@ -111,6 +126,9 @@ extern RegionResponseDefaultTypeInternal _RegionResponse_default_instance_; } // namespace v1 } // namespace greptime PROTOBUF_NAMESPACE_OPEN +template<> ::greptime::v1::region::AddColumn* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumn>(Arena*); +template<> ::greptime::v1::region::AddColumn_Location* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumn_Location>(Arena*); +template<> ::greptime::v1::region::AddColumns* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumns>(Arena*); template<> ::greptime::v1::region::AlterRequest* Arena::CreateMaybeMessage<::greptime::v1::region::AlterRequest>(Arena*); template<> ::greptime::v1::region::CloseRequest* Arena::CreateMaybeMessage<::greptime::v1::region::CloseRequest>(Arena*); template<> ::greptime::v1::region::ColumnDef* Arena::CreateMaybeMessage<::greptime::v1::region::ColumnDef>(Arena*); @@ -119,6 +137,8 @@ template<> ::greptime::v1::region::CreateRequest* Arena::CreateMaybeMessage<::gr template<> ::greptime::v1::region::CreateRequest_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::region::CreateRequest_OptionsEntry_DoNotUse>(Arena*); template<> ::greptime::v1::region::DeleteRequest* Arena::CreateMaybeMessage<::greptime::v1::region::DeleteRequest>(Arena*); template<> ::greptime::v1::region::DeleteRequests* Arena::CreateMaybeMessage<::greptime::v1::region::DeleteRequests>(Arena*); +template<> ::greptime::v1::region::DropColumn* Arena::CreateMaybeMessage<::greptime::v1::region::DropColumn>(Arena*); +template<> ::greptime::v1::region::DropColumns* Arena::CreateMaybeMessage<::greptime::v1::region::DropColumns>(Arena*); template<> ::greptime::v1::region::DropRequest* Arena::CreateMaybeMessage<::greptime::v1::region::DropRequest>(Arena*); template<> ::greptime::v1::region::FlushRequest* Arena::CreateMaybeMessage<::greptime::v1::region::FlushRequest>(Arena*); template<> ::greptime::v1::region::InsertRequest* Arena::CreateMaybeMessage<::greptime::v1::region::InsertRequest>(Arena*); @@ -134,6 +154,31 @@ namespace greptime { namespace v1 { namespace region { +enum AddColumn_Location_LocationType : int { + AddColumn_Location_LocationType_FIRST = 0, + AddColumn_Location_LocationType_AFTER = 1, + AddColumn_Location_LocationType_AddColumn_Location_LocationType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + AddColumn_Location_LocationType_AddColumn_Location_LocationType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool AddColumn_Location_LocationType_IsValid(int value); +constexpr AddColumn_Location_LocationType AddColumn_Location_LocationType_LocationType_MIN = AddColumn_Location_LocationType_FIRST; +constexpr AddColumn_Location_LocationType AddColumn_Location_LocationType_LocationType_MAX = AddColumn_Location_LocationType_AFTER; +constexpr int AddColumn_Location_LocationType_LocationType_ARRAYSIZE = AddColumn_Location_LocationType_LocationType_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumn_Location_LocationType_descriptor(); +template +inline const std::string& AddColumn_Location_LocationType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AddColumn_Location_LocationType_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + AddColumn_Location_LocationType_descriptor(), enum_t_value); +} +inline bool AddColumn_Location_LocationType_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AddColumn_Location_LocationType* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + AddColumn_Location_LocationType_descriptor(), name, value); +} // =================================================================== class RegionRequestHeader final : @@ -2649,41 +2694,41 @@ class AlterRequest final : void _internal_set_schema_version(uint64_t value); public: - // .greptime.v1.AddColumns add_columns = 2; + // .greptime.v1.region.AddColumns add_columns = 2; bool has_add_columns() const; private: bool _internal_has_add_columns() const; public: void clear_add_columns(); - const ::greptime::v1::AddColumns& add_columns() const; - PROTOBUF_NODISCARD ::greptime::v1::AddColumns* release_add_columns(); - ::greptime::v1::AddColumns* mutable_add_columns(); - void set_allocated_add_columns(::greptime::v1::AddColumns* add_columns); + const ::greptime::v1::region::AddColumns& add_columns() const; + PROTOBUF_NODISCARD ::greptime::v1::region::AddColumns* release_add_columns(); + ::greptime::v1::region::AddColumns* mutable_add_columns(); + void set_allocated_add_columns(::greptime::v1::region::AddColumns* add_columns); private: - const ::greptime::v1::AddColumns& _internal_add_columns() const; - ::greptime::v1::AddColumns* _internal_mutable_add_columns(); + const ::greptime::v1::region::AddColumns& _internal_add_columns() const; + ::greptime::v1::region::AddColumns* _internal_mutable_add_columns(); public: void unsafe_arena_set_allocated_add_columns( - ::greptime::v1::AddColumns* add_columns); - ::greptime::v1::AddColumns* unsafe_arena_release_add_columns(); + ::greptime::v1::region::AddColumns* add_columns); + ::greptime::v1::region::AddColumns* unsafe_arena_release_add_columns(); - // .greptime.v1.DropColumns drop_columns = 3; + // .greptime.v1.region.DropColumns drop_columns = 3; bool has_drop_columns() const; private: bool _internal_has_drop_columns() const; public: void clear_drop_columns(); - const ::greptime::v1::DropColumns& drop_columns() const; - PROTOBUF_NODISCARD ::greptime::v1::DropColumns* release_drop_columns(); - ::greptime::v1::DropColumns* mutable_drop_columns(); - void set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns); + const ::greptime::v1::region::DropColumns& drop_columns() const; + PROTOBUF_NODISCARD ::greptime::v1::region::DropColumns* release_drop_columns(); + ::greptime::v1::region::DropColumns* mutable_drop_columns(); + void set_allocated_drop_columns(::greptime::v1::region::DropColumns* drop_columns); private: - const ::greptime::v1::DropColumns& _internal_drop_columns() const; - ::greptime::v1::DropColumns* _internal_mutable_drop_columns(); + const ::greptime::v1::region::DropColumns& _internal_drop_columns() const; + ::greptime::v1::region::DropColumns* _internal_mutable_drop_columns(); public: void unsafe_arena_set_allocated_drop_columns( - ::greptime::v1::DropColumns* drop_columns); - ::greptime::v1::DropColumns* unsafe_arena_release_drop_columns(); + ::greptime::v1::region::DropColumns* drop_columns); + ::greptime::v1::region::DropColumns* unsafe_arena_release_drop_columns(); void clear_kind(); KindCase kind_case() const; @@ -2705,8 +2750,8 @@ class AlterRequest final : union KindUnion { constexpr KindUnion() : _constinit_{} {} ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::greptime::v1::AddColumns* add_columns_; - ::greptime::v1::DropColumns* drop_columns_; + ::greptime::v1::region::AddColumns* add_columns_; + ::greptime::v1::region::DropColumns* drop_columns_; } kind_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; uint32_t _oneof_case_[1]; @@ -2717,24 +2762,24 @@ class AlterRequest final : }; // ------------------------------------------------------------------- -class FlushRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.FlushRequest) */ { +class AddColumns final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.AddColumns) */ { public: - inline FlushRequest() : FlushRequest(nullptr) {} - ~FlushRequest() override; - explicit PROTOBUF_CONSTEXPR FlushRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AddColumns() : AddColumns(nullptr) {} + ~AddColumns() override; + explicit PROTOBUF_CONSTEXPR AddColumns(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FlushRequest(const FlushRequest& from); - FlushRequest(FlushRequest&& from) noexcept - : FlushRequest() { + AddColumns(const AddColumns& from); + AddColumns(AddColumns&& from) noexcept + : AddColumns() { *this = ::std::move(from); } - inline FlushRequest& operator=(const FlushRequest& from) { + inline AddColumns& operator=(const AddColumns& from) { CopyFrom(from); return *this; } - inline FlushRequest& operator=(FlushRequest&& from) noexcept { + inline AddColumns& operator=(AddColumns&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2757,20 +2802,20 @@ class FlushRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FlushRequest& default_instance() { + static const AddColumns& default_instance() { return *internal_default_instance(); } - static inline const FlushRequest* internal_default_instance() { - return reinterpret_cast( - &_FlushRequest_default_instance_); + static inline const AddColumns* internal_default_instance() { + return reinterpret_cast( + &_AddColumns_default_instance_); } static constexpr int kIndexInFileMessages = 15; - friend void swap(FlushRequest& a, FlushRequest& b) { + friend void swap(AddColumns& a, AddColumns& b) { a.Swap(&b); } - inline void Swap(FlushRequest* other) { + inline void Swap(AddColumns* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2783,7 +2828,7 @@ class FlushRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FlushRequest* other) { + void UnsafeArenaSwap(AddColumns* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2791,14 +2836,14 @@ class FlushRequest final : // implements Message ---------------------------------------------- - FlushRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AddColumns* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FlushRequest& from); + void CopyFrom(const AddColumns& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FlushRequest& from) { - FlushRequest::MergeImpl(*this, from); + void MergeFrom( const AddColumns& from) { + AddColumns::MergeImpl(*this, from); } private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); @@ -2816,15 +2861,15 @@ class FlushRequest final : void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FlushRequest* other); + void InternalSwap(AddColumns* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "greptime.v1.region.FlushRequest"; + return "greptime.v1.region.AddColumns"; } protected: - explicit FlushRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit AddColumns(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -2838,18 +2883,27 @@ class FlushRequest final : // accessors ------------------------------------------------------- enum : int { - kRegionIdFieldNumber = 1, + kAddColumnsFieldNumber = 1, }; - // uint64 region_id = 1; - void clear_region_id(); - uint64_t region_id() const; - void set_region_id(uint64_t value); + // repeated .greptime.v1.region.AddColumn add_columns = 1; + int add_columns_size() const; private: - uint64_t _internal_region_id() const; - void _internal_set_region_id(uint64_t value); + int _internal_add_columns_size() const; + public: + void clear_add_columns(); + ::greptime::v1::region::AddColumn* mutable_add_columns(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::AddColumn >* + mutable_add_columns(); + private: + const ::greptime::v1::region::AddColumn& _internal_add_columns(int index) const; + ::greptime::v1::region::AddColumn* _internal_add_add_columns(); public: + const ::greptime::v1::region::AddColumn& add_columns(int index) const; + ::greptime::v1::region::AddColumn* add_add_columns(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::AddColumn >& + add_columns() const; - // @@protoc_insertion_point(class_scope:greptime.v1.region.FlushRequest) + // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumns) private: class _Internal; @@ -2857,7 +2911,7 @@ class FlushRequest final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - uint64_t region_id_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::AddColumn > add_columns_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; union { Impl_ _impl_; }; @@ -2865,24 +2919,24 @@ class FlushRequest final : }; // ------------------------------------------------------------------- -class CompactRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.CompactRequest) */ { +class DropColumns final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.DropColumns) */ { public: - inline CompactRequest() : CompactRequest(nullptr) {} - ~CompactRequest() override; - explicit PROTOBUF_CONSTEXPR CompactRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DropColumns() : DropColumns(nullptr) {} + ~DropColumns() override; + explicit PROTOBUF_CONSTEXPR DropColumns(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - CompactRequest(const CompactRequest& from); - CompactRequest(CompactRequest&& from) noexcept - : CompactRequest() { + DropColumns(const DropColumns& from); + DropColumns(DropColumns&& from) noexcept + : DropColumns() { *this = ::std::move(from); } - inline CompactRequest& operator=(const CompactRequest& from) { + inline DropColumns& operator=(const DropColumns& from) { CopyFrom(from); return *this; } - inline CompactRequest& operator=(CompactRequest&& from) noexcept { + inline DropColumns& operator=(DropColumns&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2905,20 +2959,20 @@ class CompactRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CompactRequest& default_instance() { + static const DropColumns& default_instance() { return *internal_default_instance(); } - static inline const CompactRequest* internal_default_instance() { - return reinterpret_cast( - &_CompactRequest_default_instance_); + static inline const DropColumns* internal_default_instance() { + return reinterpret_cast( + &_DropColumns_default_instance_); } static constexpr int kIndexInFileMessages = 16; - friend void swap(CompactRequest& a, CompactRequest& b) { + friend void swap(DropColumns& a, DropColumns& b) { a.Swap(&b); } - inline void Swap(CompactRequest* other) { + inline void Swap(DropColumns* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2931,7 +2985,7 @@ class CompactRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CompactRequest* other) { + void UnsafeArenaSwap(DropColumns* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2939,14 +2993,14 @@ class CompactRequest final : // implements Message ---------------------------------------------- - CompactRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DropColumns* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CompactRequest& from); + void CopyFrom(const DropColumns& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CompactRequest& from) { - CompactRequest::MergeImpl(*this, from); + void MergeFrom( const DropColumns& from) { + DropColumns::MergeImpl(*this, from); } private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); @@ -2964,15 +3018,15 @@ class CompactRequest final : void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(CompactRequest* other); + void InternalSwap(DropColumns* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "greptime.v1.region.CompactRequest"; + return "greptime.v1.region.DropColumns"; } protected: - explicit CompactRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit DropColumns(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -2986,18 +3040,27 @@ class CompactRequest final : // accessors ------------------------------------------------------- enum : int { - kRegionIdFieldNumber = 1, + kDropColumnsFieldNumber = 1, }; - // uint64 region_id = 1; - void clear_region_id(); - uint64_t region_id() const; - void set_region_id(uint64_t value); + // repeated .greptime.v1.region.DropColumn drop_columns = 1; + int drop_columns_size() const; private: - uint64_t _internal_region_id() const; - void _internal_set_region_id(uint64_t value); + int _internal_drop_columns_size() const; + public: + void clear_drop_columns(); + ::greptime::v1::region::DropColumn* mutable_drop_columns(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::DropColumn >* + mutable_drop_columns(); + private: + const ::greptime::v1::region::DropColumn& _internal_drop_columns(int index) const; + ::greptime::v1::region::DropColumn* _internal_add_drop_columns(); public: + const ::greptime::v1::region::DropColumn& drop_columns(int index) const; + ::greptime::v1::region::DropColumn* add_drop_columns(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::DropColumn >& + drop_columns() const; - // @@protoc_insertion_point(class_scope:greptime.v1.region.CompactRequest) + // @@protoc_insertion_point(class_scope:greptime.v1.region.DropColumns) private: class _Internal; @@ -3005,7 +3068,7 @@ class CompactRequest final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - uint64_t region_id_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::DropColumn > drop_columns_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; union { Impl_ _impl_; }; @@ -3013,24 +3076,24 @@ class CompactRequest final : }; // ------------------------------------------------------------------- -class ColumnDef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.ColumnDef) */ { +class AddColumn_Location final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.AddColumn.Location) */ { public: - inline ColumnDef() : ColumnDef(nullptr) {} - ~ColumnDef() override; - explicit PROTOBUF_CONSTEXPR ColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AddColumn_Location() : AddColumn_Location(nullptr) {} + ~AddColumn_Location() override; + explicit PROTOBUF_CONSTEXPR AddColumn_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - ColumnDef(const ColumnDef& from); - ColumnDef(ColumnDef&& from) noexcept - : ColumnDef() { + AddColumn_Location(const AddColumn_Location& from); + AddColumn_Location(AddColumn_Location&& from) noexcept + : AddColumn_Location() { *this = ::std::move(from); } - inline ColumnDef& operator=(const ColumnDef& from) { + inline AddColumn_Location& operator=(const AddColumn_Location& from) { CopyFrom(from); return *this; } - inline ColumnDef& operator=(ColumnDef&& from) noexcept { + inline AddColumn_Location& operator=(AddColumn_Location&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3053,20 +3116,20 @@ class ColumnDef final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ColumnDef& default_instance() { + static const AddColumn_Location& default_instance() { return *internal_default_instance(); } - static inline const ColumnDef* internal_default_instance() { - return reinterpret_cast( - &_ColumnDef_default_instance_); + static inline const AddColumn_Location* internal_default_instance() { + return reinterpret_cast( + &_AddColumn_Location_default_instance_); } static constexpr int kIndexInFileMessages = 17; - friend void swap(ColumnDef& a, ColumnDef& b) { + friend void swap(AddColumn_Location& a, AddColumn_Location& b) { a.Swap(&b); } - inline void Swap(ColumnDef* other) { + inline void Swap(AddColumn_Location* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3079,7 +3142,7 @@ class ColumnDef final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ColumnDef* other) { + void UnsafeArenaSwap(AddColumn_Location* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3087,14 +3150,14 @@ class ColumnDef final : // implements Message ---------------------------------------------- - ColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AddColumn_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ColumnDef& from); + void CopyFrom(const AddColumn_Location& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ColumnDef& from) { - ColumnDef::MergeImpl(*this, from); + void MergeFrom( const AddColumn_Location& from) { + AddColumn_Location::MergeImpl(*this, from); } private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); @@ -3112,15 +3175,15 @@ class ColumnDef final : void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(ColumnDef* other); + void InternalSwap(AddColumn_Location* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "greptime.v1.region.ColumnDef"; + return "greptime.v1.region.AddColumn.Location"; } protected: - explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit AddColumn_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3131,81 +3194,66 @@ class ColumnDef final : // nested types ---------------------------------------------------- + typedef AddColumn_Location_LocationType LocationType; + static constexpr LocationType FIRST = + AddColumn_Location_LocationType_FIRST; + static constexpr LocationType AFTER = + AddColumn_Location_LocationType_AFTER; + static inline bool LocationType_IsValid(int value) { + return AddColumn_Location_LocationType_IsValid(value); + } + static constexpr LocationType LocationType_MIN = + AddColumn_Location_LocationType_LocationType_MIN; + static constexpr LocationType LocationType_MAX = + AddColumn_Location_LocationType_LocationType_MAX; + static constexpr int LocationType_ARRAYSIZE = + AddColumn_Location_LocationType_LocationType_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + LocationType_descriptor() { + return AddColumn_Location_LocationType_descriptor(); + } + template + static inline const std::string& LocationType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function LocationType_Name."); + return AddColumn_Location_LocationType_Name(enum_t_value); + } + static inline bool LocationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + LocationType* value) { + return AddColumn_Location_LocationType_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kDefaultConstraintFieldNumber = 5, - kColumnIdFieldNumber = 2, - kDatatypeFieldNumber = 3, - kIsNullableFieldNumber = 4, - kSemanticTypeFieldNumber = 6, + kAfterColumnNameFieldNumber = 2, + kLocationTypeFieldNumber = 1, }; - // string name = 1; - void clear_name(); - const std::string& name() const; + // string after_column_name = 2; + void clear_after_column_name(); + const std::string& after_column_name() const; template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // bytes default_constraint = 5; - void clear_default_constraint(); - const std::string& default_constraint() const; - template - void set_default_constraint(ArgT0&& arg0, ArgT... args); - std::string* mutable_default_constraint(); - PROTOBUF_NODISCARD std::string* release_default_constraint(); - void set_allocated_default_constraint(std::string* default_constraint); - private: - const std::string& _internal_default_constraint() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_constraint(const std::string& value); - std::string* _internal_mutable_default_constraint(); - public: - - // uint32 column_id = 2; - void clear_column_id(); - uint32_t column_id() const; - void set_column_id(uint32_t value); - private: - uint32_t _internal_column_id() const; - void _internal_set_column_id(uint32_t value); - public: - - // .greptime.v1.ColumnDataType datatype = 3; - void clear_datatype(); - ::greptime::v1::ColumnDataType datatype() const; - void set_datatype(::greptime::v1::ColumnDataType value); - private: - ::greptime::v1::ColumnDataType _internal_datatype() const; - void _internal_set_datatype(::greptime::v1::ColumnDataType value); - public: - - // bool is_nullable = 4; - void clear_is_nullable(); - bool is_nullable() const; - void set_is_nullable(bool value); + void set_after_column_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_after_column_name(); + PROTOBUF_NODISCARD std::string* release_after_column_name(); + void set_allocated_after_column_name(std::string* after_column_name); private: - bool _internal_is_nullable() const; - void _internal_set_is_nullable(bool value); + const std::string& _internal_after_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_after_column_name(const std::string& value); + std::string* _internal_mutable_after_column_name(); public: - // .greptime.v1.SemanticType semantic_type = 6; - void clear_semantic_type(); - ::greptime::v1::SemanticType semantic_type() const; - void set_semantic_type(::greptime::v1::SemanticType value); + // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1; + void clear_location_type(); + ::greptime::v1::region::AddColumn_Location_LocationType location_type() const; + void set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value); private: - ::greptime::v1::SemanticType _internal_semantic_type() const; - void _internal_set_semantic_type(::greptime::v1::SemanticType value); + ::greptime::v1::region::AddColumn_Location_LocationType _internal_location_type() const; + void _internal_set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value); public: - // @@protoc_insertion_point(class_scope:greptime.v1.region.ColumnDef) + // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn.Location) private: class _Internal; @@ -3213,100 +3261,948 @@ class ColumnDef final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_; - uint32_t column_id_; - int datatype_; - bool is_nullable_; - int semantic_type_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr after_column_name_; + int location_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; union { Impl_ _impl_; }; friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; }; -// =================================================================== - - -// =================================================================== - -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// RegionRequestHeader - -// uint64 trace_id = 1; -inline void RegionRequestHeader::clear_trace_id() { - _impl_.trace_id_ = uint64_t{0u}; -} -inline uint64_t RegionRequestHeader::_internal_trace_id() const { - return _impl_.trace_id_; -} -inline uint64_t RegionRequestHeader::trace_id() const { - // @@protoc_insertion_point(field_get:greptime.v1.region.RegionRequestHeader.trace_id) - return _internal_trace_id(); -} -inline void RegionRequestHeader::_internal_set_trace_id(uint64_t value) { - - _impl_.trace_id_ = value; -} -inline void RegionRequestHeader::set_trace_id(uint64_t value) { - _internal_set_trace_id(value); - // @@protoc_insertion_point(field_set:greptime.v1.region.RegionRequestHeader.trace_id) -} - -// uint64 span_id = 2; -inline void RegionRequestHeader::clear_span_id() { - _impl_.span_id_ = uint64_t{0u}; -} -inline uint64_t RegionRequestHeader::_internal_span_id() const { - return _impl_.span_id_; -} -inline uint64_t RegionRequestHeader::span_id() const { - // @@protoc_insertion_point(field_get:greptime.v1.region.RegionRequestHeader.span_id) - return _internal_span_id(); -} -inline void RegionRequestHeader::_internal_set_span_id(uint64_t value) { - - _impl_.span_id_ = value; -} -inline void RegionRequestHeader::set_span_id(uint64_t value) { - _internal_set_span_id(value); - // @@protoc_insertion_point(field_set:greptime.v1.region.RegionRequestHeader.span_id) -} - // ------------------------------------------------------------------- -// RegionRequest +class AddColumn final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.AddColumn) */ { + public: + inline AddColumn() : AddColumn(nullptr) {} + ~AddColumn() override; + explicit PROTOBUF_CONSTEXPR AddColumn(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); -// .greptime.v1.region.RegionRequestHeader header = 1; -inline bool RegionRequest::_internal_has_header() const { - return this != internal_default_instance() && _impl_.header_ != nullptr; -} -inline bool RegionRequest::has_header() const { - return _internal_has_header(); -} -inline void RegionRequest::clear_header() { - if (GetArenaForAllocation() == nullptr && _impl_.header_ != nullptr) { - delete _impl_.header_; + AddColumn(const AddColumn& from); + AddColumn(AddColumn&& from) noexcept + : AddColumn() { + *this = ::std::move(from); } - _impl_.header_ = nullptr; -} -inline const ::greptime::v1::region::RegionRequestHeader& RegionRequest::_internal_header() const { - const ::greptime::v1::region::RegionRequestHeader* p = _impl_.header_; - return p != nullptr ? *p : reinterpret_cast( - ::greptime::v1::region::_RegionRequestHeader_default_instance_); -} -inline const ::greptime::v1::region::RegionRequestHeader& RegionRequest::header() const { - // @@protoc_insertion_point(field_get:greptime.v1.region.RegionRequest.header) - return _internal_header(); -} -inline void RegionRequest::unsafe_arena_set_allocated_header( - ::greptime::v1::region::RegionRequestHeader* header) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.header_); + + inline AddColumn& operator=(const AddColumn& from) { + CopyFrom(from); + return *this; } - _impl_.header_ = header; + inline AddColumn& operator=(AddColumn&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AddColumn& default_instance() { + return *internal_default_instance(); + } + static inline const AddColumn* internal_default_instance() { + return reinterpret_cast( + &_AddColumn_default_instance_); + } + static constexpr int kIndexInFileMessages = + 18; + + friend void swap(AddColumn& a, AddColumn& b) { + a.Swap(&b); + } + inline void Swap(AddColumn* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AddColumn* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + AddColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AddColumn& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const AddColumn& from) { + AddColumn::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AddColumn* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.region.AddColumn"; + } + protected: + explicit AddColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef AddColumn_Location Location; + + // accessors ------------------------------------------------------- + + enum : int { + kColumnDefFieldNumber = 1, + kLocationFieldNumber = 3, + kIsKeyFieldNumber = 2, + }; + // .greptime.v1.region.ColumnDef column_def = 1; + bool has_column_def() const; + private: + bool _internal_has_column_def() const; + public: + void clear_column_def(); + const ::greptime::v1::region::ColumnDef& column_def() const; + PROTOBUF_NODISCARD ::greptime::v1::region::ColumnDef* release_column_def(); + ::greptime::v1::region::ColumnDef* mutable_column_def(); + void set_allocated_column_def(::greptime::v1::region::ColumnDef* column_def); + private: + const ::greptime::v1::region::ColumnDef& _internal_column_def() const; + ::greptime::v1::region::ColumnDef* _internal_mutable_column_def(); + public: + void unsafe_arena_set_allocated_column_def( + ::greptime::v1::region::ColumnDef* column_def); + ::greptime::v1::region::ColumnDef* unsafe_arena_release_column_def(); + + // .greptime.v1.region.AddColumn.Location location = 3; + bool has_location() const; + private: + bool _internal_has_location() const; + public: + void clear_location(); + const ::greptime::v1::region::AddColumn_Location& location() const; + PROTOBUF_NODISCARD ::greptime::v1::region::AddColumn_Location* release_location(); + ::greptime::v1::region::AddColumn_Location* mutable_location(); + void set_allocated_location(::greptime::v1::region::AddColumn_Location* location); + private: + const ::greptime::v1::region::AddColumn_Location& _internal_location() const; + ::greptime::v1::region::AddColumn_Location* _internal_mutable_location(); + public: + void unsafe_arena_set_allocated_location( + ::greptime::v1::region::AddColumn_Location* location); + ::greptime::v1::region::AddColumn_Location* unsafe_arena_release_location(); + + // bool is_key = 2; + void clear_is_key(); + bool is_key() const; + void set_is_key(bool value); + private: + bool _internal_is_key() const; + void _internal_set_is_key(bool value); + public: + + // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::greptime::v1::region::ColumnDef* column_def_; + ::greptime::v1::region::AddColumn_Location* location_; + bool is_key_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; +}; +// ------------------------------------------------------------------- + +class DropColumn final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.DropColumn) */ { + public: + inline DropColumn() : DropColumn(nullptr) {} + ~DropColumn() override; + explicit PROTOBUF_CONSTEXPR DropColumn(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DropColumn(const DropColumn& from); + DropColumn(DropColumn&& from) noexcept + : DropColumn() { + *this = ::std::move(from); + } + + inline DropColumn& operator=(const DropColumn& from) { + CopyFrom(from); + return *this; + } + inline DropColumn& operator=(DropColumn&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DropColumn& default_instance() { + return *internal_default_instance(); + } + static inline const DropColumn* internal_default_instance() { + return reinterpret_cast( + &_DropColumn_default_instance_); + } + static constexpr int kIndexInFileMessages = + 19; + + friend void swap(DropColumn& a, DropColumn& b) { + a.Swap(&b); + } + inline void Swap(DropColumn* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DropColumn* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + DropColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const DropColumn& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const DropColumn& from) { + DropColumn::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(DropColumn* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.region.DropColumn"; + } + protected: + explicit DropColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // @@protoc_insertion_point(class_scope:greptime.v1.region.DropColumn) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; +}; +// ------------------------------------------------------------------- + +class FlushRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.FlushRequest) */ { + public: + inline FlushRequest() : FlushRequest(nullptr) {} + ~FlushRequest() override; + explicit PROTOBUF_CONSTEXPR FlushRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FlushRequest(const FlushRequest& from); + FlushRequest(FlushRequest&& from) noexcept + : FlushRequest() { + *this = ::std::move(from); + } + + inline FlushRequest& operator=(const FlushRequest& from) { + CopyFrom(from); + return *this; + } + inline FlushRequest& operator=(FlushRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FlushRequest& default_instance() { + return *internal_default_instance(); + } + static inline const FlushRequest* internal_default_instance() { + return reinterpret_cast( + &_FlushRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 20; + + friend void swap(FlushRequest& a, FlushRequest& b) { + a.Swap(&b); + } + inline void Swap(FlushRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FlushRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FlushRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FlushRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const FlushRequest& from) { + FlushRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FlushRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.region.FlushRequest"; + } + protected: + explicit FlushRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRegionIdFieldNumber = 1, + }; + // uint64 region_id = 1; + void clear_region_id(); + uint64_t region_id() const; + void set_region_id(uint64_t value); + private: + uint64_t _internal_region_id() const; + void _internal_set_region_id(uint64_t value); + public: + + // @@protoc_insertion_point(class_scope:greptime.v1.region.FlushRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + uint64_t region_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; +}; +// ------------------------------------------------------------------- + +class CompactRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.CompactRequest) */ { + public: + inline CompactRequest() : CompactRequest(nullptr) {} + ~CompactRequest() override; + explicit PROTOBUF_CONSTEXPR CompactRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + CompactRequest(const CompactRequest& from); + CompactRequest(CompactRequest&& from) noexcept + : CompactRequest() { + *this = ::std::move(from); + } + + inline CompactRequest& operator=(const CompactRequest& from) { + CopyFrom(from); + return *this; + } + inline CompactRequest& operator=(CompactRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CompactRequest& default_instance() { + return *internal_default_instance(); + } + static inline const CompactRequest* internal_default_instance() { + return reinterpret_cast( + &_CompactRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 21; + + friend void swap(CompactRequest& a, CompactRequest& b) { + a.Swap(&b); + } + inline void Swap(CompactRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CompactRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + CompactRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const CompactRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const CompactRequest& from) { + CompactRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(CompactRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.region.CompactRequest"; + } + protected: + explicit CompactRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRegionIdFieldNumber = 1, + }; + // uint64 region_id = 1; + void clear_region_id(); + uint64_t region_id() const; + void set_region_id(uint64_t value); + private: + uint64_t _internal_region_id() const; + void _internal_set_region_id(uint64_t value); + public: + + // @@protoc_insertion_point(class_scope:greptime.v1.region.CompactRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + uint64_t region_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; +}; +// ------------------------------------------------------------------- + +class ColumnDef final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.ColumnDef) */ { + public: + inline ColumnDef() : ColumnDef(nullptr) {} + ~ColumnDef() override; + explicit PROTOBUF_CONSTEXPR ColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ColumnDef(const ColumnDef& from); + ColumnDef(ColumnDef&& from) noexcept + : ColumnDef() { + *this = ::std::move(from); + } + + inline ColumnDef& operator=(const ColumnDef& from) { + CopyFrom(from); + return *this; + } + inline ColumnDef& operator=(ColumnDef&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ColumnDef& default_instance() { + return *internal_default_instance(); + } + static inline const ColumnDef* internal_default_instance() { + return reinterpret_cast( + &_ColumnDef_default_instance_); + } + static constexpr int kIndexInFileMessages = + 22; + + friend void swap(ColumnDef& a, ColumnDef& b) { + a.Swap(&b); + } + inline void Swap(ColumnDef* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ColumnDef* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ColumnDef& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ColumnDef& from) { + ColumnDef::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ColumnDef* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.region.ColumnDef"; + } + protected: + explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kDefaultConstraintFieldNumber = 5, + kColumnIdFieldNumber = 2, + kDatatypeFieldNumber = 3, + kIsNullableFieldNumber = 4, + kSemanticTypeFieldNumber = 6, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // bytes default_constraint = 5; + void clear_default_constraint(); + const std::string& default_constraint() const; + template + void set_default_constraint(ArgT0&& arg0, ArgT... args); + std::string* mutable_default_constraint(); + PROTOBUF_NODISCARD std::string* release_default_constraint(); + void set_allocated_default_constraint(std::string* default_constraint); + private: + const std::string& _internal_default_constraint() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_constraint(const std::string& value); + std::string* _internal_mutable_default_constraint(); + public: + + // uint32 column_id = 2; + void clear_column_id(); + uint32_t column_id() const; + void set_column_id(uint32_t value); + private: + uint32_t _internal_column_id() const; + void _internal_set_column_id(uint32_t value); + public: + + // .greptime.v1.ColumnDataType datatype = 3; + void clear_datatype(); + ::greptime::v1::ColumnDataType datatype() const; + void set_datatype(::greptime::v1::ColumnDataType value); + private: + ::greptime::v1::ColumnDataType _internal_datatype() const; + void _internal_set_datatype(::greptime::v1::ColumnDataType value); + public: + + // bool is_nullable = 4; + void clear_is_nullable(); + bool is_nullable() const; + void set_is_nullable(bool value); + private: + bool _internal_is_nullable() const; + void _internal_set_is_nullable(bool value); + public: + + // .greptime.v1.SemanticType semantic_type = 6; + void clear_semantic_type(); + ::greptime::v1::SemanticType semantic_type() const; + void set_semantic_type(::greptime::v1::SemanticType value); + private: + ::greptime::v1::SemanticType _internal_semantic_type() const; + void _internal_set_semantic_type(::greptime::v1::SemanticType value); + public: + + // @@protoc_insertion_point(class_scope:greptime.v1.region.ColumnDef) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_; + uint32_t column_id_; + int datatype_; + bool is_nullable_; + int semantic_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// RegionRequestHeader + +// uint64 trace_id = 1; +inline void RegionRequestHeader::clear_trace_id() { + _impl_.trace_id_ = uint64_t{0u}; +} +inline uint64_t RegionRequestHeader::_internal_trace_id() const { + return _impl_.trace_id_; +} +inline uint64_t RegionRequestHeader::trace_id() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.RegionRequestHeader.trace_id) + return _internal_trace_id(); +} +inline void RegionRequestHeader::_internal_set_trace_id(uint64_t value) { + + _impl_.trace_id_ = value; +} +inline void RegionRequestHeader::set_trace_id(uint64_t value) { + _internal_set_trace_id(value); + // @@protoc_insertion_point(field_set:greptime.v1.region.RegionRequestHeader.trace_id) +} + +// uint64 span_id = 2; +inline void RegionRequestHeader::clear_span_id() { + _impl_.span_id_ = uint64_t{0u}; +} +inline uint64_t RegionRequestHeader::_internal_span_id() const { + return _impl_.span_id_; +} +inline uint64_t RegionRequestHeader::span_id() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.RegionRequestHeader.span_id) + return _internal_span_id(); +} +inline void RegionRequestHeader::_internal_set_span_id(uint64_t value) { + + _impl_.span_id_ = value; +} +inline void RegionRequestHeader::set_span_id(uint64_t value) { + _internal_set_span_id(value); + // @@protoc_insertion_point(field_set:greptime.v1.region.RegionRequestHeader.span_id) +} + +// ------------------------------------------------------------------- + +// RegionRequest + +// .greptime.v1.region.RegionRequestHeader header = 1; +inline bool RegionRequest::_internal_has_header() const { + return this != internal_default_instance() && _impl_.header_ != nullptr; +} +inline bool RegionRequest::has_header() const { + return _internal_has_header(); +} +inline void RegionRequest::clear_header() { + if (GetArenaForAllocation() == nullptr && _impl_.header_ != nullptr) { + delete _impl_.header_; + } + _impl_.header_ = nullptr; +} +inline const ::greptime::v1::region::RegionRequestHeader& RegionRequest::_internal_header() const { + const ::greptime::v1::region::RegionRequestHeader* p = _impl_.header_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::region::_RegionRequestHeader_default_instance_); +} +inline const ::greptime::v1::region::RegionRequestHeader& RegionRequest::header() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.RegionRequest.header) + return _internal_header(); +} +inline void RegionRequest::unsafe_arena_set_allocated_header( + ::greptime::v1::region::RegionRequestHeader* header) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.header_); + } + _impl_.header_ = header; if (header) { } else { @@ -5122,7 +6018,7 @@ inline void AlterRequest::set_region_id(uint64_t value) { // @@protoc_insertion_point(field_set:greptime.v1.region.AlterRequest.region_id) } -// .greptime.v1.AddColumns add_columns = 2; +// .greptime.v1.region.AddColumns add_columns = 2; inline bool AlterRequest::_internal_has_add_columns() const { return kind_case() == kAddColumns; } @@ -5132,11 +6028,19 @@ inline bool AlterRequest::has_add_columns() const { inline void AlterRequest::set_has_add_columns() { _impl_._oneof_case_[0] = kAddColumns; } -inline ::greptime::v1::AddColumns* AlterRequest::release_add_columns() { +inline void AlterRequest::clear_add_columns() { + if (_internal_has_add_columns()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.kind_.add_columns_; + } + clear_has_kind(); + } +} +inline ::greptime::v1::region::AddColumns* AlterRequest::release_add_columns() { // @@protoc_insertion_point(field_release:greptime.v1.region.AlterRequest.add_columns) if (_internal_has_add_columns()) { clear_has_kind(); - ::greptime::v1::AddColumns* temp = _impl_.kind_.add_columns_; + ::greptime::v1::region::AddColumns* temp = _impl_.kind_.add_columns_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } @@ -5146,27 +6050,27 @@ inline ::greptime::v1::AddColumns* AlterRequest::release_add_columns() { return nullptr; } } -inline const ::greptime::v1::AddColumns& AlterRequest::_internal_add_columns() const { +inline const ::greptime::v1::region::AddColumns& AlterRequest::_internal_add_columns() const { return _internal_has_add_columns() ? *_impl_.kind_.add_columns_ - : reinterpret_cast< ::greptime::v1::AddColumns&>(::greptime::v1::_AddColumns_default_instance_); + : reinterpret_cast< ::greptime::v1::region::AddColumns&>(::greptime::v1::region::_AddColumns_default_instance_); } -inline const ::greptime::v1::AddColumns& AlterRequest::add_columns() const { +inline const ::greptime::v1::region::AddColumns& AlterRequest::add_columns() const { // @@protoc_insertion_point(field_get:greptime.v1.region.AlterRequest.add_columns) return _internal_add_columns(); } -inline ::greptime::v1::AddColumns* AlterRequest::unsafe_arena_release_add_columns() { +inline ::greptime::v1::region::AddColumns* AlterRequest::unsafe_arena_release_add_columns() { // @@protoc_insertion_point(field_unsafe_arena_release:greptime.v1.region.AlterRequest.add_columns) if (_internal_has_add_columns()) { clear_has_kind(); - ::greptime::v1::AddColumns* temp = _impl_.kind_.add_columns_; + ::greptime::v1::region::AddColumns* temp = _impl_.kind_.add_columns_; _impl_.kind_.add_columns_ = nullptr; return temp; } else { return nullptr; } } -inline void AlterRequest::unsafe_arena_set_allocated_add_columns(::greptime::v1::AddColumns* add_columns) { +inline void AlterRequest::unsafe_arena_set_allocated_add_columns(::greptime::v1::region::AddColumns* add_columns) { clear_kind(); if (add_columns) { set_has_add_columns(); @@ -5174,21 +6078,21 @@ inline void AlterRequest::unsafe_arena_set_allocated_add_columns(::greptime::v1: } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AlterRequest.add_columns) } -inline ::greptime::v1::AddColumns* AlterRequest::_internal_mutable_add_columns() { +inline ::greptime::v1::region::AddColumns* AlterRequest::_internal_mutable_add_columns() { if (!_internal_has_add_columns()) { clear_kind(); set_has_add_columns(); - _impl_.kind_.add_columns_ = CreateMaybeMessage< ::greptime::v1::AddColumns >(GetArenaForAllocation()); + _impl_.kind_.add_columns_ = CreateMaybeMessage< ::greptime::v1::region::AddColumns >(GetArenaForAllocation()); } return _impl_.kind_.add_columns_; } -inline ::greptime::v1::AddColumns* AlterRequest::mutable_add_columns() { - ::greptime::v1::AddColumns* _msg = _internal_mutable_add_columns(); +inline ::greptime::v1::region::AddColumns* AlterRequest::mutable_add_columns() { + ::greptime::v1::region::AddColumns* _msg = _internal_mutable_add_columns(); // @@protoc_insertion_point(field_mutable:greptime.v1.region.AlterRequest.add_columns) return _msg; } -// .greptime.v1.DropColumns drop_columns = 3; +// .greptime.v1.region.DropColumns drop_columns = 3; inline bool AlterRequest::_internal_has_drop_columns() const { return kind_case() == kDropColumns; } @@ -5198,11 +6102,19 @@ inline bool AlterRequest::has_drop_columns() const { inline void AlterRequest::set_has_drop_columns() { _impl_._oneof_case_[0] = kDropColumns; } -inline ::greptime::v1::DropColumns* AlterRequest::release_drop_columns() { +inline void AlterRequest::clear_drop_columns() { + if (_internal_has_drop_columns()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.kind_.drop_columns_; + } + clear_has_kind(); + } +} +inline ::greptime::v1::region::DropColumns* AlterRequest::release_drop_columns() { // @@protoc_insertion_point(field_release:greptime.v1.region.AlterRequest.drop_columns) if (_internal_has_drop_columns()) { clear_has_kind(); - ::greptime::v1::DropColumns* temp = _impl_.kind_.drop_columns_; + ::greptime::v1::region::DropColumns* temp = _impl_.kind_.drop_columns_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } @@ -5212,27 +6124,27 @@ inline ::greptime::v1::DropColumns* AlterRequest::release_drop_columns() { return nullptr; } } -inline const ::greptime::v1::DropColumns& AlterRequest::_internal_drop_columns() const { +inline const ::greptime::v1::region::DropColumns& AlterRequest::_internal_drop_columns() const { return _internal_has_drop_columns() ? *_impl_.kind_.drop_columns_ - : reinterpret_cast< ::greptime::v1::DropColumns&>(::greptime::v1::_DropColumns_default_instance_); + : reinterpret_cast< ::greptime::v1::region::DropColumns&>(::greptime::v1::region::_DropColumns_default_instance_); } -inline const ::greptime::v1::DropColumns& AlterRequest::drop_columns() const { +inline const ::greptime::v1::region::DropColumns& AlterRequest::drop_columns() const { // @@protoc_insertion_point(field_get:greptime.v1.region.AlterRequest.drop_columns) return _internal_drop_columns(); } -inline ::greptime::v1::DropColumns* AlterRequest::unsafe_arena_release_drop_columns() { +inline ::greptime::v1::region::DropColumns* AlterRequest::unsafe_arena_release_drop_columns() { // @@protoc_insertion_point(field_unsafe_arena_release:greptime.v1.region.AlterRequest.drop_columns) if (_internal_has_drop_columns()) { clear_has_kind(); - ::greptime::v1::DropColumns* temp = _impl_.kind_.drop_columns_; + ::greptime::v1::region::DropColumns* temp = _impl_.kind_.drop_columns_; _impl_.kind_.drop_columns_ = nullptr; return temp; } else { return nullptr; } } -inline void AlterRequest::unsafe_arena_set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns) { +inline void AlterRequest::unsafe_arena_set_allocated_drop_columns(::greptime::v1::region::DropColumns* drop_columns) { clear_kind(); if (drop_columns) { set_has_drop_columns(); @@ -5240,16 +6152,16 @@ inline void AlterRequest::unsafe_arena_set_allocated_drop_columns(::greptime::v1 } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AlterRequest.drop_columns) } -inline ::greptime::v1::DropColumns* AlterRequest::_internal_mutable_drop_columns() { +inline ::greptime::v1::region::DropColumns* AlterRequest::_internal_mutable_drop_columns() { if (!_internal_has_drop_columns()) { clear_kind(); set_has_drop_columns(); - _impl_.kind_.drop_columns_ = CreateMaybeMessage< ::greptime::v1::DropColumns >(GetArenaForAllocation()); + _impl_.kind_.drop_columns_ = CreateMaybeMessage< ::greptime::v1::region::DropColumns >(GetArenaForAllocation()); } return _impl_.kind_.drop_columns_; } -inline ::greptime::v1::DropColumns* AlterRequest::mutable_drop_columns() { - ::greptime::v1::DropColumns* _msg = _internal_mutable_drop_columns(); +inline ::greptime::v1::region::DropColumns* AlterRequest::mutable_drop_columns() { + ::greptime::v1::region::DropColumns* _msg = _internal_mutable_drop_columns(); // @@protoc_insertion_point(field_mutable:greptime.v1.region.AlterRequest.drop_columns) return _msg; } @@ -5285,6 +6197,426 @@ inline AlterRequest::KindCase AlterRequest::kind_case() const { } // ------------------------------------------------------------------- +// AddColumns + +// repeated .greptime.v1.region.AddColumn add_columns = 1; +inline int AddColumns::_internal_add_columns_size() const { + return _impl_.add_columns_.size(); +} +inline int AddColumns::add_columns_size() const { + return _internal_add_columns_size(); +} +inline void AddColumns::clear_add_columns() { + _impl_.add_columns_.Clear(); +} +inline ::greptime::v1::region::AddColumn* AddColumns::mutable_add_columns(int index) { + // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumns.add_columns) + return _impl_.add_columns_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::AddColumn >* +AddColumns::mutable_add_columns() { + // @@protoc_insertion_point(field_mutable_list:greptime.v1.region.AddColumns.add_columns) + return &_impl_.add_columns_; +} +inline const ::greptime::v1::region::AddColumn& AddColumns::_internal_add_columns(int index) const { + return _impl_.add_columns_.Get(index); +} +inline const ::greptime::v1::region::AddColumn& AddColumns::add_columns(int index) const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumns.add_columns) + return _internal_add_columns(index); +} +inline ::greptime::v1::region::AddColumn* AddColumns::_internal_add_add_columns() { + return _impl_.add_columns_.Add(); +} +inline ::greptime::v1::region::AddColumn* AddColumns::add_add_columns() { + ::greptime::v1::region::AddColumn* _add = _internal_add_add_columns(); + // @@protoc_insertion_point(field_add:greptime.v1.region.AddColumns.add_columns) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::AddColumn >& +AddColumns::add_columns() const { + // @@protoc_insertion_point(field_list:greptime.v1.region.AddColumns.add_columns) + return _impl_.add_columns_; +} + +// ------------------------------------------------------------------- + +// DropColumns + +// repeated .greptime.v1.region.DropColumn drop_columns = 1; +inline int DropColumns::_internal_drop_columns_size() const { + return _impl_.drop_columns_.size(); +} +inline int DropColumns::drop_columns_size() const { + return _internal_drop_columns_size(); +} +inline void DropColumns::clear_drop_columns() { + _impl_.drop_columns_.Clear(); +} +inline ::greptime::v1::region::DropColumn* DropColumns::mutable_drop_columns(int index) { + // @@protoc_insertion_point(field_mutable:greptime.v1.region.DropColumns.drop_columns) + return _impl_.drop_columns_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::DropColumn >* +DropColumns::mutable_drop_columns() { + // @@protoc_insertion_point(field_mutable_list:greptime.v1.region.DropColumns.drop_columns) + return &_impl_.drop_columns_; +} +inline const ::greptime::v1::region::DropColumn& DropColumns::_internal_drop_columns(int index) const { + return _impl_.drop_columns_.Get(index); +} +inline const ::greptime::v1::region::DropColumn& DropColumns::drop_columns(int index) const { + // @@protoc_insertion_point(field_get:greptime.v1.region.DropColumns.drop_columns) + return _internal_drop_columns(index); +} +inline ::greptime::v1::region::DropColumn* DropColumns::_internal_add_drop_columns() { + return _impl_.drop_columns_.Add(); +} +inline ::greptime::v1::region::DropColumn* DropColumns::add_drop_columns() { + ::greptime::v1::region::DropColumn* _add = _internal_add_drop_columns(); + // @@protoc_insertion_point(field_add:greptime.v1.region.DropColumns.drop_columns) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::DropColumn >& +DropColumns::drop_columns() const { + // @@protoc_insertion_point(field_list:greptime.v1.region.DropColumns.drop_columns) + return _impl_.drop_columns_; +} + +// ------------------------------------------------------------------- + +// AddColumn_Location + +// .greptime.v1.region.AddColumn.Location.LocationType location_type = 1; +inline void AddColumn_Location::clear_location_type() { + _impl_.location_type_ = 0; +} +inline ::greptime::v1::region::AddColumn_Location_LocationType AddColumn_Location::_internal_location_type() const { + return static_cast< ::greptime::v1::region::AddColumn_Location_LocationType >(_impl_.location_type_); +} +inline ::greptime::v1::region::AddColumn_Location_LocationType AddColumn_Location::location_type() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.Location.location_type) + return _internal_location_type(); +} +inline void AddColumn_Location::_internal_set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value) { + + _impl_.location_type_ = value; +} +inline void AddColumn_Location::set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value) { + _internal_set_location_type(value); + // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.Location.location_type) +} + +// string after_column_name = 2; +inline void AddColumn_Location::clear_after_column_name() { + _impl_.after_column_name_.ClearToEmpty(); +} +inline const std::string& AddColumn_Location::after_column_name() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.Location.after_column_name) + return _internal_after_column_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AddColumn_Location::set_after_column_name(ArgT0&& arg0, ArgT... args) { + + _impl_.after_column_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.Location.after_column_name) +} +inline std::string* AddColumn_Location::mutable_after_column_name() { + std::string* _s = _internal_mutable_after_column_name(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumn.Location.after_column_name) + return _s; +} +inline const std::string& AddColumn_Location::_internal_after_column_name() const { + return _impl_.after_column_name_.Get(); +} +inline void AddColumn_Location::_internal_set_after_column_name(const std::string& value) { + + _impl_.after_column_name_.Set(value, GetArenaForAllocation()); +} +inline std::string* AddColumn_Location::_internal_mutable_after_column_name() { + + return _impl_.after_column_name_.Mutable(GetArenaForAllocation()); +} +inline std::string* AddColumn_Location::release_after_column_name() { + // @@protoc_insertion_point(field_release:greptime.v1.region.AddColumn.Location.after_column_name) + return _impl_.after_column_name_.Release(); +} +inline void AddColumn_Location::set_allocated_after_column_name(std::string* after_column_name) { + if (after_column_name != nullptr) { + + } else { + + } + _impl_.after_column_name_.SetAllocated(after_column_name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.after_column_name_.IsDefault()) { + _impl_.after_column_name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AddColumn.Location.after_column_name) +} + +// ------------------------------------------------------------------- + +// AddColumn + +// .greptime.v1.region.ColumnDef column_def = 1; +inline bool AddColumn::_internal_has_column_def() const { + return this != internal_default_instance() && _impl_.column_def_ != nullptr; +} +inline bool AddColumn::has_column_def() const { + return _internal_has_column_def(); +} +inline void AddColumn::clear_column_def() { + if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) { + delete _impl_.column_def_; + } + _impl_.column_def_ = nullptr; +} +inline const ::greptime::v1::region::ColumnDef& AddColumn::_internal_column_def() const { + const ::greptime::v1::region::ColumnDef* p = _impl_.column_def_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::region::_ColumnDef_default_instance_); +} +inline const ::greptime::v1::region::ColumnDef& AddColumn::column_def() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.column_def) + return _internal_column_def(); +} +inline void AddColumn::unsafe_arena_set_allocated_column_def( + ::greptime::v1::region::ColumnDef* column_def) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.column_def_); + } + _impl_.column_def_ = column_def; + if (column_def) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AddColumn.column_def) +} +inline ::greptime::v1::region::ColumnDef* AddColumn::release_column_def() { + + ::greptime::v1::region::ColumnDef* temp = _impl_.column_def_; + _impl_.column_def_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::greptime::v1::region::ColumnDef* AddColumn::unsafe_arena_release_column_def() { + // @@protoc_insertion_point(field_release:greptime.v1.region.AddColumn.column_def) + + ::greptime::v1::region::ColumnDef* temp = _impl_.column_def_; + _impl_.column_def_ = nullptr; + return temp; +} +inline ::greptime::v1::region::ColumnDef* AddColumn::_internal_mutable_column_def() { + + if (_impl_.column_def_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::region::ColumnDef>(GetArenaForAllocation()); + _impl_.column_def_ = p; + } + return _impl_.column_def_; +} +inline ::greptime::v1::region::ColumnDef* AddColumn::mutable_column_def() { + ::greptime::v1::region::ColumnDef* _msg = _internal_mutable_column_def(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumn.column_def) + return _msg; +} +inline void AddColumn::set_allocated_column_def(::greptime::v1::region::ColumnDef* column_def) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.column_def_; + } + if (column_def) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(column_def); + if (message_arena != submessage_arena) { + column_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, column_def, submessage_arena); + } + + } else { + + } + _impl_.column_def_ = column_def; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AddColumn.column_def) +} + +// bool is_key = 2; +inline void AddColumn::clear_is_key() { + _impl_.is_key_ = false; +} +inline bool AddColumn::_internal_is_key() const { + return _impl_.is_key_; +} +inline bool AddColumn::is_key() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.is_key) + return _internal_is_key(); +} +inline void AddColumn::_internal_set_is_key(bool value) { + + _impl_.is_key_ = value; +} +inline void AddColumn::set_is_key(bool value) { + _internal_set_is_key(value); + // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.is_key) +} + +// .greptime.v1.region.AddColumn.Location location = 3; +inline bool AddColumn::_internal_has_location() const { + return this != internal_default_instance() && _impl_.location_ != nullptr; +} +inline bool AddColumn::has_location() const { + return _internal_has_location(); +} +inline void AddColumn::clear_location() { + if (GetArenaForAllocation() == nullptr && _impl_.location_ != nullptr) { + delete _impl_.location_; + } + _impl_.location_ = nullptr; +} +inline const ::greptime::v1::region::AddColumn_Location& AddColumn::_internal_location() const { + const ::greptime::v1::region::AddColumn_Location* p = _impl_.location_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::region::_AddColumn_Location_default_instance_); +} +inline const ::greptime::v1::region::AddColumn_Location& AddColumn::location() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.location) + return _internal_location(); +} +inline void AddColumn::unsafe_arena_set_allocated_location( + ::greptime::v1::region::AddColumn_Location* location) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_); + } + _impl_.location_ = location; + if (location) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AddColumn.location) +} +inline ::greptime::v1::region::AddColumn_Location* AddColumn::release_location() { + + ::greptime::v1::region::AddColumn_Location* temp = _impl_.location_; + _impl_.location_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::greptime::v1::region::AddColumn_Location* AddColumn::unsafe_arena_release_location() { + // @@protoc_insertion_point(field_release:greptime.v1.region.AddColumn.location) + + ::greptime::v1::region::AddColumn_Location* temp = _impl_.location_; + _impl_.location_ = nullptr; + return temp; +} +inline ::greptime::v1::region::AddColumn_Location* AddColumn::_internal_mutable_location() { + + if (_impl_.location_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::region::AddColumn_Location>(GetArenaForAllocation()); + _impl_.location_ = p; + } + return _impl_.location_; +} +inline ::greptime::v1::region::AddColumn_Location* AddColumn::mutable_location() { + ::greptime::v1::region::AddColumn_Location* _msg = _internal_mutable_location(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumn.location) + return _msg; +} +inline void AddColumn::set_allocated_location(::greptime::v1::region::AddColumn_Location* location) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.location_; + } + if (location) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(location); + if (message_arena != submessage_arena) { + location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, location, submessage_arena); + } + + } else { + + } + _impl_.location_ = location; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AddColumn.location) +} + +// ------------------------------------------------------------------- + +// DropColumn + +// string name = 1; +inline void DropColumn::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& DropColumn::name() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.DropColumn.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void DropColumn::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:greptime.v1.region.DropColumn.name) +} +inline std::string* DropColumn::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.DropColumn.name) + return _s; +} +inline const std::string& DropColumn::_internal_name() const { + return _impl_.name_.Get(); +} +inline void DropColumn::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* DropColumn::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* DropColumn::release_name() { + // @@protoc_insertion_point(field_release:greptime.v1.region.DropColumn.name) + return _impl_.name_.Release(); +} +inline void DropColumn::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.DropColumn.name) +} + +// ------------------------------------------------------------------- + // FlushRequest // uint64 region_id = 1; @@ -5552,6 +6884,16 @@ inline void ColumnDef::set_semantic_type(::greptime::v1::SemanticType value) { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -5559,6 +6901,16 @@ inline void ColumnDef::set_semantic_type(::greptime::v1::SemanticType value) { } // namespace v1 } // namespace greptime +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::greptime::v1::region::AddColumn_Location_LocationType> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::greptime::v1::region::AddColumn_Location_LocationType>() { + return ::greptime::v1::region::AddColumn_Location_LocationType_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + // @@protoc_insertion_point(global_scope) #include diff --git a/java/src/main/java/io/greptime/v1/region/Server.java b/java/src/main/java/io/greptime/v1/region/Server.java index ea302f84..0e2ec479 100644 --- a/java/src/main/java/io/greptime/v1/region/Server.java +++ b/java/src/main/java/io/greptime/v1/region/Server.java @@ -12345,34 +12345,34 @@ public interface AlterRequestOrBuilder extends long getRegionId(); /** - * .greptime.v1.AddColumns add_columns = 2; + * .greptime.v1.region.AddColumns add_columns = 2; * @return Whether the addColumns field is set. */ boolean hasAddColumns(); /** - * .greptime.v1.AddColumns add_columns = 2; + * .greptime.v1.region.AddColumns add_columns = 2; * @return The addColumns. */ - io.greptime.v1.Ddl.AddColumns getAddColumns(); + io.greptime.v1.region.Server.AddColumns getAddColumns(); /** - * .greptime.v1.AddColumns add_columns = 2; + * .greptime.v1.region.AddColumns add_columns = 2; */ - io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder(); + io.greptime.v1.region.Server.AddColumnsOrBuilder getAddColumnsOrBuilder(); /** - * .greptime.v1.DropColumns drop_columns = 3; + * .greptime.v1.region.DropColumns drop_columns = 3; * @return Whether the dropColumns field is set. */ boolean hasDropColumns(); /** - * .greptime.v1.DropColumns drop_columns = 3; + * .greptime.v1.region.DropColumns drop_columns = 3; * @return The dropColumns. */ - io.greptime.v1.Ddl.DropColumns getDropColumns(); + io.greptime.v1.region.Server.DropColumns getDropColumns(); /** - * .greptime.v1.DropColumns drop_columns = 3; + * .greptime.v1.region.DropColumns drop_columns = 3; */ - io.greptime.v1.Ddl.DropColumnsOrBuilder getDropColumnsOrBuilder(); + io.greptime.v1.region.Server.DropColumnsOrBuilder getDropColumnsOrBuilder(); /** *
@@ -12437,28 +12437,28 @@ private AlterRequest(
               break;
             }
             case 18: {
-              io.greptime.v1.Ddl.AddColumns.Builder subBuilder = null;
+              io.greptime.v1.region.Server.AddColumns.Builder subBuilder = null;
               if (kindCase_ == 2) {
-                subBuilder = ((io.greptime.v1.Ddl.AddColumns) kind_).toBuilder();
+                subBuilder = ((io.greptime.v1.region.Server.AddColumns) kind_).toBuilder();
               }
               kind_ =
-                  input.readMessage(io.greptime.v1.Ddl.AddColumns.parser(), extensionRegistry);
+                  input.readMessage(io.greptime.v1.region.Server.AddColumns.parser(), extensionRegistry);
               if (subBuilder != null) {
-                subBuilder.mergeFrom((io.greptime.v1.Ddl.AddColumns) kind_);
+                subBuilder.mergeFrom((io.greptime.v1.region.Server.AddColumns) kind_);
                 kind_ = subBuilder.buildPartial();
               }
               kindCase_ = 2;
               break;
             }
             case 26: {
-              io.greptime.v1.Ddl.DropColumns.Builder subBuilder = null;
+              io.greptime.v1.region.Server.DropColumns.Builder subBuilder = null;
               if (kindCase_ == 3) {
-                subBuilder = ((io.greptime.v1.Ddl.DropColumns) kind_).toBuilder();
+                subBuilder = ((io.greptime.v1.region.Server.DropColumns) kind_).toBuilder();
               }
               kind_ =
-                  input.readMessage(io.greptime.v1.Ddl.DropColumns.parser(), extensionRegistry);
+                  input.readMessage(io.greptime.v1.region.Server.DropColumns.parser(), extensionRegistry);
               if (subBuilder != null) {
-                subBuilder.mergeFrom((io.greptime.v1.Ddl.DropColumns) kind_);
+                subBuilder.mergeFrom((io.greptime.v1.region.Server.DropColumns) kind_);
                 kind_ = subBuilder.buildPartial();
               }
               kindCase_ = 3;
@@ -12557,7 +12557,7 @@ public long getRegionId() {
 
     public static final int ADD_COLUMNS_FIELD_NUMBER = 2;
     /**
-     * .greptime.v1.AddColumns add_columns = 2;
+     * .greptime.v1.region.AddColumns add_columns = 2;
      * @return Whether the addColumns field is set.
      */
     @java.lang.Override
@@ -12565,30 +12565,30 @@ public boolean hasAddColumns() {
       return kindCase_ == 2;
     }
     /**
-     * .greptime.v1.AddColumns add_columns = 2;
+     * .greptime.v1.region.AddColumns add_columns = 2;
      * @return The addColumns.
      */
     @java.lang.Override
-    public io.greptime.v1.Ddl.AddColumns getAddColumns() {
+    public io.greptime.v1.region.Server.AddColumns getAddColumns() {
       if (kindCase_ == 2) {
-         return (io.greptime.v1.Ddl.AddColumns) kind_;
+         return (io.greptime.v1.region.Server.AddColumns) kind_;
       }
-      return io.greptime.v1.Ddl.AddColumns.getDefaultInstance();
+      return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
     }
     /**
-     * .greptime.v1.AddColumns add_columns = 2;
+     * .greptime.v1.region.AddColumns add_columns = 2;
      */
     @java.lang.Override
-    public io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder() {
+    public io.greptime.v1.region.Server.AddColumnsOrBuilder getAddColumnsOrBuilder() {
       if (kindCase_ == 2) {
-         return (io.greptime.v1.Ddl.AddColumns) kind_;
+         return (io.greptime.v1.region.Server.AddColumns) kind_;
       }
-      return io.greptime.v1.Ddl.AddColumns.getDefaultInstance();
+      return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
     }
 
     public static final int DROP_COLUMNS_FIELD_NUMBER = 3;
     /**
-     * .greptime.v1.DropColumns drop_columns = 3;
+     * .greptime.v1.region.DropColumns drop_columns = 3;
      * @return Whether the dropColumns field is set.
      */
     @java.lang.Override
@@ -12596,25 +12596,25 @@ public boolean hasDropColumns() {
       return kindCase_ == 3;
     }
     /**
-     * .greptime.v1.DropColumns drop_columns = 3;
+     * .greptime.v1.region.DropColumns drop_columns = 3;
      * @return The dropColumns.
      */
     @java.lang.Override
-    public io.greptime.v1.Ddl.DropColumns getDropColumns() {
+    public io.greptime.v1.region.Server.DropColumns getDropColumns() {
       if (kindCase_ == 3) {
-         return (io.greptime.v1.Ddl.DropColumns) kind_;
+         return (io.greptime.v1.region.Server.DropColumns) kind_;
       }
-      return io.greptime.v1.Ddl.DropColumns.getDefaultInstance();
+      return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
     }
     /**
-     * .greptime.v1.DropColumns drop_columns = 3;
+     * .greptime.v1.region.DropColumns drop_columns = 3;
      */
     @java.lang.Override
-    public io.greptime.v1.Ddl.DropColumnsOrBuilder getDropColumnsOrBuilder() {
+    public io.greptime.v1.region.Server.DropColumnsOrBuilder getDropColumnsOrBuilder() {
       if (kindCase_ == 3) {
-         return (io.greptime.v1.Ddl.DropColumns) kind_;
+         return (io.greptime.v1.region.Server.DropColumns) kind_;
       }
-      return io.greptime.v1.Ddl.DropColumns.getDefaultInstance();
+      return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
     }
 
     public static final int SCHEMA_VERSION_FIELD_NUMBER = 4;
@@ -12650,10 +12650,10 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
         output.writeUInt64(1, regionId_);
       }
       if (kindCase_ == 2) {
-        output.writeMessage(2, (io.greptime.v1.Ddl.AddColumns) kind_);
+        output.writeMessage(2, (io.greptime.v1.region.Server.AddColumns) kind_);
       }
       if (kindCase_ == 3) {
-        output.writeMessage(3, (io.greptime.v1.Ddl.DropColumns) kind_);
+        output.writeMessage(3, (io.greptime.v1.region.Server.DropColumns) kind_);
       }
       if (schemaVersion_ != 0L) {
         output.writeUInt64(4, schemaVersion_);
@@ -12673,11 +12673,11 @@ public int getSerializedSize() {
       }
       if (kindCase_ == 2) {
         size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, (io.greptime.v1.Ddl.AddColumns) kind_);
+          .computeMessageSize(2, (io.greptime.v1.region.Server.AddColumns) kind_);
       }
       if (kindCase_ == 3) {
         size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(3, (io.greptime.v1.Ddl.DropColumns) kind_);
+          .computeMessageSize(3, (io.greptime.v1.region.Server.DropColumns) kind_);
       }
       if (schemaVersion_ != 0L) {
         size += com.google.protobuf.CodedOutputStream
@@ -13069,9 +13069,9 @@ public Builder clearRegionId() {
       }
 
       private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Ddl.AddColumns, io.greptime.v1.Ddl.AddColumns.Builder, io.greptime.v1.Ddl.AddColumnsOrBuilder> addColumnsBuilder_;
+          io.greptime.v1.region.Server.AddColumns, io.greptime.v1.region.Server.AddColumns.Builder, io.greptime.v1.region.Server.AddColumnsOrBuilder> addColumnsBuilder_;
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        * @return Whether the addColumns field is set.
        */
       @java.lang.Override
@@ -13079,27 +13079,27 @@ public boolean hasAddColumns() {
         return kindCase_ == 2;
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        * @return The addColumns.
        */
       @java.lang.Override
-      public io.greptime.v1.Ddl.AddColumns getAddColumns() {
+      public io.greptime.v1.region.Server.AddColumns getAddColumns() {
         if (addColumnsBuilder_ == null) {
           if (kindCase_ == 2) {
-            return (io.greptime.v1.Ddl.AddColumns) kind_;
+            return (io.greptime.v1.region.Server.AddColumns) kind_;
           }
-          return io.greptime.v1.Ddl.AddColumns.getDefaultInstance();
+          return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
         } else {
           if (kindCase_ == 2) {
             return addColumnsBuilder_.getMessage();
           }
-          return io.greptime.v1.Ddl.AddColumns.getDefaultInstance();
+          return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
         }
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
-      public Builder setAddColumns(io.greptime.v1.Ddl.AddColumns value) {
+      public Builder setAddColumns(io.greptime.v1.region.Server.AddColumns value) {
         if (addColumnsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13113,10 +13113,10 @@ public Builder setAddColumns(io.greptime.v1.Ddl.AddColumns value) {
         return this;
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
       public Builder setAddColumns(
-          io.greptime.v1.Ddl.AddColumns.Builder builderForValue) {
+          io.greptime.v1.region.Server.AddColumns.Builder builderForValue) {
         if (addColumnsBuilder_ == null) {
           kind_ = builderForValue.build();
           onChanged();
@@ -13127,13 +13127,13 @@ public Builder setAddColumns(
         return this;
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
-      public Builder mergeAddColumns(io.greptime.v1.Ddl.AddColumns value) {
+      public Builder mergeAddColumns(io.greptime.v1.region.Server.AddColumns value) {
         if (addColumnsBuilder_ == null) {
           if (kindCase_ == 2 &&
-              kind_ != io.greptime.v1.Ddl.AddColumns.getDefaultInstance()) {
-            kind_ = io.greptime.v1.Ddl.AddColumns.newBuilder((io.greptime.v1.Ddl.AddColumns) kind_)
+              kind_ != io.greptime.v1.region.Server.AddColumns.getDefaultInstance()) {
+            kind_ = io.greptime.v1.region.Server.AddColumns.newBuilder((io.greptime.v1.region.Server.AddColumns) kind_)
                 .mergeFrom(value).buildPartial();
           } else {
             kind_ = value;
@@ -13150,7 +13150,7 @@ public Builder mergeAddColumns(io.greptime.v1.Ddl.AddColumns value) {
         return this;
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
       public Builder clearAddColumns() {
         if (addColumnsBuilder_ == null) {
@@ -13169,38 +13169,38 @@ public Builder clearAddColumns() {
         return this;
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
-      public io.greptime.v1.Ddl.AddColumns.Builder getAddColumnsBuilder() {
+      public io.greptime.v1.region.Server.AddColumns.Builder getAddColumnsBuilder() {
         return getAddColumnsFieldBuilder().getBuilder();
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
       @java.lang.Override
-      public io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder() {
+      public io.greptime.v1.region.Server.AddColumnsOrBuilder getAddColumnsOrBuilder() {
         if ((kindCase_ == 2) && (addColumnsBuilder_ != null)) {
           return addColumnsBuilder_.getMessageOrBuilder();
         } else {
           if (kindCase_ == 2) {
-            return (io.greptime.v1.Ddl.AddColumns) kind_;
+            return (io.greptime.v1.region.Server.AddColumns) kind_;
           }
-          return io.greptime.v1.Ddl.AddColumns.getDefaultInstance();
+          return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
         }
       }
       /**
-       * .greptime.v1.AddColumns add_columns = 2;
+       * .greptime.v1.region.AddColumns add_columns = 2;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Ddl.AddColumns, io.greptime.v1.Ddl.AddColumns.Builder, io.greptime.v1.Ddl.AddColumnsOrBuilder> 
+          io.greptime.v1.region.Server.AddColumns, io.greptime.v1.region.Server.AddColumns.Builder, io.greptime.v1.region.Server.AddColumnsOrBuilder> 
           getAddColumnsFieldBuilder() {
         if (addColumnsBuilder_ == null) {
           if (!(kindCase_ == 2)) {
-            kind_ = io.greptime.v1.Ddl.AddColumns.getDefaultInstance();
+            kind_ = io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
           }
           addColumnsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              io.greptime.v1.Ddl.AddColumns, io.greptime.v1.Ddl.AddColumns.Builder, io.greptime.v1.Ddl.AddColumnsOrBuilder>(
-                  (io.greptime.v1.Ddl.AddColumns) kind_,
+              io.greptime.v1.region.Server.AddColumns, io.greptime.v1.region.Server.AddColumns.Builder, io.greptime.v1.region.Server.AddColumnsOrBuilder>(
+                  (io.greptime.v1.region.Server.AddColumns) kind_,
                   getParentForChildren(),
                   isClean());
           kind_ = null;
@@ -13211,9 +13211,9 @@ public io.greptime.v1.Ddl.AddColumnsOrBuilder getAddColumnsOrBuilder() {
       }
 
       private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Ddl.DropColumns, io.greptime.v1.Ddl.DropColumns.Builder, io.greptime.v1.Ddl.DropColumnsOrBuilder> dropColumnsBuilder_;
+          io.greptime.v1.region.Server.DropColumns, io.greptime.v1.region.Server.DropColumns.Builder, io.greptime.v1.region.Server.DropColumnsOrBuilder> dropColumnsBuilder_;
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        * @return Whether the dropColumns field is set.
        */
       @java.lang.Override
@@ -13221,27 +13221,27 @@ public boolean hasDropColumns() {
         return kindCase_ == 3;
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        * @return The dropColumns.
        */
       @java.lang.Override
-      public io.greptime.v1.Ddl.DropColumns getDropColumns() {
+      public io.greptime.v1.region.Server.DropColumns getDropColumns() {
         if (dropColumnsBuilder_ == null) {
           if (kindCase_ == 3) {
-            return (io.greptime.v1.Ddl.DropColumns) kind_;
+            return (io.greptime.v1.region.Server.DropColumns) kind_;
           }
-          return io.greptime.v1.Ddl.DropColumns.getDefaultInstance();
+          return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
         } else {
           if (kindCase_ == 3) {
             return dropColumnsBuilder_.getMessage();
           }
-          return io.greptime.v1.Ddl.DropColumns.getDefaultInstance();
+          return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
         }
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
-      public Builder setDropColumns(io.greptime.v1.Ddl.DropColumns value) {
+      public Builder setDropColumns(io.greptime.v1.region.Server.DropColumns value) {
         if (dropColumnsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13255,10 +13255,10 @@ public Builder setDropColumns(io.greptime.v1.Ddl.DropColumns value) {
         return this;
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
       public Builder setDropColumns(
-          io.greptime.v1.Ddl.DropColumns.Builder builderForValue) {
+          io.greptime.v1.region.Server.DropColumns.Builder builderForValue) {
         if (dropColumnsBuilder_ == null) {
           kind_ = builderForValue.build();
           onChanged();
@@ -13269,13 +13269,13 @@ public Builder setDropColumns(
         return this;
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
-      public Builder mergeDropColumns(io.greptime.v1.Ddl.DropColumns value) {
+      public Builder mergeDropColumns(io.greptime.v1.region.Server.DropColumns value) {
         if (dropColumnsBuilder_ == null) {
           if (kindCase_ == 3 &&
-              kind_ != io.greptime.v1.Ddl.DropColumns.getDefaultInstance()) {
-            kind_ = io.greptime.v1.Ddl.DropColumns.newBuilder((io.greptime.v1.Ddl.DropColumns) kind_)
+              kind_ != io.greptime.v1.region.Server.DropColumns.getDefaultInstance()) {
+            kind_ = io.greptime.v1.region.Server.DropColumns.newBuilder((io.greptime.v1.region.Server.DropColumns) kind_)
                 .mergeFrom(value).buildPartial();
           } else {
             kind_ = value;
@@ -13292,7 +13292,7 @@ public Builder mergeDropColumns(io.greptime.v1.Ddl.DropColumns value) {
         return this;
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
       public Builder clearDropColumns() {
         if (dropColumnsBuilder_ == null) {
@@ -13311,38 +13311,38 @@ public Builder clearDropColumns() {
         return this;
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
-      public io.greptime.v1.Ddl.DropColumns.Builder getDropColumnsBuilder() {
+      public io.greptime.v1.region.Server.DropColumns.Builder getDropColumnsBuilder() {
         return getDropColumnsFieldBuilder().getBuilder();
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
       @java.lang.Override
-      public io.greptime.v1.Ddl.DropColumnsOrBuilder getDropColumnsOrBuilder() {
+      public io.greptime.v1.region.Server.DropColumnsOrBuilder getDropColumnsOrBuilder() {
         if ((kindCase_ == 3) && (dropColumnsBuilder_ != null)) {
           return dropColumnsBuilder_.getMessageOrBuilder();
         } else {
           if (kindCase_ == 3) {
-            return (io.greptime.v1.Ddl.DropColumns) kind_;
+            return (io.greptime.v1.region.Server.DropColumns) kind_;
           }
-          return io.greptime.v1.Ddl.DropColumns.getDefaultInstance();
+          return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
         }
       }
       /**
-       * .greptime.v1.DropColumns drop_columns = 3;
+       * .greptime.v1.region.DropColumns drop_columns = 3;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Ddl.DropColumns, io.greptime.v1.Ddl.DropColumns.Builder, io.greptime.v1.Ddl.DropColumnsOrBuilder> 
+          io.greptime.v1.region.Server.DropColumns, io.greptime.v1.region.Server.DropColumns.Builder, io.greptime.v1.region.Server.DropColumnsOrBuilder> 
           getDropColumnsFieldBuilder() {
         if (dropColumnsBuilder_ == null) {
           if (!(kindCase_ == 3)) {
-            kind_ = io.greptime.v1.Ddl.DropColumns.getDefaultInstance();
+            kind_ = io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
           }
           dropColumnsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              io.greptime.v1.Ddl.DropColumns, io.greptime.v1.Ddl.DropColumns.Builder, io.greptime.v1.Ddl.DropColumnsOrBuilder>(
-                  (io.greptime.v1.Ddl.DropColumns) kind_,
+              io.greptime.v1.region.Server.DropColumns, io.greptime.v1.region.Server.DropColumns.Builder, io.greptime.v1.region.Server.DropColumnsOrBuilder>(
+                  (io.greptime.v1.region.Server.DropColumns) kind_,
                   getParentForChildren(),
                   isClean());
           kind_ = null;
@@ -13447,6 +13447,3848 @@ public io.greptime.v1.region.Server.AlterRequest getDefaultInstanceForType() {
 
   }
 
+  public interface AddColumnsOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.region.AddColumns)
+      com.google.protobuf.MessageOrBuilder {
+
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    java.util.List 
+        getAddColumnsList();
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    io.greptime.v1.region.Server.AddColumn getAddColumns(int index);
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    int getAddColumnsCount();
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    java.util.List 
+        getAddColumnsOrBuilderList();
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    io.greptime.v1.region.Server.AddColumnOrBuilder getAddColumnsOrBuilder(
+        int index);
+  }
+  /**
+   * Protobuf type {@code greptime.v1.region.AddColumns}
+   */
+  public static final class AddColumns extends
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:greptime.v1.region.AddColumns)
+      AddColumnsOrBuilder {
+  private static final long serialVersionUID = 0L;
+    // Use AddColumns.newBuilder() to construct.
+    private AddColumns(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+      super(builder);
+    }
+    private AddColumns() {
+      addColumns_ = java.util.Collections.emptyList();
+    }
+
+    @java.lang.Override
+    @SuppressWarnings({"unused"})
+    protected java.lang.Object newInstance(
+        UnusedPrivateParameter unused) {
+      return new AddColumns();
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+    getUnknownFields() {
+      return this.unknownFields;
+    }
+    private AddColumns(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 10: {
+              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                addColumns_ = new java.util.ArrayList();
+                mutable_bitField0_ |= 0x00000001;
+              }
+              addColumns_.add(
+                  input.readMessage(io.greptime.v1.region.Server.AddColumn.parser(), extensionRegistry));
+              break;
+            }
+            default: {
+              if (!parseUnknownField(
+                  input, unknownFields, extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000001) != 0)) {
+          addColumns_ = java.util.Collections.unmodifiableList(addColumns_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              io.greptime.v1.region.Server.AddColumns.class, io.greptime.v1.region.Server.AddColumns.Builder.class);
+    }
+
+    public static final int ADD_COLUMNS_FIELD_NUMBER = 1;
+    private java.util.List addColumns_;
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    @java.lang.Override
+    public java.util.List getAddColumnsList() {
+      return addColumns_;
+    }
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    @java.lang.Override
+    public java.util.List 
+        getAddColumnsOrBuilderList() {
+      return addColumns_;
+    }
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    @java.lang.Override
+    public int getAddColumnsCount() {
+      return addColumns_.size();
+    }
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.AddColumn getAddColumns(int index) {
+      return addColumns_.get(index);
+    }
+    /**
+     * repeated .greptime.v1.region.AddColumn add_columns = 1;
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.AddColumnOrBuilder getAddColumnsOrBuilder(
+        int index) {
+      return addColumns_.get(index);
+    }
+
+    private byte memoizedIsInitialized = -1;
+    @java.lang.Override
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized == 1) return true;
+      if (isInitialized == 0) return false;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    @java.lang.Override
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      for (int i = 0; i < addColumns_.size(); i++) {
+        output.writeMessage(1, addColumns_.get(i));
+      }
+      unknownFields.writeTo(output);
+    }
+
+    @java.lang.Override
+    public int getSerializedSize() {
+      int size = memoizedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      for (int i = 0; i < addColumns_.size(); i++) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, addColumns_.get(i));
+      }
+      size += unknownFields.getSerializedSize();
+      memoizedSize = size;
+      return size;
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof io.greptime.v1.region.Server.AddColumns)) {
+        return super.equals(obj);
+      }
+      io.greptime.v1.region.Server.AddColumns other = (io.greptime.v1.region.Server.AddColumns) obj;
+
+      if (!getAddColumnsList()
+          .equals(other.getAddColumnsList())) return false;
+      if (!unknownFields.equals(other.unknownFields)) return false;
+      return true;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptor().hashCode();
+      if (getAddColumnsCount() > 0) {
+        hash = (37 * hash) + ADD_COLUMNS_FIELD_NUMBER;
+        hash = (53 * hash) + getAddColumnsList().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.AddColumns parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+
+    @java.lang.Override
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder() {
+      return DEFAULT_INSTANCE.toBuilder();
+    }
+    public static Builder newBuilder(io.greptime.v1.region.Server.AddColumns prototype) {
+      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+    }
+    @java.lang.Override
+    public Builder toBuilder() {
+      return this == DEFAULT_INSTANCE
+          ? new Builder() : new Builder().mergeFrom(this);
+    }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code greptime.v1.region.AddColumns}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:greptime.v1.region.AddColumns)
+        io.greptime.v1.region.Server.AddColumnsOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                io.greptime.v1.region.Server.AddColumns.class, io.greptime.v1.region.Server.AddColumns.Builder.class);
+      }
+
+      // Construct using io.greptime.v1.region.Server.AddColumns.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
+          getAddColumnsFieldBuilder();
+        }
+      }
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        if (addColumnsBuilder_ == null) {
+          addColumns_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000001);
+        } else {
+          addColumnsBuilder_.clear();
+        }
+        return this;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_descriptor;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumns getDefaultInstanceForType() {
+        return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumns build() {
+        io.greptime.v1.region.Server.AddColumns result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumns buildPartial() {
+        io.greptime.v1.region.Server.AddColumns result = new io.greptime.v1.region.Server.AddColumns(this);
+        int from_bitField0_ = bitField0_;
+        if (addColumnsBuilder_ == null) {
+          if (((bitField0_ & 0x00000001) != 0)) {
+            addColumns_ = java.util.Collections.unmodifiableList(addColumns_);
+            bitField0_ = (bitField0_ & ~0x00000001);
+          }
+          result.addColumns_ = addColumns_;
+        } else {
+          result.addColumns_ = addColumnsBuilder_.build();
+        }
+        onBuilt();
+        return result;
+      }
+
+      @java.lang.Override
+      public Builder clone() {
+        return super.clone();
+      }
+      @java.lang.Override
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.setField(field, value);
+      }
+      @java.lang.Override
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return super.clearField(field);
+      }
+      @java.lang.Override
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return super.clearOneof(oneof);
+      }
+      @java.lang.Override
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
+        return super.setRepeatedField(field, index, value);
+      }
+      @java.lang.Override
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.addRepeatedField(field, value);
+      }
+      @java.lang.Override
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof io.greptime.v1.region.Server.AddColumns) {
+          return mergeFrom((io.greptime.v1.region.Server.AddColumns)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(io.greptime.v1.region.Server.AddColumns other) {
+        if (other == io.greptime.v1.region.Server.AddColumns.getDefaultInstance()) return this;
+        if (addColumnsBuilder_ == null) {
+          if (!other.addColumns_.isEmpty()) {
+            if (addColumns_.isEmpty()) {
+              addColumns_ = other.addColumns_;
+              bitField0_ = (bitField0_ & ~0x00000001);
+            } else {
+              ensureAddColumnsIsMutable();
+              addColumns_.addAll(other.addColumns_);
+            }
+            onChanged();
+          }
+        } else {
+          if (!other.addColumns_.isEmpty()) {
+            if (addColumnsBuilder_.isEmpty()) {
+              addColumnsBuilder_.dispose();
+              addColumnsBuilder_ = null;
+              addColumns_ = other.addColumns_;
+              bitField0_ = (bitField0_ & ~0x00000001);
+              addColumnsBuilder_ = 
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                   getAddColumnsFieldBuilder() : null;
+            } else {
+              addColumnsBuilder_.addAllMessages(other.addColumns_);
+            }
+          }
+        }
+        this.mergeUnknownFields(other.unknownFields);
+        onChanged();
+        return this;
+      }
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      @java.lang.Override
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        io.greptime.v1.region.Server.AddColumns parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (io.greptime.v1.region.Server.AddColumns) e.getUnfinishedMessage();
+          throw e.unwrapIOException();
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      private java.util.List addColumns_ =
+        java.util.Collections.emptyList();
+      private void ensureAddColumnsIsMutable() {
+        if (!((bitField0_ & 0x00000001) != 0)) {
+          addColumns_ = new java.util.ArrayList(addColumns_);
+          bitField0_ |= 0x00000001;
+         }
+      }
+
+      private com.google.protobuf.RepeatedFieldBuilderV3<
+          io.greptime.v1.region.Server.AddColumn, io.greptime.v1.region.Server.AddColumn.Builder, io.greptime.v1.region.Server.AddColumnOrBuilder> addColumnsBuilder_;
+
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public java.util.List getAddColumnsList() {
+        if (addColumnsBuilder_ == null) {
+          return java.util.Collections.unmodifiableList(addColumns_);
+        } else {
+          return addColumnsBuilder_.getMessageList();
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public int getAddColumnsCount() {
+        if (addColumnsBuilder_ == null) {
+          return addColumns_.size();
+        } else {
+          return addColumnsBuilder_.getCount();
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public io.greptime.v1.region.Server.AddColumn getAddColumns(int index) {
+        if (addColumnsBuilder_ == null) {
+          return addColumns_.get(index);
+        } else {
+          return addColumnsBuilder_.getMessage(index);
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder setAddColumns(
+          int index, io.greptime.v1.region.Server.AddColumn value) {
+        if (addColumnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureAddColumnsIsMutable();
+          addColumns_.set(index, value);
+          onChanged();
+        } else {
+          addColumnsBuilder_.setMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder setAddColumns(
+          int index, io.greptime.v1.region.Server.AddColumn.Builder builderForValue) {
+        if (addColumnsBuilder_ == null) {
+          ensureAddColumnsIsMutable();
+          addColumns_.set(index, builderForValue.build());
+          onChanged();
+        } else {
+          addColumnsBuilder_.setMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder addAddColumns(io.greptime.v1.region.Server.AddColumn value) {
+        if (addColumnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureAddColumnsIsMutable();
+          addColumns_.add(value);
+          onChanged();
+        } else {
+          addColumnsBuilder_.addMessage(value);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder addAddColumns(
+          int index, io.greptime.v1.region.Server.AddColumn value) {
+        if (addColumnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureAddColumnsIsMutable();
+          addColumns_.add(index, value);
+          onChanged();
+        } else {
+          addColumnsBuilder_.addMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder addAddColumns(
+          io.greptime.v1.region.Server.AddColumn.Builder builderForValue) {
+        if (addColumnsBuilder_ == null) {
+          ensureAddColumnsIsMutable();
+          addColumns_.add(builderForValue.build());
+          onChanged();
+        } else {
+          addColumnsBuilder_.addMessage(builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder addAddColumns(
+          int index, io.greptime.v1.region.Server.AddColumn.Builder builderForValue) {
+        if (addColumnsBuilder_ == null) {
+          ensureAddColumnsIsMutable();
+          addColumns_.add(index, builderForValue.build());
+          onChanged();
+        } else {
+          addColumnsBuilder_.addMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder addAllAddColumns(
+          java.lang.Iterable values) {
+        if (addColumnsBuilder_ == null) {
+          ensureAddColumnsIsMutable();
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(
+              values, addColumns_);
+          onChanged();
+        } else {
+          addColumnsBuilder_.addAllMessages(values);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder clearAddColumns() {
+        if (addColumnsBuilder_ == null) {
+          addColumns_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000001);
+          onChanged();
+        } else {
+          addColumnsBuilder_.clear();
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public Builder removeAddColumns(int index) {
+        if (addColumnsBuilder_ == null) {
+          ensureAddColumnsIsMutable();
+          addColumns_.remove(index);
+          onChanged();
+        } else {
+          addColumnsBuilder_.remove(index);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public io.greptime.v1.region.Server.AddColumn.Builder getAddColumnsBuilder(
+          int index) {
+        return getAddColumnsFieldBuilder().getBuilder(index);
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public io.greptime.v1.region.Server.AddColumnOrBuilder getAddColumnsOrBuilder(
+          int index) {
+        if (addColumnsBuilder_ == null) {
+          return addColumns_.get(index);  } else {
+          return addColumnsBuilder_.getMessageOrBuilder(index);
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public java.util.List 
+           getAddColumnsOrBuilderList() {
+        if (addColumnsBuilder_ != null) {
+          return addColumnsBuilder_.getMessageOrBuilderList();
+        } else {
+          return java.util.Collections.unmodifiableList(addColumns_);
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public io.greptime.v1.region.Server.AddColumn.Builder addAddColumnsBuilder() {
+        return getAddColumnsFieldBuilder().addBuilder(
+            io.greptime.v1.region.Server.AddColumn.getDefaultInstance());
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public io.greptime.v1.region.Server.AddColumn.Builder addAddColumnsBuilder(
+          int index) {
+        return getAddColumnsFieldBuilder().addBuilder(
+            index, io.greptime.v1.region.Server.AddColumn.getDefaultInstance());
+      }
+      /**
+       * repeated .greptime.v1.region.AddColumn add_columns = 1;
+       */
+      public java.util.List 
+           getAddColumnsBuilderList() {
+        return getAddColumnsFieldBuilder().getBuilderList();
+      }
+      private com.google.protobuf.RepeatedFieldBuilderV3<
+          io.greptime.v1.region.Server.AddColumn, io.greptime.v1.region.Server.AddColumn.Builder, io.greptime.v1.region.Server.AddColumnOrBuilder> 
+          getAddColumnsFieldBuilder() {
+        if (addColumnsBuilder_ == null) {
+          addColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+              io.greptime.v1.region.Server.AddColumn, io.greptime.v1.region.Server.AddColumn.Builder, io.greptime.v1.region.Server.AddColumnOrBuilder>(
+                  addColumns_,
+                  ((bitField0_ & 0x00000001) != 0),
+                  getParentForChildren(),
+                  isClean());
+          addColumns_ = null;
+        }
+        return addColumnsBuilder_;
+      }
+      @java.lang.Override
+      public final Builder setUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.setUnknownFields(unknownFields);
+      }
+
+      @java.lang.Override
+      public final Builder mergeUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.mergeUnknownFields(unknownFields);
+      }
+
+
+      // @@protoc_insertion_point(builder_scope:greptime.v1.region.AddColumns)
+    }
+
+    // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumns)
+    private static final io.greptime.v1.region.Server.AddColumns DEFAULT_INSTANCE;
+    static {
+      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AddColumns();
+    }
+
+    public static io.greptime.v1.region.Server.AddColumns getDefaultInstance() {
+      return DEFAULT_INSTANCE;
+    }
+
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
+      @java.lang.Override
+      public AddColumns parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new AddColumns(input, extensionRegistry);
+      }
+    };
+
+    public static com.google.protobuf.Parser parser() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.Parser getParserForType() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public io.greptime.v1.region.Server.AddColumns getDefaultInstanceForType() {
+      return DEFAULT_INSTANCE;
+    }
+
+  }
+
+  public interface DropColumnsOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DropColumns)
+      com.google.protobuf.MessageOrBuilder {
+
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    java.util.List 
+        getDropColumnsList();
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    io.greptime.v1.region.Server.DropColumn getDropColumns(int index);
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    int getDropColumnsCount();
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    java.util.List 
+        getDropColumnsOrBuilderList();
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    io.greptime.v1.region.Server.DropColumnOrBuilder getDropColumnsOrBuilder(
+        int index);
+  }
+  /**
+   * Protobuf type {@code greptime.v1.region.DropColumns}
+   */
+  public static final class DropColumns extends
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:greptime.v1.region.DropColumns)
+      DropColumnsOrBuilder {
+  private static final long serialVersionUID = 0L;
+    // Use DropColumns.newBuilder() to construct.
+    private DropColumns(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+      super(builder);
+    }
+    private DropColumns() {
+      dropColumns_ = java.util.Collections.emptyList();
+    }
+
+    @java.lang.Override
+    @SuppressWarnings({"unused"})
+    protected java.lang.Object newInstance(
+        UnusedPrivateParameter unused) {
+      return new DropColumns();
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+    getUnknownFields() {
+      return this.unknownFields;
+    }
+    private DropColumns(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 10: {
+              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                dropColumns_ = new java.util.ArrayList();
+                mutable_bitField0_ |= 0x00000001;
+              }
+              dropColumns_.add(
+                  input.readMessage(io.greptime.v1.region.Server.DropColumn.parser(), extensionRegistry));
+              break;
+            }
+            default: {
+              if (!parseUnknownField(
+                  input, unknownFields, extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000001) != 0)) {
+          dropColumns_ = java.util.Collections.unmodifiableList(dropColumns_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              io.greptime.v1.region.Server.DropColumns.class, io.greptime.v1.region.Server.DropColumns.Builder.class);
+    }
+
+    public static final int DROP_COLUMNS_FIELD_NUMBER = 1;
+    private java.util.List dropColumns_;
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    @java.lang.Override
+    public java.util.List getDropColumnsList() {
+      return dropColumns_;
+    }
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    @java.lang.Override
+    public java.util.List 
+        getDropColumnsOrBuilderList() {
+      return dropColumns_;
+    }
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    @java.lang.Override
+    public int getDropColumnsCount() {
+      return dropColumns_.size();
+    }
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.DropColumn getDropColumns(int index) {
+      return dropColumns_.get(index);
+    }
+    /**
+     * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.DropColumnOrBuilder getDropColumnsOrBuilder(
+        int index) {
+      return dropColumns_.get(index);
+    }
+
+    private byte memoizedIsInitialized = -1;
+    @java.lang.Override
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized == 1) return true;
+      if (isInitialized == 0) return false;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    @java.lang.Override
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      for (int i = 0; i < dropColumns_.size(); i++) {
+        output.writeMessage(1, dropColumns_.get(i));
+      }
+      unknownFields.writeTo(output);
+    }
+
+    @java.lang.Override
+    public int getSerializedSize() {
+      int size = memoizedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      for (int i = 0; i < dropColumns_.size(); i++) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, dropColumns_.get(i));
+      }
+      size += unknownFields.getSerializedSize();
+      memoizedSize = size;
+      return size;
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof io.greptime.v1.region.Server.DropColumns)) {
+        return super.equals(obj);
+      }
+      io.greptime.v1.region.Server.DropColumns other = (io.greptime.v1.region.Server.DropColumns) obj;
+
+      if (!getDropColumnsList()
+          .equals(other.getDropColumnsList())) return false;
+      if (!unknownFields.equals(other.unknownFields)) return false;
+      return true;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptor().hashCode();
+      if (getDropColumnsCount() > 0) {
+        hash = (37 * hash) + DROP_COLUMNS_FIELD_NUMBER;
+        hash = (53 * hash) + getDropColumnsList().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.DropColumns parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+
+    @java.lang.Override
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder() {
+      return DEFAULT_INSTANCE.toBuilder();
+    }
+    public static Builder newBuilder(io.greptime.v1.region.Server.DropColumns prototype) {
+      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+    }
+    @java.lang.Override
+    public Builder toBuilder() {
+      return this == DEFAULT_INSTANCE
+          ? new Builder() : new Builder().mergeFrom(this);
+    }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code greptime.v1.region.DropColumns}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DropColumns)
+        io.greptime.v1.region.Server.DropColumnsOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                io.greptime.v1.region.Server.DropColumns.class, io.greptime.v1.region.Server.DropColumns.Builder.class);
+      }
+
+      // Construct using io.greptime.v1.region.Server.DropColumns.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
+          getDropColumnsFieldBuilder();
+        }
+      }
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        if (dropColumnsBuilder_ == null) {
+          dropColumns_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000001);
+        } else {
+          dropColumnsBuilder_.clear();
+        }
+        return this;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_descriptor;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.DropColumns getDefaultInstanceForType() {
+        return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.DropColumns build() {
+        io.greptime.v1.region.Server.DropColumns result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.DropColumns buildPartial() {
+        io.greptime.v1.region.Server.DropColumns result = new io.greptime.v1.region.Server.DropColumns(this);
+        int from_bitField0_ = bitField0_;
+        if (dropColumnsBuilder_ == null) {
+          if (((bitField0_ & 0x00000001) != 0)) {
+            dropColumns_ = java.util.Collections.unmodifiableList(dropColumns_);
+            bitField0_ = (bitField0_ & ~0x00000001);
+          }
+          result.dropColumns_ = dropColumns_;
+        } else {
+          result.dropColumns_ = dropColumnsBuilder_.build();
+        }
+        onBuilt();
+        return result;
+      }
+
+      @java.lang.Override
+      public Builder clone() {
+        return super.clone();
+      }
+      @java.lang.Override
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.setField(field, value);
+      }
+      @java.lang.Override
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return super.clearField(field);
+      }
+      @java.lang.Override
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return super.clearOneof(oneof);
+      }
+      @java.lang.Override
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
+        return super.setRepeatedField(field, index, value);
+      }
+      @java.lang.Override
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.addRepeatedField(field, value);
+      }
+      @java.lang.Override
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof io.greptime.v1.region.Server.DropColumns) {
+          return mergeFrom((io.greptime.v1.region.Server.DropColumns)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(io.greptime.v1.region.Server.DropColumns other) {
+        if (other == io.greptime.v1.region.Server.DropColumns.getDefaultInstance()) return this;
+        if (dropColumnsBuilder_ == null) {
+          if (!other.dropColumns_.isEmpty()) {
+            if (dropColumns_.isEmpty()) {
+              dropColumns_ = other.dropColumns_;
+              bitField0_ = (bitField0_ & ~0x00000001);
+            } else {
+              ensureDropColumnsIsMutable();
+              dropColumns_.addAll(other.dropColumns_);
+            }
+            onChanged();
+          }
+        } else {
+          if (!other.dropColumns_.isEmpty()) {
+            if (dropColumnsBuilder_.isEmpty()) {
+              dropColumnsBuilder_.dispose();
+              dropColumnsBuilder_ = null;
+              dropColumns_ = other.dropColumns_;
+              bitField0_ = (bitField0_ & ~0x00000001);
+              dropColumnsBuilder_ = 
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                   getDropColumnsFieldBuilder() : null;
+            } else {
+              dropColumnsBuilder_.addAllMessages(other.dropColumns_);
+            }
+          }
+        }
+        this.mergeUnknownFields(other.unknownFields);
+        onChanged();
+        return this;
+      }
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      @java.lang.Override
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        io.greptime.v1.region.Server.DropColumns parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (io.greptime.v1.region.Server.DropColumns) e.getUnfinishedMessage();
+          throw e.unwrapIOException();
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      private java.util.List dropColumns_ =
+        java.util.Collections.emptyList();
+      private void ensureDropColumnsIsMutable() {
+        if (!((bitField0_ & 0x00000001) != 0)) {
+          dropColumns_ = new java.util.ArrayList(dropColumns_);
+          bitField0_ |= 0x00000001;
+         }
+      }
+
+      private com.google.protobuf.RepeatedFieldBuilderV3<
+          io.greptime.v1.region.Server.DropColumn, io.greptime.v1.region.Server.DropColumn.Builder, io.greptime.v1.region.Server.DropColumnOrBuilder> dropColumnsBuilder_;
+
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public java.util.List getDropColumnsList() {
+        if (dropColumnsBuilder_ == null) {
+          return java.util.Collections.unmodifiableList(dropColumns_);
+        } else {
+          return dropColumnsBuilder_.getMessageList();
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public int getDropColumnsCount() {
+        if (dropColumnsBuilder_ == null) {
+          return dropColumns_.size();
+        } else {
+          return dropColumnsBuilder_.getCount();
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public io.greptime.v1.region.Server.DropColumn getDropColumns(int index) {
+        if (dropColumnsBuilder_ == null) {
+          return dropColumns_.get(index);
+        } else {
+          return dropColumnsBuilder_.getMessage(index);
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder setDropColumns(
+          int index, io.greptime.v1.region.Server.DropColumn value) {
+        if (dropColumnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureDropColumnsIsMutable();
+          dropColumns_.set(index, value);
+          onChanged();
+        } else {
+          dropColumnsBuilder_.setMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder setDropColumns(
+          int index, io.greptime.v1.region.Server.DropColumn.Builder builderForValue) {
+        if (dropColumnsBuilder_ == null) {
+          ensureDropColumnsIsMutable();
+          dropColumns_.set(index, builderForValue.build());
+          onChanged();
+        } else {
+          dropColumnsBuilder_.setMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder addDropColumns(io.greptime.v1.region.Server.DropColumn value) {
+        if (dropColumnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureDropColumnsIsMutable();
+          dropColumns_.add(value);
+          onChanged();
+        } else {
+          dropColumnsBuilder_.addMessage(value);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder addDropColumns(
+          int index, io.greptime.v1.region.Server.DropColumn value) {
+        if (dropColumnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureDropColumnsIsMutable();
+          dropColumns_.add(index, value);
+          onChanged();
+        } else {
+          dropColumnsBuilder_.addMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder addDropColumns(
+          io.greptime.v1.region.Server.DropColumn.Builder builderForValue) {
+        if (dropColumnsBuilder_ == null) {
+          ensureDropColumnsIsMutable();
+          dropColumns_.add(builderForValue.build());
+          onChanged();
+        } else {
+          dropColumnsBuilder_.addMessage(builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder addDropColumns(
+          int index, io.greptime.v1.region.Server.DropColumn.Builder builderForValue) {
+        if (dropColumnsBuilder_ == null) {
+          ensureDropColumnsIsMutable();
+          dropColumns_.add(index, builderForValue.build());
+          onChanged();
+        } else {
+          dropColumnsBuilder_.addMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder addAllDropColumns(
+          java.lang.Iterable values) {
+        if (dropColumnsBuilder_ == null) {
+          ensureDropColumnsIsMutable();
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(
+              values, dropColumns_);
+          onChanged();
+        } else {
+          dropColumnsBuilder_.addAllMessages(values);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder clearDropColumns() {
+        if (dropColumnsBuilder_ == null) {
+          dropColumns_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000001);
+          onChanged();
+        } else {
+          dropColumnsBuilder_.clear();
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public Builder removeDropColumns(int index) {
+        if (dropColumnsBuilder_ == null) {
+          ensureDropColumnsIsMutable();
+          dropColumns_.remove(index);
+          onChanged();
+        } else {
+          dropColumnsBuilder_.remove(index);
+        }
+        return this;
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public io.greptime.v1.region.Server.DropColumn.Builder getDropColumnsBuilder(
+          int index) {
+        return getDropColumnsFieldBuilder().getBuilder(index);
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public io.greptime.v1.region.Server.DropColumnOrBuilder getDropColumnsOrBuilder(
+          int index) {
+        if (dropColumnsBuilder_ == null) {
+          return dropColumns_.get(index);  } else {
+          return dropColumnsBuilder_.getMessageOrBuilder(index);
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public java.util.List 
+           getDropColumnsOrBuilderList() {
+        if (dropColumnsBuilder_ != null) {
+          return dropColumnsBuilder_.getMessageOrBuilderList();
+        } else {
+          return java.util.Collections.unmodifiableList(dropColumns_);
+        }
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public io.greptime.v1.region.Server.DropColumn.Builder addDropColumnsBuilder() {
+        return getDropColumnsFieldBuilder().addBuilder(
+            io.greptime.v1.region.Server.DropColumn.getDefaultInstance());
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public io.greptime.v1.region.Server.DropColumn.Builder addDropColumnsBuilder(
+          int index) {
+        return getDropColumnsFieldBuilder().addBuilder(
+            index, io.greptime.v1.region.Server.DropColumn.getDefaultInstance());
+      }
+      /**
+       * repeated .greptime.v1.region.DropColumn drop_columns = 1;
+       */
+      public java.util.List 
+           getDropColumnsBuilderList() {
+        return getDropColumnsFieldBuilder().getBuilderList();
+      }
+      private com.google.protobuf.RepeatedFieldBuilderV3<
+          io.greptime.v1.region.Server.DropColumn, io.greptime.v1.region.Server.DropColumn.Builder, io.greptime.v1.region.Server.DropColumnOrBuilder> 
+          getDropColumnsFieldBuilder() {
+        if (dropColumnsBuilder_ == null) {
+          dropColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+              io.greptime.v1.region.Server.DropColumn, io.greptime.v1.region.Server.DropColumn.Builder, io.greptime.v1.region.Server.DropColumnOrBuilder>(
+                  dropColumns_,
+                  ((bitField0_ & 0x00000001) != 0),
+                  getParentForChildren(),
+                  isClean());
+          dropColumns_ = null;
+        }
+        return dropColumnsBuilder_;
+      }
+      @java.lang.Override
+      public final Builder setUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.setUnknownFields(unknownFields);
+      }
+
+      @java.lang.Override
+      public final Builder mergeUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.mergeUnknownFields(unknownFields);
+      }
+
+
+      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DropColumns)
+    }
+
+    // @@protoc_insertion_point(class_scope:greptime.v1.region.DropColumns)
+    private static final io.greptime.v1.region.Server.DropColumns DEFAULT_INSTANCE;
+    static {
+      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DropColumns();
+    }
+
+    public static io.greptime.v1.region.Server.DropColumns getDefaultInstance() {
+      return DEFAULT_INSTANCE;
+    }
+
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
+      @java.lang.Override
+      public DropColumns parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new DropColumns(input, extensionRegistry);
+      }
+    };
+
+    public static com.google.protobuf.Parser parser() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.Parser getParserForType() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public io.greptime.v1.region.Server.DropColumns getDefaultInstanceForType() {
+      return DEFAULT_INSTANCE;
+    }
+
+  }
+
+  public interface AddColumnOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.region.AddColumn)
+      com.google.protobuf.MessageOrBuilder {
+
+    /**
+     * .greptime.v1.region.ColumnDef column_def = 1;
+     * @return Whether the columnDef field is set.
+     */
+    boolean hasColumnDef();
+    /**
+     * .greptime.v1.region.ColumnDef column_def = 1;
+     * @return The columnDef.
+     */
+    io.greptime.v1.region.Server.ColumnDef getColumnDef();
+    /**
+     * .greptime.v1.region.ColumnDef column_def = 1;
+     */
+    io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder();
+
+    /**
+     * bool is_key = 2;
+     * @return The isKey.
+     */
+    boolean getIsKey();
+
+    /**
+     * .greptime.v1.region.AddColumn.Location location = 3;
+     * @return Whether the location field is set.
+     */
+    boolean hasLocation();
+    /**
+     * .greptime.v1.region.AddColumn.Location location = 3;
+     * @return The location.
+     */
+    io.greptime.v1.region.Server.AddColumn.Location getLocation();
+    /**
+     * .greptime.v1.region.AddColumn.Location location = 3;
+     */
+    io.greptime.v1.region.Server.AddColumn.LocationOrBuilder getLocationOrBuilder();
+  }
+  /**
+   * Protobuf type {@code greptime.v1.region.AddColumn}
+   */
+  public static final class AddColumn extends
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:greptime.v1.region.AddColumn)
+      AddColumnOrBuilder {
+  private static final long serialVersionUID = 0L;
+    // Use AddColumn.newBuilder() to construct.
+    private AddColumn(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+      super(builder);
+    }
+    private AddColumn() {
+    }
+
+    @java.lang.Override
+    @SuppressWarnings({"unused"})
+    protected java.lang.Object newInstance(
+        UnusedPrivateParameter unused) {
+      return new AddColumn();
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+    getUnknownFields() {
+      return this.unknownFields;
+    }
+    private AddColumn(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 10: {
+              io.greptime.v1.region.Server.ColumnDef.Builder subBuilder = null;
+              if (columnDef_ != null) {
+                subBuilder = columnDef_.toBuilder();
+              }
+              columnDef_ = input.readMessage(io.greptime.v1.region.Server.ColumnDef.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(columnDef_);
+                columnDef_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
+            case 16: {
+
+              isKey_ = input.readBool();
+              break;
+            }
+            case 26: {
+              io.greptime.v1.region.Server.AddColumn.Location.Builder subBuilder = null;
+              if (location_ != null) {
+                subBuilder = location_.toBuilder();
+              }
+              location_ = input.readMessage(io.greptime.v1.region.Server.AddColumn.Location.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(location_);
+                location_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
+            default: {
+              if (!parseUnknownField(
+                  input, unknownFields, extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              io.greptime.v1.region.Server.AddColumn.class, io.greptime.v1.region.Server.AddColumn.Builder.class);
+    }
+
+    public interface LocationOrBuilder extends
+        // @@protoc_insertion_point(interface_extends:greptime.v1.region.AddColumn.Location)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+       * @return The enum numeric value on the wire for locationType.
+       */
+      int getLocationTypeValue();
+      /**
+       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+       * @return The locationType.
+       */
+      io.greptime.v1.region.Server.AddColumn.Location.LocationType getLocationType();
+
+      /**
+       * string after_column_name = 2;
+       * @return The afterColumnName.
+       */
+      java.lang.String getAfterColumnName();
+      /**
+       * string after_column_name = 2;
+       * @return The bytes for afterColumnName.
+       */
+      com.google.protobuf.ByteString
+          getAfterColumnNameBytes();
+    }
+    /**
+     * Protobuf type {@code greptime.v1.region.AddColumn.Location}
+     */
+    public static final class Location extends
+        com.google.protobuf.GeneratedMessageV3 implements
+        // @@protoc_insertion_point(message_implements:greptime.v1.region.AddColumn.Location)
+        LocationOrBuilder {
+    private static final long serialVersionUID = 0L;
+      // Use Location.newBuilder() to construct.
+      private Location(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+        super(builder);
+      }
+      private Location() {
+        locationType_ = 0;
+        afterColumnName_ = "";
+      }
+
+      @java.lang.Override
+      @SuppressWarnings({"unused"})
+      protected java.lang.Object newInstance(
+          UnusedPrivateParameter unused) {
+        return new Location();
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet
+      getUnknownFields() {
+        return this.unknownFields;
+      }
+      private Location(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 8: {
+                int rawValue = input.readEnum();
+
+                locationType_ = rawValue;
+                break;
+              }
+              case 18: {
+                java.lang.String s = input.readStringRequireUtf8();
+
+                afterColumnName_ = s;
+                break;
+              }
+              default: {
+                if (!parseUnknownField(
+                    input, unknownFields, extensionRegistry, tag)) {
+                  done = true;
+                }
+                break;
+              }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(
+              e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                io.greptime.v1.region.Server.AddColumn.Location.class, io.greptime.v1.region.Server.AddColumn.Location.Builder.class);
+      }
+
+      /**
+       * Protobuf enum {@code greptime.v1.region.AddColumn.Location.LocationType}
+       */
+      public enum LocationType
+          implements com.google.protobuf.ProtocolMessageEnum {
+        /**
+         * FIRST = 0;
+         */
+        FIRST(0),
+        /**
+         * AFTER = 1;
+         */
+        AFTER(1),
+        UNRECOGNIZED(-1),
+        ;
+
+        /**
+         * FIRST = 0;
+         */
+        public static final int FIRST_VALUE = 0;
+        /**
+         * AFTER = 1;
+         */
+        public static final int AFTER_VALUE = 1;
+
+
+        public final int getNumber() {
+          if (this == UNRECOGNIZED) {
+            throw new java.lang.IllegalArgumentException(
+                "Can't get the number of an unknown enum value.");
+          }
+          return value;
+        }
+
+        /**
+         * @param value The numeric wire value of the corresponding enum entry.
+         * @return The enum associated with the given numeric wire value.
+         * @deprecated Use {@link #forNumber(int)} instead.
+         */
+        @java.lang.Deprecated
+        public static LocationType valueOf(int value) {
+          return forNumber(value);
+        }
+
+        /**
+         * @param value The numeric wire value of the corresponding enum entry.
+         * @return The enum associated with the given numeric wire value.
+         */
+        public static LocationType forNumber(int value) {
+          switch (value) {
+            case 0: return FIRST;
+            case 1: return AFTER;
+            default: return null;
+          }
+        }
+
+        public static com.google.protobuf.Internal.EnumLiteMap
+            internalGetValueMap() {
+          return internalValueMap;
+        }
+        private static final com.google.protobuf.Internal.EnumLiteMap<
+            LocationType> internalValueMap =
+              new com.google.protobuf.Internal.EnumLiteMap() {
+                public LocationType findValueByNumber(int number) {
+                  return LocationType.forNumber(number);
+                }
+              };
+
+        public final com.google.protobuf.Descriptors.EnumValueDescriptor
+            getValueDescriptor() {
+          if (this == UNRECOGNIZED) {
+            throw new java.lang.IllegalStateException(
+                "Can't get the descriptor of an unrecognized enum value.");
+          }
+          return getDescriptor().getValues().get(ordinal());
+        }
+        public final com.google.protobuf.Descriptors.EnumDescriptor
+            getDescriptorForType() {
+          return getDescriptor();
+        }
+        public static final com.google.protobuf.Descriptors.EnumDescriptor
+            getDescriptor() {
+          return io.greptime.v1.region.Server.AddColumn.Location.getDescriptor().getEnumTypes().get(0);
+        }
+
+        private static final LocationType[] VALUES = values();
+
+        public static LocationType valueOf(
+            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+          if (desc.getType() != getDescriptor()) {
+            throw new java.lang.IllegalArgumentException(
+              "EnumValueDescriptor is not for this type.");
+          }
+          if (desc.getIndex() == -1) {
+            return UNRECOGNIZED;
+          }
+          return VALUES[desc.getIndex()];
+        }
+
+        private final int value;
+
+        private LocationType(int value) {
+          this.value = value;
+        }
+
+        // @@protoc_insertion_point(enum_scope:greptime.v1.region.AddColumn.Location.LocationType)
+      }
+
+      public static final int LOCATION_TYPE_FIELD_NUMBER = 1;
+      private int locationType_;
+      /**
+       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+       * @return The enum numeric value on the wire for locationType.
+       */
+      @java.lang.Override public int getLocationTypeValue() {
+        return locationType_;
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+       * @return The locationType.
+       */
+      @java.lang.Override public io.greptime.v1.region.Server.AddColumn.Location.LocationType getLocationType() {
+        @SuppressWarnings("deprecation")
+        io.greptime.v1.region.Server.AddColumn.Location.LocationType result = io.greptime.v1.region.Server.AddColumn.Location.LocationType.valueOf(locationType_);
+        return result == null ? io.greptime.v1.region.Server.AddColumn.Location.LocationType.UNRECOGNIZED : result;
+      }
+
+      public static final int AFTER_COLUMN_NAME_FIELD_NUMBER = 2;
+      private volatile java.lang.Object afterColumnName_;
+      /**
+       * string after_column_name = 2;
+       * @return The afterColumnName.
+       */
+      @java.lang.Override
+      public java.lang.String getAfterColumnName() {
+        java.lang.Object ref = afterColumnName_;
+        if (ref instanceof java.lang.String) {
+          return (java.lang.String) ref;
+        } else {
+          com.google.protobuf.ByteString bs = 
+              (com.google.protobuf.ByteString) ref;
+          java.lang.String s = bs.toStringUtf8();
+          afterColumnName_ = s;
+          return s;
+        }
+      }
+      /**
+       * string after_column_name = 2;
+       * @return The bytes for afterColumnName.
+       */
+      @java.lang.Override
+      public com.google.protobuf.ByteString
+          getAfterColumnNameBytes() {
+        java.lang.Object ref = afterColumnName_;
+        if (ref instanceof java.lang.String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          afterColumnName_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+
+      private byte memoizedIsInitialized = -1;
+      @java.lang.Override
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized == 1) return true;
+        if (isInitialized == 0) return false;
+
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      @java.lang.Override
+      public void writeTo(com.google.protobuf.CodedOutputStream output)
+                          throws java.io.IOException {
+        if (locationType_ != io.greptime.v1.region.Server.AddColumn.Location.LocationType.FIRST.getNumber()) {
+          output.writeEnum(1, locationType_);
+        }
+        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
+          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, afterColumnName_);
+        }
+        unknownFields.writeTo(output);
+      }
+
+      @java.lang.Override
+      public int getSerializedSize() {
+        int size = memoizedSize;
+        if (size != -1) return size;
+
+        size = 0;
+        if (locationType_ != io.greptime.v1.region.Server.AddColumn.Location.LocationType.FIRST.getNumber()) {
+          size += com.google.protobuf.CodedOutputStream
+            .computeEnumSize(1, locationType_);
+        }
+        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
+          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, afterColumnName_);
+        }
+        size += unknownFields.getSerializedSize();
+        memoizedSize = size;
+        return size;
+      }
+
+      @java.lang.Override
+      public boolean equals(final java.lang.Object obj) {
+        if (obj == this) {
+         return true;
+        }
+        if (!(obj instanceof io.greptime.v1.region.Server.AddColumn.Location)) {
+          return super.equals(obj);
+        }
+        io.greptime.v1.region.Server.AddColumn.Location other = (io.greptime.v1.region.Server.AddColumn.Location) obj;
+
+        if (locationType_ != other.locationType_) return false;
+        if (!getAfterColumnName()
+            .equals(other.getAfterColumnName())) return false;
+        if (!unknownFields.equals(other.unknownFields)) return false;
+        return true;
+      }
+
+      @java.lang.Override
+      public int hashCode() {
+        if (memoizedHashCode != 0) {
+          return memoizedHashCode;
+        }
+        int hash = 41;
+        hash = (19 * hash) + getDescriptor().hashCode();
+        hash = (37 * hash) + LOCATION_TYPE_FIELD_NUMBER;
+        hash = (53 * hash) + locationType_;
+        hash = (37 * hash) + AFTER_COLUMN_NAME_FIELD_NUMBER;
+        hash = (53 * hash) + getAfterColumnName().hashCode();
+        hash = (29 * hash) + unknownFields.hashCode();
+        memoizedHashCode = hash;
+        return hash;
+      }
+
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          java.nio.ByteBuffer data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          java.nio.ByteBuffer data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input, extensionRegistry);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return com.google.protobuf.GeneratedMessageV3
+            .parseDelimitedWithIOException(PARSER, input);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseDelimitedFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return com.google.protobuf.GeneratedMessageV3
+            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input);
+      }
+      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input, extensionRegistry);
+      }
+
+      @java.lang.Override
+      public Builder newBuilderForType() { return newBuilder(); }
+      public static Builder newBuilder() {
+        return DEFAULT_INSTANCE.toBuilder();
+      }
+      public static Builder newBuilder(io.greptime.v1.region.Server.AddColumn.Location prototype) {
+        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+      }
+      @java.lang.Override
+      public Builder toBuilder() {
+        return this == DEFAULT_INSTANCE
+            ? new Builder() : new Builder().mergeFrom(this);
+      }
+
+      @java.lang.Override
+      protected Builder newBuilderForType(
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+      /**
+       * Protobuf type {@code greptime.v1.region.AddColumn.Location}
+       */
+      public static final class Builder extends
+          com.google.protobuf.GeneratedMessageV3.Builder implements
+          // @@protoc_insertion_point(builder_implements:greptime.v1.region.AddColumn.Location)
+          io.greptime.v1.region.Server.AddColumn.LocationOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor
+            getDescriptor() {
+          return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_descriptor;
+        }
+
+        @java.lang.Override
+        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+            internalGetFieldAccessorTable() {
+          return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_fieldAccessorTable
+              .ensureFieldAccessorsInitialized(
+                  io.greptime.v1.region.Server.AddColumn.Location.class, io.greptime.v1.region.Server.AddColumn.Location.Builder.class);
+        }
+
+        // Construct using io.greptime.v1.region.Server.AddColumn.Location.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(
+            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessageV3
+                  .alwaysUseFieldBuilders) {
+          }
+        }
+        @java.lang.Override
+        public Builder clear() {
+          super.clear();
+          locationType_ = 0;
+
+          afterColumnName_ = "";
+
+          return this;
+        }
+
+        @java.lang.Override
+        public com.google.protobuf.Descriptors.Descriptor
+            getDescriptorForType() {
+          return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_descriptor;
+        }
+
+        @java.lang.Override
+        public io.greptime.v1.region.Server.AddColumn.Location getDefaultInstanceForType() {
+          return io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance();
+        }
+
+        @java.lang.Override
+        public io.greptime.v1.region.Server.AddColumn.Location build() {
+          io.greptime.v1.region.Server.AddColumn.Location result = buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        @java.lang.Override
+        public io.greptime.v1.region.Server.AddColumn.Location buildPartial() {
+          io.greptime.v1.region.Server.AddColumn.Location result = new io.greptime.v1.region.Server.AddColumn.Location(this);
+          result.locationType_ = locationType_;
+          result.afterColumnName_ = afterColumnName_;
+          onBuilt();
+          return result;
+        }
+
+        @java.lang.Override
+        public Builder clone() {
+          return super.clone();
+        }
+        @java.lang.Override
+        public Builder setField(
+            com.google.protobuf.Descriptors.FieldDescriptor field,
+            java.lang.Object value) {
+          return super.setField(field, value);
+        }
+        @java.lang.Override
+        public Builder clearField(
+            com.google.protobuf.Descriptors.FieldDescriptor field) {
+          return super.clearField(field);
+        }
+        @java.lang.Override
+        public Builder clearOneof(
+            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          return super.clearOneof(oneof);
+        }
+        @java.lang.Override
+        public Builder setRepeatedField(
+            com.google.protobuf.Descriptors.FieldDescriptor field,
+            int index, java.lang.Object value) {
+          return super.setRepeatedField(field, index, value);
+        }
+        @java.lang.Override
+        public Builder addRepeatedField(
+            com.google.protobuf.Descriptors.FieldDescriptor field,
+            java.lang.Object value) {
+          return super.addRepeatedField(field, value);
+        }
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof io.greptime.v1.region.Server.AddColumn.Location) {
+            return mergeFrom((io.greptime.v1.region.Server.AddColumn.Location)other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder mergeFrom(io.greptime.v1.region.Server.AddColumn.Location other) {
+          if (other == io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance()) return this;
+          if (other.locationType_ != 0) {
+            setLocationTypeValue(other.getLocationTypeValue());
+          }
+          if (!other.getAfterColumnName().isEmpty()) {
+            afterColumnName_ = other.afterColumnName_;
+            onChanged();
+          }
+          this.mergeUnknownFields(other.unknownFields);
+          onChanged();
+          return this;
+        }
+
+        @java.lang.Override
+        public final boolean isInitialized() {
+          return true;
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws java.io.IOException {
+          io.greptime.v1.region.Server.AddColumn.Location parsedMessage = null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = (io.greptime.v1.region.Server.AddColumn.Location) e.getUnfinishedMessage();
+            throw e.unwrapIOException();
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+
+        private int locationType_ = 0;
+        /**
+         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+         * @return The enum numeric value on the wire for locationType.
+         */
+        @java.lang.Override public int getLocationTypeValue() {
+          return locationType_;
+        }
+        /**
+         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+         * @param value The enum numeric value on the wire for locationType to set.
+         * @return This builder for chaining.
+         */
+        public Builder setLocationTypeValue(int value) {
+          
+          locationType_ = value;
+          onChanged();
+          return this;
+        }
+        /**
+         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+         * @return The locationType.
+         */
+        @java.lang.Override
+        public io.greptime.v1.region.Server.AddColumn.Location.LocationType getLocationType() {
+          @SuppressWarnings("deprecation")
+          io.greptime.v1.region.Server.AddColumn.Location.LocationType result = io.greptime.v1.region.Server.AddColumn.Location.LocationType.valueOf(locationType_);
+          return result == null ? io.greptime.v1.region.Server.AddColumn.Location.LocationType.UNRECOGNIZED : result;
+        }
+        /**
+         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+         * @param value The locationType to set.
+         * @return This builder for chaining.
+         */
+        public Builder setLocationType(io.greptime.v1.region.Server.AddColumn.Location.LocationType value) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          
+          locationType_ = value.getNumber();
+          onChanged();
+          return this;
+        }
+        /**
+         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
+         * @return This builder for chaining.
+         */
+        public Builder clearLocationType() {
+          
+          locationType_ = 0;
+          onChanged();
+          return this;
+        }
+
+        private java.lang.Object afterColumnName_ = "";
+        /**
+         * string after_column_name = 2;
+         * @return The afterColumnName.
+         */
+        public java.lang.String getAfterColumnName() {
+          java.lang.Object ref = afterColumnName_;
+          if (!(ref instanceof java.lang.String)) {
+            com.google.protobuf.ByteString bs =
+                (com.google.protobuf.ByteString) ref;
+            java.lang.String s = bs.toStringUtf8();
+            afterColumnName_ = s;
+            return s;
+          } else {
+            return (java.lang.String) ref;
+          }
+        }
+        /**
+         * string after_column_name = 2;
+         * @return The bytes for afterColumnName.
+         */
+        public com.google.protobuf.ByteString
+            getAfterColumnNameBytes() {
+          java.lang.Object ref = afterColumnName_;
+          if (ref instanceof String) {
+            com.google.protobuf.ByteString b = 
+                com.google.protobuf.ByteString.copyFromUtf8(
+                    (java.lang.String) ref);
+            afterColumnName_ = b;
+            return b;
+          } else {
+            return (com.google.protobuf.ByteString) ref;
+          }
+        }
+        /**
+         * string after_column_name = 2;
+         * @param value The afterColumnName to set.
+         * @return This builder for chaining.
+         */
+        public Builder setAfterColumnName(
+            java.lang.String value) {
+          if (value == null) {
+    throw new NullPointerException();
+  }
+  
+          afterColumnName_ = value;
+          onChanged();
+          return this;
+        }
+        /**
+         * string after_column_name = 2;
+         * @return This builder for chaining.
+         */
+        public Builder clearAfterColumnName() {
+          
+          afterColumnName_ = getDefaultInstance().getAfterColumnName();
+          onChanged();
+          return this;
+        }
+        /**
+         * string after_column_name = 2;
+         * @param value The bytes for afterColumnName to set.
+         * @return This builder for chaining.
+         */
+        public Builder setAfterColumnNameBytes(
+            com.google.protobuf.ByteString value) {
+          if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+          
+          afterColumnName_ = value;
+          onChanged();
+          return this;
+        }
+        @java.lang.Override
+        public final Builder setUnknownFields(
+            final com.google.protobuf.UnknownFieldSet unknownFields) {
+          return super.setUnknownFields(unknownFields);
+        }
+
+        @java.lang.Override
+        public final Builder mergeUnknownFields(
+            final com.google.protobuf.UnknownFieldSet unknownFields) {
+          return super.mergeUnknownFields(unknownFields);
+        }
+
+
+        // @@protoc_insertion_point(builder_scope:greptime.v1.region.AddColumn.Location)
+      }
+
+      // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn.Location)
+      private static final io.greptime.v1.region.Server.AddColumn.Location DEFAULT_INSTANCE;
+      static {
+        DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AddColumn.Location();
+      }
+
+      public static io.greptime.v1.region.Server.AddColumn.Location getDefaultInstance() {
+        return DEFAULT_INSTANCE;
+      }
+
+      private static final com.google.protobuf.Parser
+          PARSER = new com.google.protobuf.AbstractParser() {
+        @java.lang.Override
+        public Location parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new Location(input, extensionRegistry);
+        }
+      };
+
+      public static com.google.protobuf.Parser parser() {
+        return PARSER;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Parser getParserForType() {
+        return PARSER;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumn.Location getDefaultInstanceForType() {
+        return DEFAULT_INSTANCE;
+      }
+
+    }
+
+    public static final int COLUMN_DEF_FIELD_NUMBER = 1;
+    private io.greptime.v1.region.Server.ColumnDef columnDef_;
+    /**
+     * .greptime.v1.region.ColumnDef column_def = 1;
+     * @return Whether the columnDef field is set.
+     */
+    @java.lang.Override
+    public boolean hasColumnDef() {
+      return columnDef_ != null;
+    }
+    /**
+     * .greptime.v1.region.ColumnDef column_def = 1;
+     * @return The columnDef.
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.ColumnDef getColumnDef() {
+      return columnDef_ == null ? io.greptime.v1.region.Server.ColumnDef.getDefaultInstance() : columnDef_;
+    }
+    /**
+     * .greptime.v1.region.ColumnDef column_def = 1;
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder() {
+      return getColumnDef();
+    }
+
+    public static final int IS_KEY_FIELD_NUMBER = 2;
+    private boolean isKey_;
+    /**
+     * bool is_key = 2;
+     * @return The isKey.
+     */
+    @java.lang.Override
+    public boolean getIsKey() {
+      return isKey_;
+    }
+
+    public static final int LOCATION_FIELD_NUMBER = 3;
+    private io.greptime.v1.region.Server.AddColumn.Location location_;
+    /**
+     * .greptime.v1.region.AddColumn.Location location = 3;
+     * @return Whether the location field is set.
+     */
+    @java.lang.Override
+    public boolean hasLocation() {
+      return location_ != null;
+    }
+    /**
+     * .greptime.v1.region.AddColumn.Location location = 3;
+     * @return The location.
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.AddColumn.Location getLocation() {
+      return location_ == null ? io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance() : location_;
+    }
+    /**
+     * .greptime.v1.region.AddColumn.Location location = 3;
+     */
+    @java.lang.Override
+    public io.greptime.v1.region.Server.AddColumn.LocationOrBuilder getLocationOrBuilder() {
+      return getLocation();
+    }
+
+    private byte memoizedIsInitialized = -1;
+    @java.lang.Override
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized == 1) return true;
+      if (isInitialized == 0) return false;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    @java.lang.Override
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (columnDef_ != null) {
+        output.writeMessage(1, getColumnDef());
+      }
+      if (isKey_ != false) {
+        output.writeBool(2, isKey_);
+      }
+      if (location_ != null) {
+        output.writeMessage(3, getLocation());
+      }
+      unknownFields.writeTo(output);
+    }
+
+    @java.lang.Override
+    public int getSerializedSize() {
+      int size = memoizedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (columnDef_ != null) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, getColumnDef());
+      }
+      if (isKey_ != false) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(2, isKey_);
+      }
+      if (location_ != null) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(3, getLocation());
+      }
+      size += unknownFields.getSerializedSize();
+      memoizedSize = size;
+      return size;
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof io.greptime.v1.region.Server.AddColumn)) {
+        return super.equals(obj);
+      }
+      io.greptime.v1.region.Server.AddColumn other = (io.greptime.v1.region.Server.AddColumn) obj;
+
+      if (hasColumnDef() != other.hasColumnDef()) return false;
+      if (hasColumnDef()) {
+        if (!getColumnDef()
+            .equals(other.getColumnDef())) return false;
+      }
+      if (getIsKey()
+          != other.getIsKey()) return false;
+      if (hasLocation() != other.hasLocation()) return false;
+      if (hasLocation()) {
+        if (!getLocation()
+            .equals(other.getLocation())) return false;
+      }
+      if (!unknownFields.equals(other.unknownFields)) return false;
+      return true;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptor().hashCode();
+      if (hasColumnDef()) {
+        hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER;
+        hash = (53 * hash) + getColumnDef().hashCode();
+      }
+      hash = (37 * hash) + IS_KEY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getIsKey());
+      if (hasLocation()) {
+        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
+        hash = (53 * hash) + getLocation().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.AddColumn parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+
+    @java.lang.Override
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder() {
+      return DEFAULT_INSTANCE.toBuilder();
+    }
+    public static Builder newBuilder(io.greptime.v1.region.Server.AddColumn prototype) {
+      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+    }
+    @java.lang.Override
+    public Builder toBuilder() {
+      return this == DEFAULT_INSTANCE
+          ? new Builder() : new Builder().mergeFrom(this);
+    }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code greptime.v1.region.AddColumn}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:greptime.v1.region.AddColumn)
+        io.greptime.v1.region.Server.AddColumnOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                io.greptime.v1.region.Server.AddColumn.class, io.greptime.v1.region.Server.AddColumn.Builder.class);
+      }
+
+      // Construct using io.greptime.v1.region.Server.AddColumn.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
+        }
+      }
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        if (columnDefBuilder_ == null) {
+          columnDef_ = null;
+        } else {
+          columnDef_ = null;
+          columnDefBuilder_ = null;
+        }
+        isKey_ = false;
+
+        if (locationBuilder_ == null) {
+          location_ = null;
+        } else {
+          location_ = null;
+          locationBuilder_ = null;
+        }
+        return this;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_descriptor;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumn getDefaultInstanceForType() {
+        return io.greptime.v1.region.Server.AddColumn.getDefaultInstance();
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumn build() {
+        io.greptime.v1.region.Server.AddColumn result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.AddColumn buildPartial() {
+        io.greptime.v1.region.Server.AddColumn result = new io.greptime.v1.region.Server.AddColumn(this);
+        if (columnDefBuilder_ == null) {
+          result.columnDef_ = columnDef_;
+        } else {
+          result.columnDef_ = columnDefBuilder_.build();
+        }
+        result.isKey_ = isKey_;
+        if (locationBuilder_ == null) {
+          result.location_ = location_;
+        } else {
+          result.location_ = locationBuilder_.build();
+        }
+        onBuilt();
+        return result;
+      }
+
+      @java.lang.Override
+      public Builder clone() {
+        return super.clone();
+      }
+      @java.lang.Override
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.setField(field, value);
+      }
+      @java.lang.Override
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return super.clearField(field);
+      }
+      @java.lang.Override
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return super.clearOneof(oneof);
+      }
+      @java.lang.Override
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
+        return super.setRepeatedField(field, index, value);
+      }
+      @java.lang.Override
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.addRepeatedField(field, value);
+      }
+      @java.lang.Override
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof io.greptime.v1.region.Server.AddColumn) {
+          return mergeFrom((io.greptime.v1.region.Server.AddColumn)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(io.greptime.v1.region.Server.AddColumn other) {
+        if (other == io.greptime.v1.region.Server.AddColumn.getDefaultInstance()) return this;
+        if (other.hasColumnDef()) {
+          mergeColumnDef(other.getColumnDef());
+        }
+        if (other.getIsKey() != false) {
+          setIsKey(other.getIsKey());
+        }
+        if (other.hasLocation()) {
+          mergeLocation(other.getLocation());
+        }
+        this.mergeUnknownFields(other.unknownFields);
+        onChanged();
+        return this;
+      }
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      @java.lang.Override
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        io.greptime.v1.region.Server.AddColumn parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (io.greptime.v1.region.Server.AddColumn) e.getUnfinishedMessage();
+          throw e.unwrapIOException();
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+
+      private io.greptime.v1.region.Server.ColumnDef columnDef_;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder> columnDefBuilder_;
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       * @return Whether the columnDef field is set.
+       */
+      public boolean hasColumnDef() {
+        return columnDefBuilder_ != null || columnDef_ != null;
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       * @return The columnDef.
+       */
+      public io.greptime.v1.region.Server.ColumnDef getColumnDef() {
+        if (columnDefBuilder_ == null) {
+          return columnDef_ == null ? io.greptime.v1.region.Server.ColumnDef.getDefaultInstance() : columnDef_;
+        } else {
+          return columnDefBuilder_.getMessage();
+        }
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      public Builder setColumnDef(io.greptime.v1.region.Server.ColumnDef value) {
+        if (columnDefBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          columnDef_ = value;
+          onChanged();
+        } else {
+          columnDefBuilder_.setMessage(value);
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      public Builder setColumnDef(
+          io.greptime.v1.region.Server.ColumnDef.Builder builderForValue) {
+        if (columnDefBuilder_ == null) {
+          columnDef_ = builderForValue.build();
+          onChanged();
+        } else {
+          columnDefBuilder_.setMessage(builderForValue.build());
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      public Builder mergeColumnDef(io.greptime.v1.region.Server.ColumnDef value) {
+        if (columnDefBuilder_ == null) {
+          if (columnDef_ != null) {
+            columnDef_ =
+              io.greptime.v1.region.Server.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial();
+          } else {
+            columnDef_ = value;
+          }
+          onChanged();
+        } else {
+          columnDefBuilder_.mergeFrom(value);
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      public Builder clearColumnDef() {
+        if (columnDefBuilder_ == null) {
+          columnDef_ = null;
+          onChanged();
+        } else {
+          columnDef_ = null;
+          columnDefBuilder_ = null;
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      public io.greptime.v1.region.Server.ColumnDef.Builder getColumnDefBuilder() {
+        
+        onChanged();
+        return getColumnDefFieldBuilder().getBuilder();
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder() {
+        if (columnDefBuilder_ != null) {
+          return columnDefBuilder_.getMessageOrBuilder();
+        } else {
+          return columnDef_ == null ?
+              io.greptime.v1.region.Server.ColumnDef.getDefaultInstance() : columnDef_;
+        }
+      }
+      /**
+       * .greptime.v1.region.ColumnDef column_def = 1;
+       */
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder> 
+          getColumnDefFieldBuilder() {
+        if (columnDefBuilder_ == null) {
+          columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+              io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder>(
+                  getColumnDef(),
+                  getParentForChildren(),
+                  isClean());
+          columnDef_ = null;
+        }
+        return columnDefBuilder_;
+      }
+
+      private boolean isKey_ ;
+      /**
+       * bool is_key = 2;
+       * @return The isKey.
+       */
+      @java.lang.Override
+      public boolean getIsKey() {
+        return isKey_;
+      }
+      /**
+       * bool is_key = 2;
+       * @param value The isKey to set.
+       * @return This builder for chaining.
+       */
+      public Builder setIsKey(boolean value) {
+        
+        isKey_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * bool is_key = 2;
+       * @return This builder for chaining.
+       */
+      public Builder clearIsKey() {
+        
+        isKey_ = false;
+        onChanged();
+        return this;
+      }
+
+      private io.greptime.v1.region.Server.AddColumn.Location location_;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.region.Server.AddColumn.Location, io.greptime.v1.region.Server.AddColumn.Location.Builder, io.greptime.v1.region.Server.AddColumn.LocationOrBuilder> locationBuilder_;
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       * @return Whether the location field is set.
+       */
+      public boolean hasLocation() {
+        return locationBuilder_ != null || location_ != null;
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       * @return The location.
+       */
+      public io.greptime.v1.region.Server.AddColumn.Location getLocation() {
+        if (locationBuilder_ == null) {
+          return location_ == null ? io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance() : location_;
+        } else {
+          return locationBuilder_.getMessage();
+        }
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      public Builder setLocation(io.greptime.v1.region.Server.AddColumn.Location value) {
+        if (locationBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          location_ = value;
+          onChanged();
+        } else {
+          locationBuilder_.setMessage(value);
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      public Builder setLocation(
+          io.greptime.v1.region.Server.AddColumn.Location.Builder builderForValue) {
+        if (locationBuilder_ == null) {
+          location_ = builderForValue.build();
+          onChanged();
+        } else {
+          locationBuilder_.setMessage(builderForValue.build());
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      public Builder mergeLocation(io.greptime.v1.region.Server.AddColumn.Location value) {
+        if (locationBuilder_ == null) {
+          if (location_ != null) {
+            location_ =
+              io.greptime.v1.region.Server.AddColumn.Location.newBuilder(location_).mergeFrom(value).buildPartial();
+          } else {
+            location_ = value;
+          }
+          onChanged();
+        } else {
+          locationBuilder_.mergeFrom(value);
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      public Builder clearLocation() {
+        if (locationBuilder_ == null) {
+          location_ = null;
+          onChanged();
+        } else {
+          location_ = null;
+          locationBuilder_ = null;
+        }
+
+        return this;
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      public io.greptime.v1.region.Server.AddColumn.Location.Builder getLocationBuilder() {
+        
+        onChanged();
+        return getLocationFieldBuilder().getBuilder();
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      public io.greptime.v1.region.Server.AddColumn.LocationOrBuilder getLocationOrBuilder() {
+        if (locationBuilder_ != null) {
+          return locationBuilder_.getMessageOrBuilder();
+        } else {
+          return location_ == null ?
+              io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance() : location_;
+        }
+      }
+      /**
+       * .greptime.v1.region.AddColumn.Location location = 3;
+       */
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.region.Server.AddColumn.Location, io.greptime.v1.region.Server.AddColumn.Location.Builder, io.greptime.v1.region.Server.AddColumn.LocationOrBuilder> 
+          getLocationFieldBuilder() {
+        if (locationBuilder_ == null) {
+          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+              io.greptime.v1.region.Server.AddColumn.Location, io.greptime.v1.region.Server.AddColumn.Location.Builder, io.greptime.v1.region.Server.AddColumn.LocationOrBuilder>(
+                  getLocation(),
+                  getParentForChildren(),
+                  isClean());
+          location_ = null;
+        }
+        return locationBuilder_;
+      }
+      @java.lang.Override
+      public final Builder setUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.setUnknownFields(unknownFields);
+      }
+
+      @java.lang.Override
+      public final Builder mergeUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.mergeUnknownFields(unknownFields);
+      }
+
+
+      // @@protoc_insertion_point(builder_scope:greptime.v1.region.AddColumn)
+    }
+
+    // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn)
+    private static final io.greptime.v1.region.Server.AddColumn DEFAULT_INSTANCE;
+    static {
+      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AddColumn();
+    }
+
+    public static io.greptime.v1.region.Server.AddColumn getDefaultInstance() {
+      return DEFAULT_INSTANCE;
+    }
+
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
+      @java.lang.Override
+      public AddColumn parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new AddColumn(input, extensionRegistry);
+      }
+    };
+
+    public static com.google.protobuf.Parser parser() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.Parser getParserForType() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public io.greptime.v1.region.Server.AddColumn getDefaultInstanceForType() {
+      return DEFAULT_INSTANCE;
+    }
+
+  }
+
+  public interface DropColumnOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DropColumn)
+      com.google.protobuf.MessageOrBuilder {
+
+    /**
+     * string name = 1;
+     * @return The name.
+     */
+    java.lang.String getName();
+    /**
+     * string name = 1;
+     * @return The bytes for name.
+     */
+    com.google.protobuf.ByteString
+        getNameBytes();
+  }
+  /**
+   * Protobuf type {@code greptime.v1.region.DropColumn}
+   */
+  public static final class DropColumn extends
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:greptime.v1.region.DropColumn)
+      DropColumnOrBuilder {
+  private static final long serialVersionUID = 0L;
+    // Use DropColumn.newBuilder() to construct.
+    private DropColumn(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+      super(builder);
+    }
+    private DropColumn() {
+      name_ = "";
+    }
+
+    @java.lang.Override
+    @SuppressWarnings({"unused"})
+    protected java.lang.Object newInstance(
+        UnusedPrivateParameter unused) {
+      return new DropColumn();
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+    getUnknownFields() {
+      return this.unknownFields;
+    }
+    private DropColumn(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 10: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              name_ = s;
+              break;
+            }
+            default: {
+              if (!parseUnknownField(
+                  input, unknownFields, extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              io.greptime.v1.region.Server.DropColumn.class, io.greptime.v1.region.Server.DropColumn.Builder.class);
+    }
+
+    public static final int NAME_FIELD_NUMBER = 1;
+    private volatile java.lang.Object name_;
+    /**
+     * string name = 1;
+     * @return The name.
+     */
+    @java.lang.Override
+    public java.lang.String getName() {
+      java.lang.Object ref = name_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        name_ = s;
+        return s;
+      }
+    }
+    /**
+     * string name = 1;
+     * @return The bytes for name.
+     */
+    @java.lang.Override
+    public com.google.protobuf.ByteString
+        getNameBytes() {
+      java.lang.Object ref = name_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        name_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    private byte memoizedIsInitialized = -1;
+    @java.lang.Override
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized == 1) return true;
+      if (isInitialized == 0) return false;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    @java.lang.Override
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+      }
+      unknownFields.writeTo(output);
+    }
+
+    @java.lang.Override
+    public int getSerializedSize() {
+      int size = memoizedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+      }
+      size += unknownFields.getSerializedSize();
+      memoizedSize = size;
+      return size;
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof io.greptime.v1.region.Server.DropColumn)) {
+        return super.equals(obj);
+      }
+      io.greptime.v1.region.Server.DropColumn other = (io.greptime.v1.region.Server.DropColumn) obj;
+
+      if (!getName()
+          .equals(other.getName())) return false;
+      if (!unknownFields.equals(other.unknownFields)) return false;
+      return true;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptor().hashCode();
+      hash = (37 * hash) + NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getName().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.region.Server.DropColumn parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+
+    @java.lang.Override
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder() {
+      return DEFAULT_INSTANCE.toBuilder();
+    }
+    public static Builder newBuilder(io.greptime.v1.region.Server.DropColumn prototype) {
+      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+    }
+    @java.lang.Override
+    public Builder toBuilder() {
+      return this == DEFAULT_INSTANCE
+          ? new Builder() : new Builder().mergeFrom(this);
+    }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code greptime.v1.region.DropColumn}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DropColumn)
+        io.greptime.v1.region.Server.DropColumnOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                io.greptime.v1.region.Server.DropColumn.class, io.greptime.v1.region.Server.DropColumn.Builder.class);
+      }
+
+      // Construct using io.greptime.v1.region.Server.DropColumn.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
+        }
+      }
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        name_ = "";
+
+        return this;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_descriptor;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.DropColumn getDefaultInstanceForType() {
+        return io.greptime.v1.region.Server.DropColumn.getDefaultInstance();
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.DropColumn build() {
+        io.greptime.v1.region.Server.DropColumn result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      @java.lang.Override
+      public io.greptime.v1.region.Server.DropColumn buildPartial() {
+        io.greptime.v1.region.Server.DropColumn result = new io.greptime.v1.region.Server.DropColumn(this);
+        result.name_ = name_;
+        onBuilt();
+        return result;
+      }
+
+      @java.lang.Override
+      public Builder clone() {
+        return super.clone();
+      }
+      @java.lang.Override
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.setField(field, value);
+      }
+      @java.lang.Override
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return super.clearField(field);
+      }
+      @java.lang.Override
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return super.clearOneof(oneof);
+      }
+      @java.lang.Override
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
+        return super.setRepeatedField(field, index, value);
+      }
+      @java.lang.Override
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.addRepeatedField(field, value);
+      }
+      @java.lang.Override
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof io.greptime.v1.region.Server.DropColumn) {
+          return mergeFrom((io.greptime.v1.region.Server.DropColumn)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(io.greptime.v1.region.Server.DropColumn other) {
+        if (other == io.greptime.v1.region.Server.DropColumn.getDefaultInstance()) return this;
+        if (!other.getName().isEmpty()) {
+          name_ = other.name_;
+          onChanged();
+        }
+        this.mergeUnknownFields(other.unknownFields);
+        onChanged();
+        return this;
+      }
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      @java.lang.Override
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        io.greptime.v1.region.Server.DropColumn parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (io.greptime.v1.region.Server.DropColumn) e.getUnfinishedMessage();
+          throw e.unwrapIOException();
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+
+      private java.lang.Object name_ = "";
+      /**
+       * string name = 1;
+       * @return The name.
+       */
+      public java.lang.String getName() {
+        java.lang.Object ref = name_;
+        if (!(ref instanceof java.lang.String)) {
+          com.google.protobuf.ByteString bs =
+              (com.google.protobuf.ByteString) ref;
+          java.lang.String s = bs.toStringUtf8();
+          name_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * string name = 1;
+       * @return The bytes for name.
+       */
+      public com.google.protobuf.ByteString
+          getNameBytes() {
+        java.lang.Object ref = name_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          name_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * string name = 1;
+       * @param value The name to set.
+       * @return This builder for chaining.
+       */
+      public Builder setName(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  
+        name_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * string name = 1;
+       * @return This builder for chaining.
+       */
+      public Builder clearName() {
+        
+        name_ = getDefaultInstance().getName();
+        onChanged();
+        return this;
+      }
+      /**
+       * string name = 1;
+       * @param value The bytes for name to set.
+       * @return This builder for chaining.
+       */
+      public Builder setNameBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
+        name_ = value;
+        onChanged();
+        return this;
+      }
+      @java.lang.Override
+      public final Builder setUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.setUnknownFields(unknownFields);
+      }
+
+      @java.lang.Override
+      public final Builder mergeUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.mergeUnknownFields(unknownFields);
+      }
+
+
+      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DropColumn)
+    }
+
+    // @@protoc_insertion_point(class_scope:greptime.v1.region.DropColumn)
+    private static final io.greptime.v1.region.Server.DropColumn DEFAULT_INSTANCE;
+    static {
+      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DropColumn();
+    }
+
+    public static io.greptime.v1.region.Server.DropColumn getDefaultInstance() {
+      return DEFAULT_INSTANCE;
+    }
+
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
+      @java.lang.Override
+      public DropColumn parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new DropColumn(input, extensionRegistry);
+      }
+    };
+
+    public static com.google.protobuf.Parser parser() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.Parser getParserForType() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public io.greptime.v1.region.Server.DropColumn getDefaultInstanceForType() {
+      return DEFAULT_INSTANCE;
+    }
+
+  }
+
   public interface FlushRequestOrBuilder extends
       // @@protoc_insertion_point(interface_extends:greptime.v1.region.FlushRequest)
       com.google.protobuf.MessageOrBuilder {
@@ -15503,6 +19345,31 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() {
   private static final 
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_greptime_v1_region_AlterRequest_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_greptime_v1_region_AddColumns_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_greptime_v1_region_AddColumns_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_greptime_v1_region_DropColumns_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_greptime_v1_region_DropColumns_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_greptime_v1_region_AddColumn_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_greptime_v1_region_AddColumn_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_greptime_v1_region_AddColumn_Location_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_greptime_v1_region_AddColumn_Location_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_greptime_v1_region_DropColumn_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_greptime_v1_region_DropColumn_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_greptime_v1_region_FlushRequest_descriptor;
   private static final 
@@ -15529,70 +19396,80 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() {
     java.lang.String[] descriptorData = {
       "\n\037greptime/v1/region/server.proto\022\022grept" +
       "ime.v1.region\032\030greptime/v1/common.proto\032" +
-      "\025greptime/v1/row.proto\032\025greptime/v1/ddl." +
-      "proto\"8\n\023RegionRequestHeader\022\020\n\010trace_id" +
-      "\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004\"\245\004\n\rRegionReques" +
-      "t\0227\n\006header\030\001 \001(\0132\'.greptime.v1.region.R" +
-      "egionRequestHeader\0225\n\007inserts\030\003 \001(\0132\".gr" +
-      "eptime.v1.region.InsertRequestsH\000\0225\n\007del" +
-      "etes\030\004 \001(\0132\".greptime.v1.region.DeleteRe" +
-      "questsH\000\0223\n\006create\030\005 \001(\0132!.greptime.v1.r" +
-      "egion.CreateRequestH\000\022/\n\004drop\030\006 \001(\0132\037.gr" +
-      "eptime.v1.region.DropRequestH\000\022/\n\004open\030\007" +
-      " \001(\0132\037.greptime.v1.region.OpenRequestH\000\022" +
-      "1\n\005close\030\010 \001(\0132 .greptime.v1.region.Clos" +
-      "eRequestH\000\0221\n\005alter\030\t \001(\0132 .greptime.v1." +
-      "region.AlterRequestH\000\0221\n\005flush\030\n \001(\0132 .g" +
-      "reptime.v1.region.FlushRequestH\000\0225\n\007comp" +
-      "act\030\013 \001(\0132\".greptime.v1.region.CompactRe" +
-      "questH\000B\006\n\004body\"T\n\016RegionResponse\022+\n\006hea" +
-      "der\030\001 \001(\0132\033.greptime.v1.ResponseHeader\022\025" +
-      "\n\raffected_rows\030\002 \001(\004\"E\n\016InsertRequests\022" +
-      "3\n\010requests\030\001 \003(\0132!.greptime.v1.region.I" +
-      "nsertRequest\"E\n\016DeleteRequests\0223\n\010reques" +
-      "ts\030\001 \003(\0132!.greptime.v1.region.DeleteRequ" +
-      "est\"C\n\rInsertRequest\022\021\n\tregion_id\030\001 \001(\004\022" +
-      "\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"C\n\rDele" +
-      "teRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001" +
-      "(\0132\021.greptime.v1.Rows\"/\n\014QueryRequest\022\021\n" +
-      "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\253\002\n\rCreat" +
-      "eRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 " +
-      "\001(\t\0222\n\013column_defs\030\003 \003(\0132\035.greptime.v1.r" +
-      "egion.ColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\034\n\024" +
-      "create_if_not_exists\030\005 \001(\010\022\017\n\007catalog\030\006 " +
-      "\001(\t\022\016\n\006schema\030\007 \001(\t\022?\n\007options\030\010 \003(\0132..g" +
-      "reptime.v1.region.CreateRequest.OptionsE" +
-      "ntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
-      "ue\030\002 \001(\t:\0028\001\" \n\013DropRequest\022\021\n\tregion_id" +
-      "\030\001 \001(\004\"\300\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(" +
-      "\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007catalog\030\003 \001(\t\022\016\n\006sc" +
-      "hema\030\004 \001(\t\022=\n\007options\030\005 \003(\0132,.greptime.v" +
-      "1.region.OpenRequest.OptionsEntry\032.\n\014Opt" +
-      "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" +
-      "\001\"!\n\014CloseRequest\022\021\n\tregion_id\030\001 \001(\004\"\243\001\n" +
-      "\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\022.\n\013add_" +
-      "columns\030\002 \001(\0132\027.greptime.v1.AddColumnsH\000" +
-      "\0220\n\014drop_columns\030\003 \001(\0132\030.greptime.v1.Dro" +
-      "pColumnsH\000\022\026\n\016schema_version\030\004 \001(\004B\006\n\004ki" +
-      "nd\"!\n\014FlushRequest\022\021\n\tregion_id\030\001 \001(\004\"#\n" +
-      "\016CompactRequest\022\021\n\tregion_id\030\001 \001(\004\"\276\001\n\tC" +
-      "olumnDef\022\014\n\004name\030\001 \001(\t\022\021\n\tcolumn_id\030\002 \001(" +
-      "\r\022-\n\010datatype\030\003 \001(\0162\033.greptime.v1.Column" +
-      "DataType\022\023\n\013is_nullable\030\004 \001(\010\022\032\n\022default" +
-      "_constraint\030\005 \001(\014\0220\n\rsemantic_type\030\006 \001(\016" +
-      "2\031.greptime.v1.SemanticType2Y\n\006Region\022O\n" +
-      "\006Handle\022!.greptime.v1.region.RegionReque" +
-      "st\032\".greptime.v1.region.RegionResponseB]" +
-      "\n\025io.greptime.v1.regionB\006ServerZ
Date: Sun, 3 Sep 2023 13:43:24 +0800
Subject: [PATCH 3/6] feat: alter region request

---
 c++/greptime/v1/ddl.pb.cc                     |  584 ++--
 c++/greptime/v1/ddl.pb.h                      |  646 ++--
 c++/greptime/v1/region/server.pb.cc           |  466 +--
 c++/greptime/v1/region/server.pb.h            |  386 +--
 go/greptime/v1/ddl.pb.go                      |  168 +-
 java/src/main/java/io/greptime/v1/Ddl.java    | 2894 ++++++++---------
 .../java/io/greptime/v1/region/Server.java    | 1003 +-----
 proto/greptime/v1/ddl.proto                   |   26 +-
 proto/greptime/v1/region/server.proto         |   12 +-
 9 files changed, 2394 insertions(+), 3791 deletions(-)

diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc
index bf37f495..d2e06b44 100644
--- a/c++/greptime/v1/ddl.pb.cc
+++ b/c++/greptime/v1/ddl.pb.cc
@@ -188,20 +188,6 @@ struct RenameTableDefaultTypeInternal {
   };
 };
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RenameTableDefaultTypeInternal _RenameTable_default_instance_;
-PROTOBUF_CONSTEXPR AddColumn_Location::AddColumn_Location(
-    ::_pbi::ConstantInitialized): _impl_{
-    /*decltype(_impl_.after_column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
-  , /*decltype(_impl_.location_type_)*/0
-  , /*decltype(_impl_._cached_size_)*/{}} {}
-struct AddColumn_LocationDefaultTypeInternal {
-  PROTOBUF_CONSTEXPR AddColumn_LocationDefaultTypeInternal()
-      : _instance(::_pbi::ConstantInitialized{}) {}
-  ~AddColumn_LocationDefaultTypeInternal() {}
-  union {
-    AddColumn_Location _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumn_LocationDefaultTypeInternal _AddColumn_Location_default_instance_;
 PROTOBUF_CONSTEXPR AddColumn::AddColumn(
     ::_pbi::ConstantInitialized): _impl_{
     /*decltype(_impl_.column_def_)*/nullptr
@@ -243,6 +229,20 @@ struct TableIdDefaultTypeInternal {
   };
 };
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableIdDefaultTypeInternal _TableId_default_instance_;
+PROTOBUF_CONSTEXPR AddColumnLocation::AddColumnLocation(
+    ::_pbi::ConstantInitialized): _impl_{
+    /*decltype(_impl_.after_column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
+  , /*decltype(_impl_.location_type_)*/0
+  , /*decltype(_impl_._cached_size_)*/{}} {}
+struct AddColumnLocationDefaultTypeInternal {
+  PROTOBUF_CONSTEXPR AddColumnLocationDefaultTypeInternal()
+      : _instance(::_pbi::ConstantInitialized{}) {}
+  ~AddColumnLocationDefaultTypeInternal() {}
+  union {
+    AddColumnLocation _instance;
+  };
+};
+PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnLocationDefaultTypeInternal _AddColumnLocation_default_instance_;
 }  // namespace v1
 }  // namespace greptime
 static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fddl_2eproto[15];
@@ -366,14 +366,6 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::RenameTable, _impl_.new_table_name_),
   ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn_Location, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn_Location, _impl_.location_type_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn_Location, _impl_.after_column_name_),
-  ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
@@ -396,6 +388,14 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI
   ~0u,  // no _weak_field_map_
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::TableId, _impl_.id_),
+  ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _inlined_string_donated_
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _impl_.location_type_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _impl_.after_column_name_),
 };
 static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
   { 0, -1, -1, sizeof(::greptime::v1::DdlRequest)},
@@ -409,10 +409,10 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
   { 94, -1, -1, sizeof(::greptime::v1::AddColumns)},
   { 101, -1, -1, sizeof(::greptime::v1::DropColumns)},
   { 108, -1, -1, sizeof(::greptime::v1::RenameTable)},
-  { 115, -1, -1, sizeof(::greptime::v1::AddColumn_Location)},
-  { 123, -1, -1, sizeof(::greptime::v1::AddColumn)},
-  { 132, -1, -1, sizeof(::greptime::v1::DropColumn)},
-  { 139, -1, -1, sizeof(::greptime::v1::TableId)},
+  { 115, -1, -1, sizeof(::greptime::v1::AddColumn)},
+  { 124, -1, -1, sizeof(::greptime::v1::DropColumn)},
+  { 131, -1, -1, sizeof(::greptime::v1::TableId)},
+  { 138, -1, -1, sizeof(::greptime::v1::AddColumnLocation)},
 };
 
 static const ::_pb::Message* const file_default_instances[] = {
@@ -427,10 +427,10 @@ static const ::_pb::Message* const file_default_instances[] = {
   &::greptime::v1::_AddColumns_default_instance_._instance,
   &::greptime::v1::_DropColumns_default_instance_._instance,
   &::greptime::v1::_RenameTable_default_instance_._instance,
-  &::greptime::v1::_AddColumn_Location_default_instance_._instance,
   &::greptime::v1::_AddColumn_default_instance_._instance,
   &::greptime::v1::_DropColumn_default_instance_._instance,
   &::greptime::v1::_TableId_default_instance_._instance,
+  &::greptime::v1::_AddColumnLocation_default_instance_._instance,
 };
 
 const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
@@ -475,24 +475,24 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT
   "ns\030\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013Drop"
   "Columns\022-\n\014drop_columns\030\001 \003(\0132\027.greptime"
   ".v1.DropColumn\"%\n\013RenameTable\022\026\n\016new_tab"
-  "le_name\030\001 \001(\t\"\215\002\n\tAddColumn\022*\n\ncolumn_de"
-  "f\030\001 \001(\0132\026.greptime.v1.ColumnDef\022\016\n\006is_ke"
-  "y\030\002 \001(\010\0221\n\010location\030\003 \001(\0132\037.greptime.v1."
-  "AddColumn.Location\032\220\001\n\010Location\022C\n\rlocat"
-  "ion_type\030\001 \001(\0162,.greptime.v1.AddColumn.L"
-  "ocation.LocationType\022\031\n\021after_column_nam"
-  "e\030\002 \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AF"
-  "TER\020\001\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025\n\007Tab"
-  "leId\022\n\n\002id\030\001 \001(\rBL\n\016io.greptime.v1B\003DdlZ"
-  "5github.com/GreptimeTeam/greptime-proto/"
-  "go/greptime/v1b\006proto3"
+  "le_name\030\001 \001(\t\"y\n\tAddColumn\022*\n\ncolumn_def"
+  "\030\001 \001(\0132\026.greptime.v1.ColumnDef\022\016\n\006is_key"
+  "\030\002 \001(\010\0220\n\010location\030\003 \001(\0132\036.greptime.v1.A"
+  "ddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030\001"
+  " \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\230\001\n\021AddColum"
+  "nLocation\022B\n\rlocation_type\030\001 \001(\0162+.grept"
+  "ime.v1.AddColumnLocation.LocationType\022\031\n"
+  "\021after_column_name\030\002 \001(\t\"$\n\014LocationType"
+  "\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v1"
+  "B\003DdlZ5github.com/GreptimeTeam/greptime-"
+  "proto/go/greptime/v1b\006proto3"
   ;
 static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fddl_2eproto_deps[1] = {
   &::descriptor_table_greptime_2fv1_2fcommon_2eproto,
 };
 static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fddl_2eproto_once;
 const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fddl_2eproto = {
-    false, false, 2062, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
+    false, false, 2068, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
     "greptime/v1/ddl.proto",
     &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 15,
     schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets,
@@ -507,11 +507,11 @@ PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_greptime
 PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_greptime_2fv1_2fddl_2eproto(&descriptor_table_greptime_2fv1_2fddl_2eproto);
 namespace greptime {
 namespace v1 {
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumn_Location_LocationType_descriptor() {
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumnLocation_LocationType_descriptor() {
   ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_greptime_2fv1_2fddl_2eproto);
   return file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto[0];
 }
-bool AddColumn_Location_LocationType_IsValid(int value) {
+bool AddColumnLocation_LocationType_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
@@ -522,11 +522,11 @@ bool AddColumn_Location_LocationType_IsValid(int value) {
 }
 
 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
-constexpr AddColumn_Location_LocationType AddColumn_Location::FIRST;
-constexpr AddColumn_Location_LocationType AddColumn_Location::AFTER;
-constexpr AddColumn_Location_LocationType AddColumn_Location::LocationType_MIN;
-constexpr AddColumn_Location_LocationType AddColumn_Location::LocationType_MAX;
-constexpr int AddColumn_Location::LocationType_ARRAYSIZE;
+constexpr AddColumnLocation_LocationType AddColumnLocation::FIRST;
+constexpr AddColumnLocation_LocationType AddColumnLocation::AFTER;
+constexpr AddColumnLocation_LocationType AddColumnLocation::LocationType_MIN;
+constexpr AddColumnLocation_LocationType AddColumnLocation::LocationType_MAX;
+constexpr int AddColumnLocation::LocationType_ARRAYSIZE;
 #endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
 
 // ===================================================================
@@ -3899,250 +3899,17 @@ ::PROTOBUF_NAMESPACE_ID::Metadata RenameTable::GetMetadata() const {
 
 // ===================================================================
 
-class AddColumn_Location::_Internal {
- public:
-};
-
-AddColumn_Location::AddColumn_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
-  SharedCtor(arena, is_message_owned);
-  // @@protoc_insertion_point(arena_constructor:greptime.v1.AddColumn.Location)
-}
-AddColumn_Location::AddColumn_Location(const AddColumn_Location& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  AddColumn_Location* const _this = this; (void)_this;
-  new (&_impl_) Impl_{
-      decltype(_impl_.after_column_name_){}
-    , decltype(_impl_.location_type_){}
-    , /*decltype(_impl_._cached_size_)*/{}};
-
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  _impl_.after_column_name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.after_column_name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (!from._internal_after_column_name().empty()) {
-    _this->_impl_.after_column_name_.Set(from._internal_after_column_name(), 
-      _this->GetArenaForAllocation());
-  }
-  _this->_impl_.location_type_ = from._impl_.location_type_;
-  // @@protoc_insertion_point(copy_constructor:greptime.v1.AddColumn.Location)
-}
-
-inline void AddColumn_Location::SharedCtor(
-    ::_pb::Arena* arena, bool is_message_owned) {
-  (void)arena;
-  (void)is_message_owned;
-  new (&_impl_) Impl_{
-      decltype(_impl_.after_column_name_){}
-    , decltype(_impl_.location_type_){0}
-    , /*decltype(_impl_._cached_size_)*/{}
-  };
-  _impl_.after_column_name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.after_column_name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-}
-
-AddColumn_Location::~AddColumn_Location() {
-  // @@protoc_insertion_point(destructor:greptime.v1.AddColumn.Location)
-  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
-  (void)arena;
-    return;
-  }
-  SharedDtor();
-}
-
-inline void AddColumn_Location::SharedDtor() {
-  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
-  _impl_.after_column_name_.Destroy();
-}
-
-void AddColumn_Location::SetCachedSize(int size) const {
-  _impl_._cached_size_.Set(size);
-}
-
-void AddColumn_Location::Clear() {
-// @@protoc_insertion_point(message_clear_start:greptime.v1.AddColumn.Location)
-  uint32_t cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  _impl_.after_column_name_.ClearToEmpty();
-  _impl_.location_type_ = 0;
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* AddColumn_Location::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    uint32_t tag;
-    ptr = ::_pbi::ReadTag(ptr, &tag);
-    switch (tag >> 3) {
-      // .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) {
-          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_location_type(static_cast<::greptime::v1::AddColumn_Location_LocationType>(val));
-        } else
-          goto handle_unusual;
-        continue;
-      // string after_column_name = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) {
-          auto str = _internal_mutable_after_column_name();
-          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.AddColumn.Location.after_column_name"));
-        } else
-          goto handle_unusual;
-        continue;
-      default:
-        goto handle_unusual;
-    }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
-  }  // while
-message_done:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto message_done;
-#undef CHK_
-}
-
-uint8_t* AddColumn_Location::_InternalSerialize(
-    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.AddColumn.Location)
-  uint32_t cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-  if (this->_internal_location_type() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteEnumToArray(
-      1, this->_internal_location_type(), target);
-  }
-
-  // string after_column_name = 2;
-  if (!this->_internal_after_column_name().empty()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_after_column_name().data(), static_cast(this->_internal_after_column_name().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "greptime.v1.AddColumn.Location.after_column_name");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_after_column_name(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.AddColumn.Location)
-  return target;
-}
-
-size_t AddColumn_Location::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:greptime.v1.AddColumn.Location)
-  size_t total_size = 0;
-
-  uint32_t cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string after_column_name = 2;
-  if (!this->_internal_after_column_name().empty()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_after_column_name());
-  }
-
-  // .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-  if (this->_internal_location_type() != 0) {
-    total_size += 1 +
-      ::_pbi::WireFormatLite::EnumSize(this->_internal_location_type());
-  }
-
-  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
-}
-
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddColumn_Location::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
-    AddColumn_Location::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddColumn_Location::GetClassData() const { return &_class_data_; }
-
-
-void AddColumn_Location::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
-  auto* const _this = static_cast(&to_msg);
-  auto& from = static_cast(from_msg);
-  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.AddColumn.Location)
-  GOOGLE_DCHECK_NE(&from, _this);
-  uint32_t cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (!from._internal_after_column_name().empty()) {
-    _this->_internal_set_after_column_name(from._internal_after_column_name());
-  }
-  if (from._internal_location_type() != 0) {
-    _this->_internal_set_location_type(from._internal_location_type());
-  }
-  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-}
-
-void AddColumn_Location::CopyFrom(const AddColumn_Location& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.AddColumn.Location)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool AddColumn_Location::IsInitialized() const {
-  return true;
-}
-
-void AddColumn_Location::InternalSwap(AddColumn_Location* other) {
-  using std::swap;
-  auto* lhs_arena = GetArenaForAllocation();
-  auto* rhs_arena = other->GetArenaForAllocation();
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &_impl_.after_column_name_, lhs_arena,
-      &other->_impl_.after_column_name_, rhs_arena
-  );
-  swap(_impl_.location_type_, other->_impl_.location_type_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata AddColumn_Location::GetMetadata() const {
-  return ::_pbi::AssignDescriptors(
-      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fddl_2eproto[11]);
-}
-
-// ===================================================================
-
 class AddColumn::_Internal {
  public:
   static const ::greptime::v1::ColumnDef& column_def(const AddColumn* msg);
-  static const ::greptime::v1::AddColumn_Location& location(const AddColumn* msg);
+  static const ::greptime::v1::AddColumnLocation& location(const AddColumn* msg);
 };
 
 const ::greptime::v1::ColumnDef&
 AddColumn::_Internal::column_def(const AddColumn* msg) {
   return *msg->_impl_.column_def_;
 }
-const ::greptime::v1::AddColumn_Location&
+const ::greptime::v1::AddColumnLocation&
 AddColumn::_Internal::location(const AddColumn* msg) {
   return *msg->_impl_.location_;
 }
@@ -4172,7 +3939,7 @@ AddColumn::AddColumn(const AddColumn& from)
     _this->_impl_.column_def_ = new ::greptime::v1::ColumnDef(*from._impl_.column_def_);
   }
   if (from._internal_has_location()) {
-    _this->_impl_.location_ = new ::greptime::v1::AddColumn_Location(*from._impl_.location_);
+    _this->_impl_.location_ = new ::greptime::v1::AddColumnLocation(*from._impl_.location_);
   }
   _this->_impl_.is_key_ = from._impl_.is_key_;
   // @@protoc_insertion_point(copy_constructor:greptime.v1.AddColumn)
@@ -4249,7 +4016,7 @@ const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
         } else
           goto handle_unusual;
         continue;
-      // .greptime.v1.AddColumn.Location location = 3;
+      // .greptime.v1.AddColumnLocation location = 3;
       case 3:
         if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) {
           ptr = ctx->ParseMessage(_internal_mutable_location(), ptr);
@@ -4299,7 +4066,7 @@ uint8_t* AddColumn::_InternalSerialize(
     target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_key(), target);
   }
 
-  // .greptime.v1.AddColumn.Location location = 3;
+  // .greptime.v1.AddColumnLocation location = 3;
   if (this->_internal_has_location()) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
       InternalWriteMessage(3, _Internal::location(this),
@@ -4329,7 +4096,7 @@ size_t AddColumn::ByteSizeLong() const {
         *_impl_.column_def_);
   }
 
-  // .greptime.v1.AddColumn.Location location = 3;
+  // .greptime.v1.AddColumnLocation location = 3;
   if (this->_internal_has_location()) {
     total_size += 1 +
       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
@@ -4364,7 +4131,7 @@ void AddColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT
         from._internal_column_def());
   }
   if (from._internal_has_location()) {
-    _this->_internal_mutable_location()->::greptime::v1::AddColumn_Location::MergeFrom(
+    _this->_internal_mutable_location()->::greptime::v1::AddColumnLocation::MergeFrom(
         from._internal_location());
   }
   if (from._internal_is_key() != 0) {
@@ -4398,7 +4165,7 @@ void AddColumn::InternalSwap(AddColumn* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata AddColumn::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fddl_2eproto[12]);
+      file_level_metadata_greptime_2fv1_2fddl_2eproto[11]);
 }
 
 // ===================================================================
@@ -4601,7 +4368,7 @@ void DropColumn::InternalSwap(DropColumn* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata DropColumn::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fddl_2eproto[13]);
+      file_level_metadata_greptime_2fv1_2fddl_2eproto[12]);
 }
 
 // ===================================================================
@@ -4777,6 +4544,239 @@ void TableId::InternalSwap(TableId* other) {
 }
 
 ::PROTOBUF_NAMESPACE_ID::Metadata TableId::GetMetadata() const {
+  return ::_pbi::AssignDescriptors(
+      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
+      file_level_metadata_greptime_2fv1_2fddl_2eproto[13]);
+}
+
+// ===================================================================
+
+class AddColumnLocation::_Internal {
+ public:
+};
+
+AddColumnLocation::AddColumnLocation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+                         bool is_message_owned)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
+  SharedCtor(arena, is_message_owned);
+  // @@protoc_insertion_point(arena_constructor:greptime.v1.AddColumnLocation)
+}
+AddColumnLocation::AddColumnLocation(const AddColumnLocation& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message() {
+  AddColumnLocation* const _this = this; (void)_this;
+  new (&_impl_) Impl_{
+      decltype(_impl_.after_column_name_){}
+    , decltype(_impl_.location_type_){}
+    , /*decltype(_impl_._cached_size_)*/{}};
+
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  _impl_.after_column_name_.InitDefault();
+  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+    _impl_.after_column_name_.Set("", GetArenaForAllocation());
+  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  if (!from._internal_after_column_name().empty()) {
+    _this->_impl_.after_column_name_.Set(from._internal_after_column_name(), 
+      _this->GetArenaForAllocation());
+  }
+  _this->_impl_.location_type_ = from._impl_.location_type_;
+  // @@protoc_insertion_point(copy_constructor:greptime.v1.AddColumnLocation)
+}
+
+inline void AddColumnLocation::SharedCtor(
+    ::_pb::Arena* arena, bool is_message_owned) {
+  (void)arena;
+  (void)is_message_owned;
+  new (&_impl_) Impl_{
+      decltype(_impl_.after_column_name_){}
+    , decltype(_impl_.location_type_){0}
+    , /*decltype(_impl_._cached_size_)*/{}
+  };
+  _impl_.after_column_name_.InitDefault();
+  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+    _impl_.after_column_name_.Set("", GetArenaForAllocation());
+  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+}
+
+AddColumnLocation::~AddColumnLocation() {
+  // @@protoc_insertion_point(destructor:greptime.v1.AddColumnLocation)
+  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
+  (void)arena;
+    return;
+  }
+  SharedDtor();
+}
+
+inline void AddColumnLocation::SharedDtor() {
+  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
+  _impl_.after_column_name_.Destroy();
+}
+
+void AddColumnLocation::SetCachedSize(int size) const {
+  _impl_._cached_size_.Set(size);
+}
+
+void AddColumnLocation::Clear() {
+// @@protoc_insertion_point(message_clear_start:greptime.v1.AddColumnLocation)
+  uint32_t cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _impl_.after_column_name_.ClearToEmpty();
+  _impl_.location_type_ = 0;
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+const char* AddColumnLocation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    uint32_t tag;
+    ptr = ::_pbi::ReadTag(ptr, &tag);
+    switch (tag >> 3) {
+      // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) {
+          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+          _internal_set_location_type(static_cast<::greptime::v1::AddColumnLocation_LocationType>(val));
+        } else
+          goto handle_unusual;
+        continue;
+      // string after_column_name = 2;
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) {
+          auto str = _internal_mutable_after_column_name();
+          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
+          CHK_(ptr);
+          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.AddColumnLocation.after_column_name"));
+        } else
+          goto handle_unusual;
+        continue;
+      default:
+        goto handle_unusual;
+    }  // switch
+  handle_unusual:
+    if ((tag == 0) || ((tag & 7) == 4)) {
+      CHK_(ptr);
+      ctx->SetLastTag(tag);
+      goto message_done;
+    }
+    ptr = UnknownFieldParse(
+        tag,
+        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+        ptr, ctx);
+    CHK_(ptr != nullptr);
+  }  // while
+message_done:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto message_done;
+#undef CHK_
+}
+
+uint8_t* AddColumnLocation::_InternalSerialize(
+    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.AddColumnLocation)
+  uint32_t cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+  if (this->_internal_location_type() != 0) {
+    target = stream->EnsureSpace(target);
+    target = ::_pbi::WireFormatLite::WriteEnumToArray(
+      1, this->_internal_location_type(), target);
+  }
+
+  // string after_column_name = 2;
+  if (!this->_internal_after_column_name().empty()) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->_internal_after_column_name().data(), static_cast(this->_internal_after_column_name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "greptime.v1.AddColumnLocation.after_column_name");
+    target = stream->WriteStringMaybeAliased(
+        2, this->_internal_after_column_name(), target);
+  }
+
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.AddColumnLocation)
+  return target;
+}
+
+size_t AddColumnLocation::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:greptime.v1.AddColumnLocation)
+  size_t total_size = 0;
+
+  uint32_t cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // string after_column_name = 2;
+  if (!this->_internal_after_column_name().empty()) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+        this->_internal_after_column_name());
+  }
+
+  // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+  if (this->_internal_location_type() != 0) {
+    total_size += 1 +
+      ::_pbi::WireFormatLite::EnumSize(this->_internal_location_type());
+  }
+
+  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
+}
+
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddColumnLocation::_class_data_ = {
+    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
+    AddColumnLocation::MergeImpl
+};
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddColumnLocation::GetClassData() const { return &_class_data_; }
+
+
+void AddColumnLocation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
+  auto* const _this = static_cast(&to_msg);
+  auto& from = static_cast(from_msg);
+  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.AddColumnLocation)
+  GOOGLE_DCHECK_NE(&from, _this);
+  uint32_t cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (!from._internal_after_column_name().empty()) {
+    _this->_internal_set_after_column_name(from._internal_after_column_name());
+  }
+  if (from._internal_location_type() != 0) {
+    _this->_internal_set_location_type(from._internal_location_type());
+  }
+  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+}
+
+void AddColumnLocation::CopyFrom(const AddColumnLocation& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.AddColumnLocation)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool AddColumnLocation::IsInitialized() const {
+  return true;
+}
+
+void AddColumnLocation::InternalSwap(AddColumnLocation* other) {
+  using std::swap;
+  auto* lhs_arena = GetArenaForAllocation();
+  auto* rhs_arena = other->GetArenaForAllocation();
+  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
+      &_impl_.after_column_name_, lhs_arena,
+      &other->_impl_.after_column_name_, rhs_arena
+  );
+  swap(_impl_.location_type_, other->_impl_.location_type_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata AddColumnLocation::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
       file_level_metadata_greptime_2fv1_2fddl_2eproto[14]);
@@ -4830,10 +4830,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::RenameTable*
 Arena::CreateMaybeMessage< ::greptime::v1::RenameTable >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::RenameTable >(arena);
 }
-template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumn_Location*
-Arena::CreateMaybeMessage< ::greptime::v1::AddColumn_Location >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::greptime::v1::AddColumn_Location >(arena);
-}
 template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumn*
 Arena::CreateMaybeMessage< ::greptime::v1::AddColumn >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::AddColumn >(arena);
@@ -4846,6 +4842,10 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::TableId*
 Arena::CreateMaybeMessage< ::greptime::v1::TableId >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::TableId >(arena);
 }
+template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumnLocation*
+Arena::CreateMaybeMessage< ::greptime::v1::AddColumnLocation >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::greptime::v1::AddColumnLocation >(arena);
+}
 PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h
index 85e05672..bbed5842 100644
--- a/c++/greptime/v1/ddl.pb.h
+++ b/c++/greptime/v1/ddl.pb.h
@@ -54,9 +54,9 @@ namespace v1 {
 class AddColumn;
 struct AddColumnDefaultTypeInternal;
 extern AddColumnDefaultTypeInternal _AddColumn_default_instance_;
-class AddColumn_Location;
-struct AddColumn_LocationDefaultTypeInternal;
-extern AddColumn_LocationDefaultTypeInternal _AddColumn_Location_default_instance_;
+class AddColumnLocation;
+struct AddColumnLocationDefaultTypeInternal;
+extern AddColumnLocationDefaultTypeInternal _AddColumnLocation_default_instance_;
 class AddColumns;
 struct AddColumnsDefaultTypeInternal;
 extern AddColumnsDefaultTypeInternal _AddColumns_default_instance_;
@@ -100,7 +100,7 @@ extern TruncateTableExprDefaultTypeInternal _TruncateTableExpr_default_instance_
 }  // namespace greptime
 PROTOBUF_NAMESPACE_OPEN
 template<> ::greptime::v1::AddColumn* Arena::CreateMaybeMessage<::greptime::v1::AddColumn>(Arena*);
-template<> ::greptime::v1::AddColumn_Location* Arena::CreateMaybeMessage<::greptime::v1::AddColumn_Location>(Arena*);
+template<> ::greptime::v1::AddColumnLocation* Arena::CreateMaybeMessage<::greptime::v1::AddColumnLocation>(Arena*);
 template<> ::greptime::v1::AddColumns* Arena::CreateMaybeMessage<::greptime::v1::AddColumns>(Arena*);
 template<> ::greptime::v1::AlterExpr* Arena::CreateMaybeMessage<::greptime::v1::AlterExpr>(Arena*);
 template<> ::greptime::v1::CreateDatabaseExpr* Arena::CreateMaybeMessage<::greptime::v1::CreateDatabaseExpr>(Arena*);
@@ -118,30 +118,30 @@ PROTOBUF_NAMESPACE_CLOSE
 namespace greptime {
 namespace v1 {
 
-enum AddColumn_Location_LocationType : int {
-  AddColumn_Location_LocationType_FIRST = 0,
-  AddColumn_Location_LocationType_AFTER = 1,
-  AddColumn_Location_LocationType_AddColumn_Location_LocationType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(),
-  AddColumn_Location_LocationType_AddColumn_Location_LocationType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max()
+enum AddColumnLocation_LocationType : int {
+  AddColumnLocation_LocationType_FIRST = 0,
+  AddColumnLocation_LocationType_AFTER = 1,
+  AddColumnLocation_LocationType_AddColumnLocation_LocationType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(),
+  AddColumnLocation_LocationType_AddColumnLocation_LocationType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max()
 };
-bool AddColumn_Location_LocationType_IsValid(int value);
-constexpr AddColumn_Location_LocationType AddColumn_Location_LocationType_LocationType_MIN = AddColumn_Location_LocationType_FIRST;
-constexpr AddColumn_Location_LocationType AddColumn_Location_LocationType_LocationType_MAX = AddColumn_Location_LocationType_AFTER;
-constexpr int AddColumn_Location_LocationType_LocationType_ARRAYSIZE = AddColumn_Location_LocationType_LocationType_MAX + 1;
+bool AddColumnLocation_LocationType_IsValid(int value);
+constexpr AddColumnLocation_LocationType AddColumnLocation_LocationType_LocationType_MIN = AddColumnLocation_LocationType_FIRST;
+constexpr AddColumnLocation_LocationType AddColumnLocation_LocationType_LocationType_MAX = AddColumnLocation_LocationType_AFTER;
+constexpr int AddColumnLocation_LocationType_LocationType_ARRAYSIZE = AddColumnLocation_LocationType_LocationType_MAX + 1;
 
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumn_Location_LocationType_descriptor();
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumnLocation_LocationType_descriptor();
 template
-inline const std::string& AddColumn_Location_LocationType_Name(T enum_t_value) {
-  static_assert(::std::is_same::value ||
+inline const std::string& AddColumnLocation_LocationType_Name(T enum_t_value) {
+  static_assert(::std::is_same::value ||
     ::std::is_integral::value,
-    "Incorrect type passed to function AddColumn_Location_LocationType_Name.");
+    "Incorrect type passed to function AddColumnLocation_LocationType_Name.");
   return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
-    AddColumn_Location_LocationType_descriptor(), enum_t_value);
+    AddColumnLocation_LocationType_descriptor(), enum_t_value);
 }
-inline bool AddColumn_Location_LocationType_Parse(
-    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AddColumn_Location_LocationType* value) {
-  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
-    AddColumn_Location_LocationType_descriptor(), name, value);
+inline bool AddColumnLocation_LocationType_Parse(
+    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AddColumnLocation_LocationType* value) {
+  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
+    AddColumnLocation_LocationType_descriptor(), name, value);
 }
 // ===================================================================
 
@@ -2188,200 +2188,6 @@ class RenameTable final :
 };
 // -------------------------------------------------------------------
 
-class AddColumn_Location final :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.AddColumn.Location) */ {
- public:
-  inline AddColumn_Location() : AddColumn_Location(nullptr) {}
-  ~AddColumn_Location() override;
-  explicit PROTOBUF_CONSTEXPR AddColumn_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  AddColumn_Location(const AddColumn_Location& from);
-  AddColumn_Location(AddColumn_Location&& from) noexcept
-    : AddColumn_Location() {
-    *this = ::std::move(from);
-  }
-
-  inline AddColumn_Location& operator=(const AddColumn_Location& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline AddColumn_Location& operator=(AddColumn_Location&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()
-  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
-        && GetOwningArena() != nullptr
-  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
-    ) {
-      InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
-  }
-  static const AddColumn_Location& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const AddColumn_Location* internal_default_instance() {
-    return reinterpret_cast(
-               &_AddColumn_Location_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    11;
-
-  friend void swap(AddColumn_Location& a, AddColumn_Location& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(AddColumn_Location* other) {
-    if (other == this) return;
-  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
-    if (GetOwningArena() != nullptr &&
-        GetOwningArena() == other->GetOwningArena()) {
-   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
-    if (GetOwningArena() == other->GetOwningArena()) {
-  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(AddColumn_Location* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  AddColumn_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
-    return CreateMaybeMessage(arena);
-  }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
-  void CopyFrom(const AddColumn_Location& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
-  void MergeFrom( const AddColumn_Location& from) {
-    AddColumn_Location::MergeImpl(*this, from);
-  }
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
-  public:
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  uint8_t* _InternalSerialize(
-      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
-
-  private:
-  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(AddColumn_Location* other);
-
-  private:
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "greptime.v1.AddColumn.Location";
-  }
-  protected:
-  explicit AddColumn_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
-  public:
-
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  typedef AddColumn_Location_LocationType LocationType;
-  static constexpr LocationType FIRST =
-    AddColumn_Location_LocationType_FIRST;
-  static constexpr LocationType AFTER =
-    AddColumn_Location_LocationType_AFTER;
-  static inline bool LocationType_IsValid(int value) {
-    return AddColumn_Location_LocationType_IsValid(value);
-  }
-  static constexpr LocationType LocationType_MIN =
-    AddColumn_Location_LocationType_LocationType_MIN;
-  static constexpr LocationType LocationType_MAX =
-    AddColumn_Location_LocationType_LocationType_MAX;
-  static constexpr int LocationType_ARRAYSIZE =
-    AddColumn_Location_LocationType_LocationType_ARRAYSIZE;
-  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
-  LocationType_descriptor() {
-    return AddColumn_Location_LocationType_descriptor();
-  }
-  template
-  static inline const std::string& LocationType_Name(T enum_t_value) {
-    static_assert(::std::is_same::value ||
-      ::std::is_integral::value,
-      "Incorrect type passed to function LocationType_Name.");
-    return AddColumn_Location_LocationType_Name(enum_t_value);
-  }
-  static inline bool LocationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
-      LocationType* value) {
-    return AddColumn_Location_LocationType_Parse(name, value);
-  }
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kAfterColumnNameFieldNumber = 2,
-    kLocationTypeFieldNumber = 1,
-  };
-  // string after_column_name = 2;
-  void clear_after_column_name();
-  const std::string& after_column_name() const;
-  template 
-  void set_after_column_name(ArgT0&& arg0, ArgT... args);
-  std::string* mutable_after_column_name();
-  PROTOBUF_NODISCARD std::string* release_after_column_name();
-  void set_allocated_after_column_name(std::string* after_column_name);
-  private:
-  const std::string& _internal_after_column_name() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_after_column_name(const std::string& value);
-  std::string* _internal_mutable_after_column_name();
-  public:
-
-  // .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-  void clear_location_type();
-  ::greptime::v1::AddColumn_Location_LocationType location_type() const;
-  void set_location_type(::greptime::v1::AddColumn_Location_LocationType value);
-  private:
-  ::greptime::v1::AddColumn_Location_LocationType _internal_location_type() const;
-  void _internal_set_location_type(::greptime::v1::AddColumn_Location_LocationType value);
-  public:
-
-  // @@protoc_insertion_point(class_scope:greptime.v1.AddColumn.Location)
- private:
-  class _Internal;
-
-  template  friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  struct Impl_ {
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr after_column_name_;
-    int location_type_;
-    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  };
-  union { Impl_ _impl_; };
-  friend struct ::TableStruct_greptime_2fv1_2fddl_2eproto;
-};
-// -------------------------------------------------------------------
-
 class AddColumn final :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.AddColumn) */ {
  public:
@@ -2430,7 +2236,7 @@ class AddColumn final :
                &_AddColumn_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    12;
+    11;
 
   friend void swap(AddColumn& a, AddColumn& b) {
     a.Swap(&b);
@@ -2500,8 +2306,6 @@ class AddColumn final :
 
   // nested types ----------------------------------------------------
 
-  typedef AddColumn_Location Location;
-
   // accessors -------------------------------------------------------
 
   enum : int {
@@ -2527,23 +2331,23 @@ class AddColumn final :
       ::greptime::v1::ColumnDef* column_def);
   ::greptime::v1::ColumnDef* unsafe_arena_release_column_def();
 
-  // .greptime.v1.AddColumn.Location location = 3;
+  // .greptime.v1.AddColumnLocation location = 3;
   bool has_location() const;
   private:
   bool _internal_has_location() const;
   public:
   void clear_location();
-  const ::greptime::v1::AddColumn_Location& location() const;
-  PROTOBUF_NODISCARD ::greptime::v1::AddColumn_Location* release_location();
-  ::greptime::v1::AddColumn_Location* mutable_location();
-  void set_allocated_location(::greptime::v1::AddColumn_Location* location);
+  const ::greptime::v1::AddColumnLocation& location() const;
+  PROTOBUF_NODISCARD ::greptime::v1::AddColumnLocation* release_location();
+  ::greptime::v1::AddColumnLocation* mutable_location();
+  void set_allocated_location(::greptime::v1::AddColumnLocation* location);
   private:
-  const ::greptime::v1::AddColumn_Location& _internal_location() const;
-  ::greptime::v1::AddColumn_Location* _internal_mutable_location();
+  const ::greptime::v1::AddColumnLocation& _internal_location() const;
+  ::greptime::v1::AddColumnLocation* _internal_mutable_location();
   public:
   void unsafe_arena_set_allocated_location(
-      ::greptime::v1::AddColumn_Location* location);
-  ::greptime::v1::AddColumn_Location* unsafe_arena_release_location();
+      ::greptime::v1::AddColumnLocation* location);
+  ::greptime::v1::AddColumnLocation* unsafe_arena_release_location();
 
   // bool is_key = 2;
   void clear_is_key();
@@ -2563,7 +2367,7 @@ class AddColumn final :
   typedef void DestructorSkippable_;
   struct Impl_ {
     ::greptime::v1::ColumnDef* column_def_;
-    ::greptime::v1::AddColumn_Location* location_;
+    ::greptime::v1::AddColumnLocation* location_;
     bool is_key_;
     mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   };
@@ -2620,7 +2424,7 @@ class DropColumn final :
                &_DropColumn_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    13;
+    12;
 
   friend void swap(DropColumn& a, DropColumn& b) {
     a.Swap(&b);
@@ -2773,7 +2577,7 @@ class TableId final :
                &_TableId_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    14;
+    13;
 
   friend void swap(TableId& a, TableId& b) {
     a.Swap(&b);
@@ -2871,6 +2675,200 @@ class TableId final :
   union { Impl_ _impl_; };
   friend struct ::TableStruct_greptime_2fv1_2fddl_2eproto;
 };
+// -------------------------------------------------------------------
+
+class AddColumnLocation final :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.AddColumnLocation) */ {
+ public:
+  inline AddColumnLocation() : AddColumnLocation(nullptr) {}
+  ~AddColumnLocation() override;
+  explicit PROTOBUF_CONSTEXPR AddColumnLocation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+
+  AddColumnLocation(const AddColumnLocation& from);
+  AddColumnLocation(AddColumnLocation&& from) noexcept
+    : AddColumnLocation() {
+    *this = ::std::move(from);
+  }
+
+  inline AddColumnLocation& operator=(const AddColumnLocation& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline AddColumnLocation& operator=(AddColumnLocation&& from) noexcept {
+    if (this == &from) return *this;
+    if (GetOwningArena() == from.GetOwningArena()
+  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
+        && GetOwningArena() != nullptr
+  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
+    ) {
+      InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return default_instance().GetMetadata().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return default_instance().GetMetadata().reflection;
+  }
+  static const AddColumnLocation& default_instance() {
+    return *internal_default_instance();
+  }
+  static inline const AddColumnLocation* internal_default_instance() {
+    return reinterpret_cast(
+               &_AddColumnLocation_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    14;
+
+  friend void swap(AddColumnLocation& a, AddColumnLocation& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(AddColumnLocation* other) {
+    if (other == this) return;
+  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
+    if (GetOwningArena() != nullptr &&
+        GetOwningArena() == other->GetOwningArena()) {
+   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
+    if (GetOwningArena() == other->GetOwningArena()) {
+  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(AddColumnLocation* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  AddColumnLocation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
+    return CreateMaybeMessage(arena);
+  }
+  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
+  void CopyFrom(const AddColumnLocation& from);
+  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
+  void MergeFrom( const AddColumnLocation& from) {
+    AddColumnLocation::MergeImpl(*this, from);
+  }
+  private:
+  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
+  public:
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  uint8_t* _InternalSerialize(
+      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
+
+  private:
+  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
+  void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(AddColumnLocation* other);
+
+  private:
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "greptime.v1.AddColumnLocation";
+  }
+  protected:
+  explicit AddColumnLocation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+                       bool is_message_owned = false);
+  public:
+
+  static const ClassData _class_data_;
+  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+
+  // nested types ----------------------------------------------------
+
+  typedef AddColumnLocation_LocationType LocationType;
+  static constexpr LocationType FIRST =
+    AddColumnLocation_LocationType_FIRST;
+  static constexpr LocationType AFTER =
+    AddColumnLocation_LocationType_AFTER;
+  static inline bool LocationType_IsValid(int value) {
+    return AddColumnLocation_LocationType_IsValid(value);
+  }
+  static constexpr LocationType LocationType_MIN =
+    AddColumnLocation_LocationType_LocationType_MIN;
+  static constexpr LocationType LocationType_MAX =
+    AddColumnLocation_LocationType_LocationType_MAX;
+  static constexpr int LocationType_ARRAYSIZE =
+    AddColumnLocation_LocationType_LocationType_ARRAYSIZE;
+  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
+  LocationType_descriptor() {
+    return AddColumnLocation_LocationType_descriptor();
+  }
+  template
+  static inline const std::string& LocationType_Name(T enum_t_value) {
+    static_assert(::std::is_same::value ||
+      ::std::is_integral::value,
+      "Incorrect type passed to function LocationType_Name.");
+    return AddColumnLocation_LocationType_Name(enum_t_value);
+  }
+  static inline bool LocationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
+      LocationType* value) {
+    return AddColumnLocation_LocationType_Parse(name, value);
+  }
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kAfterColumnNameFieldNumber = 2,
+    kLocationTypeFieldNumber = 1,
+  };
+  // string after_column_name = 2;
+  void clear_after_column_name();
+  const std::string& after_column_name() const;
+  template 
+  void set_after_column_name(ArgT0&& arg0, ArgT... args);
+  std::string* mutable_after_column_name();
+  PROTOBUF_NODISCARD std::string* release_after_column_name();
+  void set_allocated_after_column_name(std::string* after_column_name);
+  private:
+  const std::string& _internal_after_column_name() const;
+  inline PROTOBUF_ALWAYS_INLINE void _internal_set_after_column_name(const std::string& value);
+  std::string* _internal_mutable_after_column_name();
+  public:
+
+  // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+  void clear_location_type();
+  ::greptime::v1::AddColumnLocation_LocationType location_type() const;
+  void set_location_type(::greptime::v1::AddColumnLocation_LocationType value);
+  private:
+  ::greptime::v1::AddColumnLocation_LocationType _internal_location_type() const;
+  void _internal_set_location_type(::greptime::v1::AddColumnLocation_LocationType value);
+  public:
+
+  // @@protoc_insertion_point(class_scope:greptime.v1.AddColumnLocation)
+ private:
+  class _Internal;
+
+  template  friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  struct Impl_ {
+    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr after_column_name_;
+    int location_type_;
+    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  };
+  union { Impl_ _impl_; };
+  friend struct ::TableStruct_greptime_2fv1_2fddl_2eproto;
+};
 // ===================================================================
 
 
@@ -5097,80 +5095,6 @@ inline void RenameTable::set_allocated_new_table_name(std::string* new_table_nam
 
 // -------------------------------------------------------------------
 
-// AddColumn_Location
-
-// .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-inline void AddColumn_Location::clear_location_type() {
-  _impl_.location_type_ = 0;
-}
-inline ::greptime::v1::AddColumn_Location_LocationType AddColumn_Location::_internal_location_type() const {
-  return static_cast< ::greptime::v1::AddColumn_Location_LocationType >(_impl_.location_type_);
-}
-inline ::greptime::v1::AddColumn_Location_LocationType AddColumn_Location::location_type() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.AddColumn.Location.location_type)
-  return _internal_location_type();
-}
-inline void AddColumn_Location::_internal_set_location_type(::greptime::v1::AddColumn_Location_LocationType value) {
-  
-  _impl_.location_type_ = value;
-}
-inline void AddColumn_Location::set_location_type(::greptime::v1::AddColumn_Location_LocationType value) {
-  _internal_set_location_type(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.AddColumn.Location.location_type)
-}
-
-// string after_column_name = 2;
-inline void AddColumn_Location::clear_after_column_name() {
-  _impl_.after_column_name_.ClearToEmpty();
-}
-inline const std::string& AddColumn_Location::after_column_name() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.AddColumn.Location.after_column_name)
-  return _internal_after_column_name();
-}
-template 
-inline PROTOBUF_ALWAYS_INLINE
-void AddColumn_Location::set_after_column_name(ArgT0&& arg0, ArgT... args) {
- 
- _impl_.after_column_name_.Set(static_cast(arg0), args..., GetArenaForAllocation());
-  // @@protoc_insertion_point(field_set:greptime.v1.AddColumn.Location.after_column_name)
-}
-inline std::string* AddColumn_Location::mutable_after_column_name() {
-  std::string* _s = _internal_mutable_after_column_name();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.AddColumn.Location.after_column_name)
-  return _s;
-}
-inline const std::string& AddColumn_Location::_internal_after_column_name() const {
-  return _impl_.after_column_name_.Get();
-}
-inline void AddColumn_Location::_internal_set_after_column_name(const std::string& value) {
-  
-  _impl_.after_column_name_.Set(value, GetArenaForAllocation());
-}
-inline std::string* AddColumn_Location::_internal_mutable_after_column_name() {
-  
-  return _impl_.after_column_name_.Mutable(GetArenaForAllocation());
-}
-inline std::string* AddColumn_Location::release_after_column_name() {
-  // @@protoc_insertion_point(field_release:greptime.v1.AddColumn.Location.after_column_name)
-  return _impl_.after_column_name_.Release();
-}
-inline void AddColumn_Location::set_allocated_after_column_name(std::string* after_column_name) {
-  if (after_column_name != nullptr) {
-    
-  } else {
-    
-  }
-  _impl_.after_column_name_.SetAllocated(after_column_name, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (_impl_.after_column_name_.IsDefault()) {
-    _impl_.after_column_name_.Set("", GetArenaForAllocation());
-  }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AddColumn.Location.after_column_name)
-}
-
-// -------------------------------------------------------------------
-
 // AddColumn
 
 // .greptime.v1.ColumnDef column_def = 1;
@@ -5278,7 +5202,7 @@ inline void AddColumn::set_is_key(bool value) {
   // @@protoc_insertion_point(field_set:greptime.v1.AddColumn.is_key)
 }
 
-// .greptime.v1.AddColumn.Location location = 3;
+// .greptime.v1.AddColumnLocation location = 3;
 inline bool AddColumn::_internal_has_location() const {
   return this != internal_default_instance() && _impl_.location_ != nullptr;
 }
@@ -5291,17 +5215,17 @@ inline void AddColumn::clear_location() {
   }
   _impl_.location_ = nullptr;
 }
-inline const ::greptime::v1::AddColumn_Location& AddColumn::_internal_location() const {
-  const ::greptime::v1::AddColumn_Location* p = _impl_.location_;
-  return p != nullptr ? *p : reinterpret_cast(
-      ::greptime::v1::_AddColumn_Location_default_instance_);
+inline const ::greptime::v1::AddColumnLocation& AddColumn::_internal_location() const {
+  const ::greptime::v1::AddColumnLocation* p = _impl_.location_;
+  return p != nullptr ? *p : reinterpret_cast(
+      ::greptime::v1::_AddColumnLocation_default_instance_);
 }
-inline const ::greptime::v1::AddColumn_Location& AddColumn::location() const {
+inline const ::greptime::v1::AddColumnLocation& AddColumn::location() const {
   // @@protoc_insertion_point(field_get:greptime.v1.AddColumn.location)
   return _internal_location();
 }
 inline void AddColumn::unsafe_arena_set_allocated_location(
-    ::greptime::v1::AddColumn_Location* location) {
+    ::greptime::v1::AddColumnLocation* location) {
   if (GetArenaForAllocation() == nullptr) {
     delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
   }
@@ -5313,9 +5237,9 @@ inline void AddColumn::unsafe_arena_set_allocated_location(
   }
   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.AddColumn.location)
 }
-inline ::greptime::v1::AddColumn_Location* AddColumn::release_location() {
+inline ::greptime::v1::AddColumnLocation* AddColumn::release_location() {
   
-  ::greptime::v1::AddColumn_Location* temp = _impl_.location_;
+  ::greptime::v1::AddColumnLocation* temp = _impl_.location_;
   _impl_.location_ = nullptr;
 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
   auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
@@ -5328,27 +5252,27 @@ inline ::greptime::v1::AddColumn_Location* AddColumn::release_location() {
 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
   return temp;
 }
-inline ::greptime::v1::AddColumn_Location* AddColumn::unsafe_arena_release_location() {
+inline ::greptime::v1::AddColumnLocation* AddColumn::unsafe_arena_release_location() {
   // @@protoc_insertion_point(field_release:greptime.v1.AddColumn.location)
   
-  ::greptime::v1::AddColumn_Location* temp = _impl_.location_;
+  ::greptime::v1::AddColumnLocation* temp = _impl_.location_;
   _impl_.location_ = nullptr;
   return temp;
 }
-inline ::greptime::v1::AddColumn_Location* AddColumn::_internal_mutable_location() {
+inline ::greptime::v1::AddColumnLocation* AddColumn::_internal_mutable_location() {
   
   if (_impl_.location_ == nullptr) {
-    auto* p = CreateMaybeMessage<::greptime::v1::AddColumn_Location>(GetArenaForAllocation());
+    auto* p = CreateMaybeMessage<::greptime::v1::AddColumnLocation>(GetArenaForAllocation());
     _impl_.location_ = p;
   }
   return _impl_.location_;
 }
-inline ::greptime::v1::AddColumn_Location* AddColumn::mutable_location() {
-  ::greptime::v1::AddColumn_Location* _msg = _internal_mutable_location();
+inline ::greptime::v1::AddColumnLocation* AddColumn::mutable_location() {
+  ::greptime::v1::AddColumnLocation* _msg = _internal_mutable_location();
   // @@protoc_insertion_point(field_mutable:greptime.v1.AddColumn.location)
   return _msg;
 }
-inline void AddColumn::set_allocated_location(::greptime::v1::AddColumn_Location* location) {
+inline void AddColumn::set_allocated_location(::greptime::v1::AddColumnLocation* location) {
   ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
   if (message_arena == nullptr) {
     delete _impl_.location_;
@@ -5446,6 +5370,80 @@ inline void TableId::set_id(uint32_t value) {
   // @@protoc_insertion_point(field_set:greptime.v1.TableId.id)
 }
 
+// -------------------------------------------------------------------
+
+// AddColumnLocation
+
+// .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+inline void AddColumnLocation::clear_location_type() {
+  _impl_.location_type_ = 0;
+}
+inline ::greptime::v1::AddColumnLocation_LocationType AddColumnLocation::_internal_location_type() const {
+  return static_cast< ::greptime::v1::AddColumnLocation_LocationType >(_impl_.location_type_);
+}
+inline ::greptime::v1::AddColumnLocation_LocationType AddColumnLocation::location_type() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.AddColumnLocation.location_type)
+  return _internal_location_type();
+}
+inline void AddColumnLocation::_internal_set_location_type(::greptime::v1::AddColumnLocation_LocationType value) {
+  
+  _impl_.location_type_ = value;
+}
+inline void AddColumnLocation::set_location_type(::greptime::v1::AddColumnLocation_LocationType value) {
+  _internal_set_location_type(value);
+  // @@protoc_insertion_point(field_set:greptime.v1.AddColumnLocation.location_type)
+}
+
+// string after_column_name = 2;
+inline void AddColumnLocation::clear_after_column_name() {
+  _impl_.after_column_name_.ClearToEmpty();
+}
+inline const std::string& AddColumnLocation::after_column_name() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.AddColumnLocation.after_column_name)
+  return _internal_after_column_name();
+}
+template 
+inline PROTOBUF_ALWAYS_INLINE
+void AddColumnLocation::set_after_column_name(ArgT0&& arg0, ArgT... args) {
+ 
+ _impl_.after_column_name_.Set(static_cast(arg0), args..., GetArenaForAllocation());
+  // @@protoc_insertion_point(field_set:greptime.v1.AddColumnLocation.after_column_name)
+}
+inline std::string* AddColumnLocation::mutable_after_column_name() {
+  std::string* _s = _internal_mutable_after_column_name();
+  // @@protoc_insertion_point(field_mutable:greptime.v1.AddColumnLocation.after_column_name)
+  return _s;
+}
+inline const std::string& AddColumnLocation::_internal_after_column_name() const {
+  return _impl_.after_column_name_.Get();
+}
+inline void AddColumnLocation::_internal_set_after_column_name(const std::string& value) {
+  
+  _impl_.after_column_name_.Set(value, GetArenaForAllocation());
+}
+inline std::string* AddColumnLocation::_internal_mutable_after_column_name() {
+  
+  return _impl_.after_column_name_.Mutable(GetArenaForAllocation());
+}
+inline std::string* AddColumnLocation::release_after_column_name() {
+  // @@protoc_insertion_point(field_release:greptime.v1.AddColumnLocation.after_column_name)
+  return _impl_.after_column_name_.Release();
+}
+inline void AddColumnLocation::set_allocated_after_column_name(std::string* after_column_name) {
+  if (after_column_name != nullptr) {
+    
+  } else {
+    
+  }
+  _impl_.after_column_name_.SetAllocated(after_column_name, GetArenaForAllocation());
+#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  if (_impl_.after_column_name_.IsDefault()) {
+    _impl_.after_column_name_.Set("", GetArenaForAllocation());
+  }
+#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AddColumnLocation.after_column_name)
+}
+
 #ifdef __GNUC__
   #pragma GCC diagnostic pop
 #endif  // __GNUC__
@@ -5485,10 +5483,10 @@ inline void TableId::set_id(uint32_t value) {
 
 PROTOBUF_NAMESPACE_OPEN
 
-template <> struct is_proto_enum< ::greptime::v1::AddColumn_Location_LocationType> : ::std::true_type {};
+template <> struct is_proto_enum< ::greptime::v1::AddColumnLocation_LocationType> : ::std::true_type {};
 template <>
-inline const EnumDescriptor* GetEnumDescriptor< ::greptime::v1::AddColumn_Location_LocationType>() {
-  return ::greptime::v1::AddColumn_Location_LocationType_descriptor();
+inline const EnumDescriptor* GetEnumDescriptor< ::greptime::v1::AddColumnLocation_LocationType>() {
+  return ::greptime::v1::AddColumnLocation_LocationType_descriptor();
 }
 
 PROTOBUF_NAMESPACE_CLOSE
diff --git a/c++/greptime/v1/region/server.pb.cc b/c++/greptime/v1/region/server.pb.cc
index 08d9e90c..71efe529 100644
--- a/c++/greptime/v1/region/server.pb.cc
+++ b/c++/greptime/v1/region/server.pb.cc
@@ -262,20 +262,6 @@ struct DropColumnsDefaultTypeInternal {
   };
 };
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropColumnsDefaultTypeInternal _DropColumns_default_instance_;
-PROTOBUF_CONSTEXPR AddColumn_Location::AddColumn_Location(
-    ::_pbi::ConstantInitialized): _impl_{
-    /*decltype(_impl_.after_column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
-  , /*decltype(_impl_.location_type_)*/0
-  , /*decltype(_impl_._cached_size_)*/{}} {}
-struct AddColumn_LocationDefaultTypeInternal {
-  PROTOBUF_CONSTEXPR AddColumn_LocationDefaultTypeInternal()
-      : _instance(::_pbi::ConstantInitialized{}) {}
-  ~AddColumn_LocationDefaultTypeInternal() {}
-  union {
-    AddColumn_Location _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumn_LocationDefaultTypeInternal _AddColumn_Location_default_instance_;
 PROTOBUF_CONSTEXPR AddColumn::AddColumn(
     ::_pbi::ConstantInitialized): _impl_{
     /*decltype(_impl_.column_def_)*/nullptr
@@ -351,8 +337,8 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT
 }  // namespace region
 }  // namespace v1
 }  // namespace greptime
-static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[23];
-static const ::_pb::EnumDescriptor* file_level_enum_descriptors_greptime_2fv1_2fregion_2fserver_2eproto[1];
+static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[22];
+static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2fregion_2fserver_2eproto = nullptr;
 static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fregion_2fserver_2eproto = nullptr;
 
 const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
@@ -512,14 +498,6 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropColumns, _impl_.drop_columns_),
   ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn_Location, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn_Location, _impl_.location_type_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn_Location, _impl_.after_column_name_),
-  ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
@@ -580,12 +558,11 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
   { 130, -1, -1, sizeof(::greptime::v1::region::AlterRequest)},
   { 141, -1, -1, sizeof(::greptime::v1::region::AddColumns)},
   { 148, -1, -1, sizeof(::greptime::v1::region::DropColumns)},
-  { 155, -1, -1, sizeof(::greptime::v1::region::AddColumn_Location)},
-  { 163, -1, -1, sizeof(::greptime::v1::region::AddColumn)},
-  { 172, -1, -1, sizeof(::greptime::v1::region::DropColumn)},
-  { 179, -1, -1, sizeof(::greptime::v1::region::FlushRequest)},
-  { 186, -1, -1, sizeof(::greptime::v1::region::CompactRequest)},
-  { 193, -1, -1, sizeof(::greptime::v1::region::ColumnDef)},
+  { 155, -1, -1, sizeof(::greptime::v1::region::AddColumn)},
+  { 164, -1, -1, sizeof(::greptime::v1::region::DropColumn)},
+  { 171, -1, -1, sizeof(::greptime::v1::region::FlushRequest)},
+  { 178, -1, -1, sizeof(::greptime::v1::region::CompactRequest)},
+  { 185, -1, -1, sizeof(::greptime::v1::region::ColumnDef)},
 };
 
 static const ::_pb::Message* const file_default_instances[] = {
@@ -606,7 +583,6 @@ static const ::_pb::Message* const file_default_instances[] = {
   &::greptime::v1::region::_AlterRequest_default_instance_._instance,
   &::greptime::v1::region::_AddColumns_default_instance_._instance,
   &::greptime::v1::region::_DropColumns_default_instance_._instance,
-  &::greptime::v1::region::_AddColumn_Location_default_instance_._instance,
   &::greptime::v1::region::_AddColumn_default_instance_._instance,
   &::greptime::v1::region::_DropColumn_default_instance_._instance,
   &::greptime::v1::region::_FlushRequest_default_instance_._instance,
@@ -617,84 +593,82 @@ static const ::_pb::Message* const file_default_instances[] = {
 const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
   "\n\037greptime/v1/region/server.proto\022\022grept"
   "ime.v1.region\032\030greptime/v1/common.proto\032"
-  "\025greptime/v1/row.proto\"8\n\023RegionRequestH"
-  "eader\022\020\n\010trace_id\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004"
-  "\"\245\004\n\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.gre"
-  "ptime.v1.region.RegionRequestHeader\0225\n\007i"
-  "nserts\030\003 \001(\0132\".greptime.v1.region.Insert"
-  "RequestsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v"
-  "1.region.DeleteRequestsH\000\0223\n\006create\030\005 \001("
-  "\0132!.greptime.v1.region.CreateRequestH\000\022/"
-  "\n\004drop\030\006 \001(\0132\037.greptime.v1.region.DropRe"
-  "questH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.regi"
-  "on.OpenRequestH\000\0221\n\005close\030\010 \001(\0132 .grepti"
-  "me.v1.region.CloseRequestH\000\0221\n\005alter\030\t \001"
-  "(\0132 .greptime.v1.region.AlterRequestH\000\0221"
-  "\n\005flush\030\n \001(\0132 .greptime.v1.region.Flush"
-  "RequestH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1"
-  ".region.CompactRequestH\000B\006\n\004body\"T\n\016Regi"
-  "onResponse\022+\n\006header\030\001 \001(\0132\033.greptime.v1"
-  ".ResponseHeader\022\025\n\raffected_rows\030\002 \001(\004\"E"
-  "\n\016InsertRequests\0223\n\010requests\030\001 \003(\0132!.gre"
-  "ptime.v1.region.InsertRequest\"E\n\016DeleteR"
-  "equests\0223\n\010requests\030\001 \003(\0132!.greptime.v1."
-  "region.DeleteRequest\"C\n\rInsertRequest\022\021\n"
-  "\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptim"
-  "e.v1.Rows\"C\n\rDeleteRequest\022\021\n\tregion_id\030"
-  "\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"/"
-  "\n\014QueryRequest\022\021\n\tregion_id\030\001 \001(\004\022\014\n\004pla"
-  "n\030\002 \001(\014\"\253\002\n\rCreateRequest\022\021\n\tregion_id\030\001"
-  " \001(\004\022\016\n\006engine\030\002 \001(\t\0222\n\013column_defs\030\003 \003("
-  "\0132\035.greptime.v1.region.ColumnDef\022\023\n\013prim"
-  "ary_key\030\004 \003(\r\022\034\n\024create_if_not_exists\030\005 "
-  "\001(\010\022\017\n\007catalog\030\006 \001(\t\022\016\n\006schema\030\007 \001(\t\022\?\n\007"
-  "options\030\010 \003(\0132..greptime.v1.region.Creat"
-  "eRequest.OptionsEntry\032.\n\014OptionsEntry\022\013\n"
-  "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\" \n\013DropReq"
-  "uest\022\021\n\tregion_id\030\001 \001(\004\"\300\001\n\013OpenRequest\022"
-  "\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007ca"
-  "talog\030\003 \001(\t\022\016\n\006schema\030\004 \001(\t\022=\n\007options\030\005"
-  " \003(\0132,.greptime.v1.region.OpenRequest.Op"
-  "tionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022"
-  "\r\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n\tre"
-  "gion_id\030\001 \001(\004\"\261\001\n\014AlterRequest\022\021\n\tregion"
-  "_id\030\001 \001(\004\0225\n\013add_columns\030\002 \001(\0132\036.greptim"
-  "e.v1.region.AddColumnsH\000\0227\n\014drop_columns"
-  "\030\003 \001(\0132\037.greptime.v1.region.DropColumnsH"
-  "\000\022\026\n\016schema_version\030\004 \001(\004B\006\n\004kind\"@\n\nAdd"
-  "Columns\0222\n\013add_columns\030\001 \003(\0132\035.greptime."
-  "v1.region.AddColumn\"C\n\013DropColumns\0224\n\014dr"
-  "op_columns\030\001 \003(\0132\036.greptime.v1.region.Dr"
-  "opColumn\"\242\002\n\tAddColumn\0221\n\ncolumn_def\030\001 \001"
-  "(\0132\035.greptime.v1.region.ColumnDef\022\016\n\006is_"
-  "key\030\002 \001(\010\0228\n\010location\030\003 \001(\0132&.greptime.v"
-  "1.region.AddColumn.Location\032\227\001\n\010Location"
-  "\022J\n\rlocation_type\030\001 \001(\01623.greptime.v1.re"
-  "gion.AddColumn.Location.LocationType\022\031\n\021"
-  "after_column_name\030\002 \001(\t\"$\n\014LocationType\022"
-  "\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001\"\032\n\nDropColumn\022\014\n\004n"
-  "ame\030\001 \001(\t\"!\n\014FlushRequest\022\021\n\tregion_id\030\001"
-  " \001(\004\"#\n\016CompactRequest\022\021\n\tregion_id\030\001 \001("
-  "\004\"\276\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022\021\n\tcolumn_"
-  "id\030\002 \001(\r\022-\n\010datatype\030\003 \001(\0162\033.greptime.v1"
-  ".ColumnDataType\022\023\n\013is_nullable\030\004 \001(\010\022\032\n\022"
-  "default_constraint\030\005 \001(\014\0220\n\rsemantic_typ"
-  "e\030\006 \001(\0162\031.greptime.v1.SemanticType2Y\n\006Re"
-  "gion\022O\n\006Handle\022!.greptime.v1.region.Regi"
-  "onRequest\032\".greptime.v1.region.RegionRes"
-  "ponseB]\n\025io.greptime.v1.regionB\006ServerZ<"
-  "github.com/GreptimeTeam/greptime-proto/g"
-  "o/greptime/v1/regionb\006proto3"
+  "\025greptime/v1/row.proto\032\025greptime/v1/ddl."
+  "proto\"8\n\023RegionRequestHeader\022\020\n\010trace_id"
+  "\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004\"\245\004\n\rRegionReques"
+  "t\0227\n\006header\030\001 \001(\0132\'.greptime.v1.region.R"
+  "egionRequestHeader\0225\n\007inserts\030\003 \001(\0132\".gr"
+  "eptime.v1.region.InsertRequestsH\000\0225\n\007del"
+  "etes\030\004 \001(\0132\".greptime.v1.region.DeleteRe"
+  "questsH\000\0223\n\006create\030\005 \001(\0132!.greptime.v1.r"
+  "egion.CreateRequestH\000\022/\n\004drop\030\006 \001(\0132\037.gr"
+  "eptime.v1.region.DropRequestH\000\022/\n\004open\030\007"
+  " \001(\0132\037.greptime.v1.region.OpenRequestH\000\022"
+  "1\n\005close\030\010 \001(\0132 .greptime.v1.region.Clos"
+  "eRequestH\000\0221\n\005alter\030\t \001(\0132 .greptime.v1."
+  "region.AlterRequestH\000\0221\n\005flush\030\n \001(\0132 .g"
+  "reptime.v1.region.FlushRequestH\000\0225\n\007comp"
+  "act\030\013 \001(\0132\".greptime.v1.region.CompactRe"
+  "questH\000B\006\n\004body\"T\n\016RegionResponse\022+\n\006hea"
+  "der\030\001 \001(\0132\033.greptime.v1.ResponseHeader\022\025"
+  "\n\raffected_rows\030\002 \001(\004\"E\n\016InsertRequests\022"
+  "3\n\010requests\030\001 \003(\0132!.greptime.v1.region.I"
+  "nsertRequest\"E\n\016DeleteRequests\0223\n\010reques"
+  "ts\030\001 \003(\0132!.greptime.v1.region.DeleteRequ"
+  "est\"C\n\rInsertRequest\022\021\n\tregion_id\030\001 \001(\004\022"
+  "\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"C\n\rDele"
+  "teRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001"
+  "(\0132\021.greptime.v1.Rows\"/\n\014QueryRequest\022\021\n"
+  "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\253\002\n\rCreat"
+  "eRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 "
+  "\001(\t\0222\n\013column_defs\030\003 \003(\0132\035.greptime.v1.r"
+  "egion.ColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\034\n\024"
+  "create_if_not_exists\030\005 \001(\010\022\017\n\007catalog\030\006 "
+  "\001(\t\022\016\n\006schema\030\007 \001(\t\022\?\n\007options\030\010 \003(\0132..g"
+  "reptime.v1.region.CreateRequest.OptionsE"
+  "ntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val"
+  "ue\030\002 \001(\t:\0028\001\" \n\013DropRequest\022\021\n\tregion_id"
+  "\030\001 \001(\004\"\300\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001("
+  "\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007catalog\030\003 \001(\t\022\016\n\006sc"
+  "hema\030\004 \001(\t\022=\n\007options\030\005 \003(\0132,.greptime.v"
+  "1.region.OpenRequest.OptionsEntry\032.\n\014Opt"
+  "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028"
+  "\001\"!\n\014CloseRequest\022\021\n\tregion_id\030\001 \001(\004\"\261\001\n"
+  "\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\0225\n\013add_"
+  "columns\030\002 \001(\0132\036.greptime.v1.region.AddCo"
+  "lumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037.greptime"
+  ".v1.region.DropColumnsH\000\022\026\n\016schema_versi"
+  "on\030\004 \001(\004B\006\n\004kind\"@\n\nAddColumns\0222\n\013add_co"
+  "lumns\030\001 \003(\0132\035.greptime.v1.region.AddColu"
+  "mn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(\0132"
+  "\036.greptime.v1.region.DropColumn\"\200\001\n\tAddC"
+  "olumn\0221\n\ncolumn_def\030\001 \001(\0132\035.greptime.v1."
+  "region.ColumnDef\022\016\n\006is_key\030\002 \001(\010\0220\n\010loca"
+  "tion\030\003 \001(\0132\036.greptime.v1.AddColumnLocati"
+  "on\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"!\n\014FlushR"
+  "equest\022\021\n\tregion_id\030\001 \001(\004\"#\n\016CompactRequ"
+  "est\022\021\n\tregion_id\030\001 \001(\004\"\276\001\n\tColumnDef\022\014\n\004"
+  "name\030\001 \001(\t\022\021\n\tcolumn_id\030\002 \001(\r\022-\n\010datatyp"
+  "e\030\003 \001(\0162\033.greptime.v1.ColumnDataType\022\023\n\013"
+  "is_nullable\030\004 \001(\010\022\032\n\022default_constraint\030"
+  "\005 \001(\014\0220\n\rsemantic_type\030\006 \001(\0162\031.greptime."
+  "v1.SemanticType2Y\n\006Region\022O\n\006Handle\022!.gr"
+  "eptime.v1.region.RegionRequest\032\".greptim"
+  "e.v1.region.RegionResponseB]\n\025io.greptim"
+  "e.v1.regionB\006ServerZ= 1900 && _MSC_VER < 1912))
-constexpr AddColumn_Location_LocationType AddColumn_Location::FIRST;
-constexpr AddColumn_Location_LocationType AddColumn_Location::AFTER;
-constexpr AddColumn_Location_LocationType AddColumn_Location::LocationType_MIN;
-constexpr AddColumn_Location_LocationType AddColumn_Location::LocationType_MAX;
-constexpr int AddColumn_Location::LocationType_ARRAYSIZE;
-#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
 
 // ===================================================================
 
@@ -5005,253 +4958,26 @@ ::PROTOBUF_NAMESPACE_ID::Metadata DropColumns::GetMetadata() const {
 
 // ===================================================================
 
-class AddColumn_Location::_Internal {
- public:
-};
-
-AddColumn_Location::AddColumn_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
-  SharedCtor(arena, is_message_owned);
-  // @@protoc_insertion_point(arena_constructor:greptime.v1.region.AddColumn.Location)
-}
-AddColumn_Location::AddColumn_Location(const AddColumn_Location& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  AddColumn_Location* const _this = this; (void)_this;
-  new (&_impl_) Impl_{
-      decltype(_impl_.after_column_name_){}
-    , decltype(_impl_.location_type_){}
-    , /*decltype(_impl_._cached_size_)*/{}};
-
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  _impl_.after_column_name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.after_column_name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (!from._internal_after_column_name().empty()) {
-    _this->_impl_.after_column_name_.Set(from._internal_after_column_name(), 
-      _this->GetArenaForAllocation());
-  }
-  _this->_impl_.location_type_ = from._impl_.location_type_;
-  // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AddColumn.Location)
-}
-
-inline void AddColumn_Location::SharedCtor(
-    ::_pb::Arena* arena, bool is_message_owned) {
-  (void)arena;
-  (void)is_message_owned;
-  new (&_impl_) Impl_{
-      decltype(_impl_.after_column_name_){}
-    , decltype(_impl_.location_type_){0}
-    , /*decltype(_impl_._cached_size_)*/{}
-  };
-  _impl_.after_column_name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.after_column_name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-}
-
-AddColumn_Location::~AddColumn_Location() {
-  // @@protoc_insertion_point(destructor:greptime.v1.region.AddColumn.Location)
-  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
-  (void)arena;
-    return;
-  }
-  SharedDtor();
-}
-
-inline void AddColumn_Location::SharedDtor() {
-  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
-  _impl_.after_column_name_.Destroy();
-}
-
-void AddColumn_Location::SetCachedSize(int size) const {
-  _impl_._cached_size_.Set(size);
-}
-
-void AddColumn_Location::Clear() {
-// @@protoc_insertion_point(message_clear_start:greptime.v1.region.AddColumn.Location)
-  uint32_t cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  _impl_.after_column_name_.ClearToEmpty();
-  _impl_.location_type_ = 0;
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* AddColumn_Location::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    uint32_t tag;
-    ptr = ::_pbi::ReadTag(ptr, &tag);
-    switch (tag >> 3) {
-      // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) {
-          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_location_type(static_cast<::greptime::v1::region::AddColumn_Location_LocationType>(val));
-        } else
-          goto handle_unusual;
-        continue;
-      // string after_column_name = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) {
-          auto str = _internal_mutable_after_column_name();
-          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.region.AddColumn.Location.after_column_name"));
-        } else
-          goto handle_unusual;
-        continue;
-      default:
-        goto handle_unusual;
-    }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
-  }  // while
-message_done:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto message_done;
-#undef CHK_
-}
-
-uint8_t* AddColumn_Location::_InternalSerialize(
-    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.AddColumn.Location)
-  uint32_t cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-  if (this->_internal_location_type() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteEnumToArray(
-      1, this->_internal_location_type(), target);
-  }
-
-  // string after_column_name = 2;
-  if (!this->_internal_after_column_name().empty()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_after_column_name().data(), static_cast(this->_internal_after_column_name().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "greptime.v1.region.AddColumn.Location.after_column_name");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_after_column_name(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.AddColumn.Location)
-  return target;
-}
-
-size_t AddColumn_Location::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.AddColumn.Location)
-  size_t total_size = 0;
-
-  uint32_t cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string after_column_name = 2;
-  if (!this->_internal_after_column_name().empty()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_after_column_name());
-  }
-
-  // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-  if (this->_internal_location_type() != 0) {
-    total_size += 1 +
-      ::_pbi::WireFormatLite::EnumSize(this->_internal_location_type());
-  }
-
-  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
-}
-
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddColumn_Location::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
-    AddColumn_Location::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddColumn_Location::GetClassData() const { return &_class_data_; }
-
-
-void AddColumn_Location::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
-  auto* const _this = static_cast(&to_msg);
-  auto& from = static_cast(from_msg);
-  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.AddColumn.Location)
-  GOOGLE_DCHECK_NE(&from, _this);
-  uint32_t cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (!from._internal_after_column_name().empty()) {
-    _this->_internal_set_after_column_name(from._internal_after_column_name());
-  }
-  if (from._internal_location_type() != 0) {
-    _this->_internal_set_location_type(from._internal_location_type());
-  }
-  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-}
-
-void AddColumn_Location::CopyFrom(const AddColumn_Location& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.AddColumn.Location)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool AddColumn_Location::IsInitialized() const {
-  return true;
-}
-
-void AddColumn_Location::InternalSwap(AddColumn_Location* other) {
-  using std::swap;
-  auto* lhs_arena = GetArenaForAllocation();
-  auto* rhs_arena = other->GetArenaForAllocation();
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &_impl_.after_column_name_, lhs_arena,
-      &other->_impl_.after_column_name_, rhs_arena
-  );
-  swap(_impl_.location_type_, other->_impl_.location_type_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata AddColumn_Location::GetMetadata() const {
-  return ::_pbi::AssignDescriptors(
-      &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[17]);
-}
-
-// ===================================================================
-
 class AddColumn::_Internal {
  public:
   static const ::greptime::v1::region::ColumnDef& column_def(const AddColumn* msg);
-  static const ::greptime::v1::region::AddColumn_Location& location(const AddColumn* msg);
+  static const ::greptime::v1::AddColumnLocation& location(const AddColumn* msg);
 };
 
 const ::greptime::v1::region::ColumnDef&
 AddColumn::_Internal::column_def(const AddColumn* msg) {
   return *msg->_impl_.column_def_;
 }
-const ::greptime::v1::region::AddColumn_Location&
+const ::greptime::v1::AddColumnLocation&
 AddColumn::_Internal::location(const AddColumn* msg) {
   return *msg->_impl_.location_;
 }
+void AddColumn::clear_location() {
+  if (GetArenaForAllocation() == nullptr && _impl_.location_ != nullptr) {
+    delete _impl_.location_;
+  }
+  _impl_.location_ = nullptr;
+}
 AddColumn::AddColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                          bool is_message_owned)
   : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
@@ -5272,7 +4998,7 @@ AddColumn::AddColumn(const AddColumn& from)
     _this->_impl_.column_def_ = new ::greptime::v1::region::ColumnDef(*from._impl_.column_def_);
   }
   if (from._internal_has_location()) {
-    _this->_impl_.location_ = new ::greptime::v1::region::AddColumn_Location(*from._impl_.location_);
+    _this->_impl_.location_ = new ::greptime::v1::AddColumnLocation(*from._impl_.location_);
   }
   _this->_impl_.is_key_ = from._impl_.is_key_;
   // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AddColumn)
@@ -5349,7 +5075,7 @@ const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
         } else
           goto handle_unusual;
         continue;
-      // .greptime.v1.region.AddColumn.Location location = 3;
+      // .greptime.v1.AddColumnLocation location = 3;
       case 3:
         if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) {
           ptr = ctx->ParseMessage(_internal_mutable_location(), ptr);
@@ -5399,7 +5125,7 @@ uint8_t* AddColumn::_InternalSerialize(
     target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_key(), target);
   }
 
-  // .greptime.v1.region.AddColumn.Location location = 3;
+  // .greptime.v1.AddColumnLocation location = 3;
   if (this->_internal_has_location()) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
       InternalWriteMessage(3, _Internal::location(this),
@@ -5429,7 +5155,7 @@ size_t AddColumn::ByteSizeLong() const {
         *_impl_.column_def_);
   }
 
-  // .greptime.v1.region.AddColumn.Location location = 3;
+  // .greptime.v1.AddColumnLocation location = 3;
   if (this->_internal_has_location()) {
     total_size += 1 +
       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
@@ -5464,7 +5190,7 @@ void AddColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT
         from._internal_column_def());
   }
   if (from._internal_has_location()) {
-    _this->_internal_mutable_location()->::greptime::v1::region::AddColumn_Location::MergeFrom(
+    _this->_internal_mutable_location()->::greptime::v1::AddColumnLocation::MergeFrom(
         from._internal_location());
   }
   if (from._internal_is_key() != 0) {
@@ -5498,7 +5224,7 @@ void AddColumn::InternalSwap(AddColumn* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata AddColumn::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[18]);
+      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[17]);
 }
 
 // ===================================================================
@@ -5701,7 +5427,7 @@ void DropColumn::InternalSwap(DropColumn* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata DropColumn::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[19]);
+      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[18]);
 }
 
 // ===================================================================
@@ -5879,7 +5605,7 @@ void FlushRequest::InternalSwap(FlushRequest* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata FlushRequest::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[20]);
+      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[19]);
 }
 
 // ===================================================================
@@ -6057,7 +5783,7 @@ void CompactRequest::InternalSwap(CompactRequest* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata CompactRequest::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[21]);
+      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[20]);
 }
 
 // ===================================================================
@@ -6419,7 +6145,7 @@ void ColumnDef::InternalSwap(ColumnDef* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[22]);
+      file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[21]);
 }
 
 // @@protoc_insertion_point(namespace_scope)
@@ -6495,10 +6221,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::region::DropColumns*
 Arena::CreateMaybeMessage< ::greptime::v1::region::DropColumns >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::region::DropColumns >(arena);
 }
-template<> PROTOBUF_NOINLINE ::greptime::v1::region::AddColumn_Location*
-Arena::CreateMaybeMessage< ::greptime::v1::region::AddColumn_Location >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::greptime::v1::region::AddColumn_Location >(arena);
-}
 template<> PROTOBUF_NOINLINE ::greptime::v1::region::AddColumn*
 Arena::CreateMaybeMessage< ::greptime::v1::region::AddColumn >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::region::AddColumn >(arena);
diff --git a/c++/greptime/v1/region/server.pb.h b/c++/greptime/v1/region/server.pb.h
index aeb80b25..9e600f02 100644
--- a/c++/greptime/v1/region/server.pb.h
+++ b/c++/greptime/v1/region/server.pb.h
@@ -32,10 +32,10 @@
 #include   // IWYU pragma: export
 #include 
 #include 
-#include 
 #include 
 #include "greptime/v1/common.pb.h"
 #include "greptime/v1/row.pb.h"
+#include "greptime/v1/ddl.pb.h"
 // @@protoc_insertion_point(includes)
 #include 
 #define PROTOBUF_INTERNAL_EXPORT_greptime_2fv1_2fregion_2fserver_2eproto
@@ -56,9 +56,6 @@ namespace region {
 class AddColumn;
 struct AddColumnDefaultTypeInternal;
 extern AddColumnDefaultTypeInternal _AddColumn_default_instance_;
-class AddColumn_Location;
-struct AddColumn_LocationDefaultTypeInternal;
-extern AddColumn_LocationDefaultTypeInternal _AddColumn_Location_default_instance_;
 class AddColumns;
 struct AddColumnsDefaultTypeInternal;
 extern AddColumnsDefaultTypeInternal _AddColumns_default_instance_;
@@ -127,7 +124,6 @@ extern RegionResponseDefaultTypeInternal _RegionResponse_default_instance_;
 }  // namespace greptime
 PROTOBUF_NAMESPACE_OPEN
 template<> ::greptime::v1::region::AddColumn* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumn>(Arena*);
-template<> ::greptime::v1::region::AddColumn_Location* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumn_Location>(Arena*);
 template<> ::greptime::v1::region::AddColumns* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumns>(Arena*);
 template<> ::greptime::v1::region::AlterRequest* Arena::CreateMaybeMessage<::greptime::v1::region::AlterRequest>(Arena*);
 template<> ::greptime::v1::region::CloseRequest* Arena::CreateMaybeMessage<::greptime::v1::region::CloseRequest>(Arena*);
@@ -154,31 +150,6 @@ namespace greptime {
 namespace v1 {
 namespace region {
 
-enum AddColumn_Location_LocationType : int {
-  AddColumn_Location_LocationType_FIRST = 0,
-  AddColumn_Location_LocationType_AFTER = 1,
-  AddColumn_Location_LocationType_AddColumn_Location_LocationType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(),
-  AddColumn_Location_LocationType_AddColumn_Location_LocationType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max()
-};
-bool AddColumn_Location_LocationType_IsValid(int value);
-constexpr AddColumn_Location_LocationType AddColumn_Location_LocationType_LocationType_MIN = AddColumn_Location_LocationType_FIRST;
-constexpr AddColumn_Location_LocationType AddColumn_Location_LocationType_LocationType_MAX = AddColumn_Location_LocationType_AFTER;
-constexpr int AddColumn_Location_LocationType_LocationType_ARRAYSIZE = AddColumn_Location_LocationType_LocationType_MAX + 1;
-
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumn_Location_LocationType_descriptor();
-template
-inline const std::string& AddColumn_Location_LocationType_Name(T enum_t_value) {
-  static_assert(::std::is_same::value ||
-    ::std::is_integral::value,
-    "Incorrect type passed to function AddColumn_Location_LocationType_Name.");
-  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
-    AddColumn_Location_LocationType_descriptor(), enum_t_value);
-}
-inline bool AddColumn_Location_LocationType_Parse(
-    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AddColumn_Location_LocationType* value) {
-  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
-    AddColumn_Location_LocationType_descriptor(), name, value);
-}
 // ===================================================================
 
 class RegionRequestHeader final :
@@ -3076,200 +3047,6 @@ class DropColumns final :
 };
 // -------------------------------------------------------------------
 
-class AddColumn_Location final :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.AddColumn.Location) */ {
- public:
-  inline AddColumn_Location() : AddColumn_Location(nullptr) {}
-  ~AddColumn_Location() override;
-  explicit PROTOBUF_CONSTEXPR AddColumn_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  AddColumn_Location(const AddColumn_Location& from);
-  AddColumn_Location(AddColumn_Location&& from) noexcept
-    : AddColumn_Location() {
-    *this = ::std::move(from);
-  }
-
-  inline AddColumn_Location& operator=(const AddColumn_Location& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline AddColumn_Location& operator=(AddColumn_Location&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()
-  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
-        && GetOwningArena() != nullptr
-  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
-    ) {
-      InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
-  }
-  static const AddColumn_Location& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const AddColumn_Location* internal_default_instance() {
-    return reinterpret_cast(
-               &_AddColumn_Location_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    17;
-
-  friend void swap(AddColumn_Location& a, AddColumn_Location& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(AddColumn_Location* other) {
-    if (other == this) return;
-  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
-    if (GetOwningArena() != nullptr &&
-        GetOwningArena() == other->GetOwningArena()) {
-   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
-    if (GetOwningArena() == other->GetOwningArena()) {
-  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(AddColumn_Location* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  AddColumn_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
-    return CreateMaybeMessage(arena);
-  }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
-  void CopyFrom(const AddColumn_Location& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
-  void MergeFrom( const AddColumn_Location& from) {
-    AddColumn_Location::MergeImpl(*this, from);
-  }
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
-  public:
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  uint8_t* _InternalSerialize(
-      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
-
-  private:
-  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(AddColumn_Location* other);
-
-  private:
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "greptime.v1.region.AddColumn.Location";
-  }
-  protected:
-  explicit AddColumn_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
-  public:
-
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  typedef AddColumn_Location_LocationType LocationType;
-  static constexpr LocationType FIRST =
-    AddColumn_Location_LocationType_FIRST;
-  static constexpr LocationType AFTER =
-    AddColumn_Location_LocationType_AFTER;
-  static inline bool LocationType_IsValid(int value) {
-    return AddColumn_Location_LocationType_IsValid(value);
-  }
-  static constexpr LocationType LocationType_MIN =
-    AddColumn_Location_LocationType_LocationType_MIN;
-  static constexpr LocationType LocationType_MAX =
-    AddColumn_Location_LocationType_LocationType_MAX;
-  static constexpr int LocationType_ARRAYSIZE =
-    AddColumn_Location_LocationType_LocationType_ARRAYSIZE;
-  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
-  LocationType_descriptor() {
-    return AddColumn_Location_LocationType_descriptor();
-  }
-  template
-  static inline const std::string& LocationType_Name(T enum_t_value) {
-    static_assert(::std::is_same::value ||
-      ::std::is_integral::value,
-      "Incorrect type passed to function LocationType_Name.");
-    return AddColumn_Location_LocationType_Name(enum_t_value);
-  }
-  static inline bool LocationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
-      LocationType* value) {
-    return AddColumn_Location_LocationType_Parse(name, value);
-  }
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kAfterColumnNameFieldNumber = 2,
-    kLocationTypeFieldNumber = 1,
-  };
-  // string after_column_name = 2;
-  void clear_after_column_name();
-  const std::string& after_column_name() const;
-  template 
-  void set_after_column_name(ArgT0&& arg0, ArgT... args);
-  std::string* mutable_after_column_name();
-  PROTOBUF_NODISCARD std::string* release_after_column_name();
-  void set_allocated_after_column_name(std::string* after_column_name);
-  private:
-  const std::string& _internal_after_column_name() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_after_column_name(const std::string& value);
-  std::string* _internal_mutable_after_column_name();
-  public:
-
-  // .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-  void clear_location_type();
-  ::greptime::v1::region::AddColumn_Location_LocationType location_type() const;
-  void set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value);
-  private:
-  ::greptime::v1::region::AddColumn_Location_LocationType _internal_location_type() const;
-  void _internal_set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value);
-  public:
-
-  // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn.Location)
- private:
-  class _Internal;
-
-  template  friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  struct Impl_ {
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr after_column_name_;
-    int location_type_;
-    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  };
-  union { Impl_ _impl_; };
-  friend struct ::TableStruct_greptime_2fv1_2fregion_2fserver_2eproto;
-};
-// -------------------------------------------------------------------
-
 class AddColumn final :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.AddColumn) */ {
  public:
@@ -3318,7 +3095,7 @@ class AddColumn final :
                &_AddColumn_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    18;
+    17;
 
   friend void swap(AddColumn& a, AddColumn& b) {
     a.Swap(&b);
@@ -3388,8 +3165,6 @@ class AddColumn final :
 
   // nested types ----------------------------------------------------
 
-  typedef AddColumn_Location Location;
-
   // accessors -------------------------------------------------------
 
   enum : int {
@@ -3415,23 +3190,23 @@ class AddColumn final :
       ::greptime::v1::region::ColumnDef* column_def);
   ::greptime::v1::region::ColumnDef* unsafe_arena_release_column_def();
 
-  // .greptime.v1.region.AddColumn.Location location = 3;
+  // .greptime.v1.AddColumnLocation location = 3;
   bool has_location() const;
   private:
   bool _internal_has_location() const;
   public:
   void clear_location();
-  const ::greptime::v1::region::AddColumn_Location& location() const;
-  PROTOBUF_NODISCARD ::greptime::v1::region::AddColumn_Location* release_location();
-  ::greptime::v1::region::AddColumn_Location* mutable_location();
-  void set_allocated_location(::greptime::v1::region::AddColumn_Location* location);
+  const ::greptime::v1::AddColumnLocation& location() const;
+  PROTOBUF_NODISCARD ::greptime::v1::AddColumnLocation* release_location();
+  ::greptime::v1::AddColumnLocation* mutable_location();
+  void set_allocated_location(::greptime::v1::AddColumnLocation* location);
   private:
-  const ::greptime::v1::region::AddColumn_Location& _internal_location() const;
-  ::greptime::v1::region::AddColumn_Location* _internal_mutable_location();
+  const ::greptime::v1::AddColumnLocation& _internal_location() const;
+  ::greptime::v1::AddColumnLocation* _internal_mutable_location();
   public:
   void unsafe_arena_set_allocated_location(
-      ::greptime::v1::region::AddColumn_Location* location);
-  ::greptime::v1::region::AddColumn_Location* unsafe_arena_release_location();
+      ::greptime::v1::AddColumnLocation* location);
+  ::greptime::v1::AddColumnLocation* unsafe_arena_release_location();
 
   // bool is_key = 2;
   void clear_is_key();
@@ -3451,7 +3226,7 @@ class AddColumn final :
   typedef void DestructorSkippable_;
   struct Impl_ {
     ::greptime::v1::region::ColumnDef* column_def_;
-    ::greptime::v1::region::AddColumn_Location* location_;
+    ::greptime::v1::AddColumnLocation* location_;
     bool is_key_;
     mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   };
@@ -3508,7 +3283,7 @@ class DropColumn final :
                &_DropColumn_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    19;
+    18;
 
   friend void swap(DropColumn& a, DropColumn& b) {
     a.Swap(&b);
@@ -3661,7 +3436,7 @@ class FlushRequest final :
                &_FlushRequest_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    20;
+    19;
 
   friend void swap(FlushRequest& a, FlushRequest& b) {
     a.Swap(&b);
@@ -3809,7 +3584,7 @@ class CompactRequest final :
                &_CompactRequest_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    21;
+    20;
 
   friend void swap(CompactRequest& a, CompactRequest& b) {
     a.Swap(&b);
@@ -3957,7 +3732,7 @@ class ColumnDef final :
                &_ColumnDef_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    22;
+    21;
 
   friend void swap(ColumnDef& a, ColumnDef& b) {
     a.Swap(&b);
@@ -6285,80 +6060,6 @@ DropColumns::drop_columns() const {
 
 // -------------------------------------------------------------------
 
-// AddColumn_Location
-
-// .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-inline void AddColumn_Location::clear_location_type() {
-  _impl_.location_type_ = 0;
-}
-inline ::greptime::v1::region::AddColumn_Location_LocationType AddColumn_Location::_internal_location_type() const {
-  return static_cast< ::greptime::v1::region::AddColumn_Location_LocationType >(_impl_.location_type_);
-}
-inline ::greptime::v1::region::AddColumn_Location_LocationType AddColumn_Location::location_type() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.Location.location_type)
-  return _internal_location_type();
-}
-inline void AddColumn_Location::_internal_set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value) {
-  
-  _impl_.location_type_ = value;
-}
-inline void AddColumn_Location::set_location_type(::greptime::v1::region::AddColumn_Location_LocationType value) {
-  _internal_set_location_type(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.Location.location_type)
-}
-
-// string after_column_name = 2;
-inline void AddColumn_Location::clear_after_column_name() {
-  _impl_.after_column_name_.ClearToEmpty();
-}
-inline const std::string& AddColumn_Location::after_column_name() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.Location.after_column_name)
-  return _internal_after_column_name();
-}
-template 
-inline PROTOBUF_ALWAYS_INLINE
-void AddColumn_Location::set_after_column_name(ArgT0&& arg0, ArgT... args) {
- 
- _impl_.after_column_name_.Set(static_cast(arg0), args..., GetArenaForAllocation());
-  // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.Location.after_column_name)
-}
-inline std::string* AddColumn_Location::mutable_after_column_name() {
-  std::string* _s = _internal_mutable_after_column_name();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumn.Location.after_column_name)
-  return _s;
-}
-inline const std::string& AddColumn_Location::_internal_after_column_name() const {
-  return _impl_.after_column_name_.Get();
-}
-inline void AddColumn_Location::_internal_set_after_column_name(const std::string& value) {
-  
-  _impl_.after_column_name_.Set(value, GetArenaForAllocation());
-}
-inline std::string* AddColumn_Location::_internal_mutable_after_column_name() {
-  
-  return _impl_.after_column_name_.Mutable(GetArenaForAllocation());
-}
-inline std::string* AddColumn_Location::release_after_column_name() {
-  // @@protoc_insertion_point(field_release:greptime.v1.region.AddColumn.Location.after_column_name)
-  return _impl_.after_column_name_.Release();
-}
-inline void AddColumn_Location::set_allocated_after_column_name(std::string* after_column_name) {
-  if (after_column_name != nullptr) {
-    
-  } else {
-    
-  }
-  _impl_.after_column_name_.SetAllocated(after_column_name, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (_impl_.after_column_name_.IsDefault()) {
-    _impl_.after_column_name_.Set("", GetArenaForAllocation());
-  }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AddColumn.Location.after_column_name)
-}
-
-// -------------------------------------------------------------------
-
 // AddColumn
 
 // .greptime.v1.region.ColumnDef column_def = 1;
@@ -6471,30 +6172,24 @@ inline void AddColumn::set_is_key(bool value) {
   // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.is_key)
 }
 
-// .greptime.v1.region.AddColumn.Location location = 3;
+// .greptime.v1.AddColumnLocation location = 3;
 inline bool AddColumn::_internal_has_location() const {
   return this != internal_default_instance() && _impl_.location_ != nullptr;
 }
 inline bool AddColumn::has_location() const {
   return _internal_has_location();
 }
-inline void AddColumn::clear_location() {
-  if (GetArenaForAllocation() == nullptr && _impl_.location_ != nullptr) {
-    delete _impl_.location_;
-  }
-  _impl_.location_ = nullptr;
-}
-inline const ::greptime::v1::region::AddColumn_Location& AddColumn::_internal_location() const {
-  const ::greptime::v1::region::AddColumn_Location* p = _impl_.location_;
-  return p != nullptr ? *p : reinterpret_cast(
-      ::greptime::v1::region::_AddColumn_Location_default_instance_);
+inline const ::greptime::v1::AddColumnLocation& AddColumn::_internal_location() const {
+  const ::greptime::v1::AddColumnLocation* p = _impl_.location_;
+  return p != nullptr ? *p : reinterpret_cast(
+      ::greptime::v1::_AddColumnLocation_default_instance_);
 }
-inline const ::greptime::v1::region::AddColumn_Location& AddColumn::location() const {
+inline const ::greptime::v1::AddColumnLocation& AddColumn::location() const {
   // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.location)
   return _internal_location();
 }
 inline void AddColumn::unsafe_arena_set_allocated_location(
-    ::greptime::v1::region::AddColumn_Location* location) {
+    ::greptime::v1::AddColumnLocation* location) {
   if (GetArenaForAllocation() == nullptr) {
     delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
   }
@@ -6506,9 +6201,9 @@ inline void AddColumn::unsafe_arena_set_allocated_location(
   }
   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AddColumn.location)
 }
-inline ::greptime::v1::region::AddColumn_Location* AddColumn::release_location() {
+inline ::greptime::v1::AddColumnLocation* AddColumn::release_location() {
   
-  ::greptime::v1::region::AddColumn_Location* temp = _impl_.location_;
+  ::greptime::v1::AddColumnLocation* temp = _impl_.location_;
   _impl_.location_ = nullptr;
 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
   auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
@@ -6521,34 +6216,35 @@ inline ::greptime::v1::region::AddColumn_Location* AddColumn::release_location()
 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
   return temp;
 }
-inline ::greptime::v1::region::AddColumn_Location* AddColumn::unsafe_arena_release_location() {
+inline ::greptime::v1::AddColumnLocation* AddColumn::unsafe_arena_release_location() {
   // @@protoc_insertion_point(field_release:greptime.v1.region.AddColumn.location)
   
-  ::greptime::v1::region::AddColumn_Location* temp = _impl_.location_;
+  ::greptime::v1::AddColumnLocation* temp = _impl_.location_;
   _impl_.location_ = nullptr;
   return temp;
 }
-inline ::greptime::v1::region::AddColumn_Location* AddColumn::_internal_mutable_location() {
+inline ::greptime::v1::AddColumnLocation* AddColumn::_internal_mutable_location() {
   
   if (_impl_.location_ == nullptr) {
-    auto* p = CreateMaybeMessage<::greptime::v1::region::AddColumn_Location>(GetArenaForAllocation());
+    auto* p = CreateMaybeMessage<::greptime::v1::AddColumnLocation>(GetArenaForAllocation());
     _impl_.location_ = p;
   }
   return _impl_.location_;
 }
-inline ::greptime::v1::region::AddColumn_Location* AddColumn::mutable_location() {
-  ::greptime::v1::region::AddColumn_Location* _msg = _internal_mutable_location();
+inline ::greptime::v1::AddColumnLocation* AddColumn::mutable_location() {
+  ::greptime::v1::AddColumnLocation* _msg = _internal_mutable_location();
   // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumn.location)
   return _msg;
 }
-inline void AddColumn::set_allocated_location(::greptime::v1::region::AddColumn_Location* location) {
+inline void AddColumn::set_allocated_location(::greptime::v1::AddColumnLocation* location) {
   ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
   if (message_arena == nullptr) {
-    delete _impl_.location_;
+    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
   }
   if (location) {
     ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(location);
+        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
+                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location));
     if (message_arena != submessage_arena) {
       location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
           message_arena, location, submessage_arena);
@@ -6892,8 +6588,6 @@ inline void ColumnDef::set_semantic_type(::greptime::v1::SemanticType value) {
 
 // -------------------------------------------------------------------
 
-// -------------------------------------------------------------------
-
 
 // @@protoc_insertion_point(namespace_scope)
 
@@ -6901,16 +6595,6 @@ inline void ColumnDef::set_semantic_type(::greptime::v1::SemanticType value) {
 }  // namespace v1
 }  // namespace greptime
 
-PROTOBUF_NAMESPACE_OPEN
-
-template <> struct is_proto_enum< ::greptime::v1::region::AddColumn_Location_LocationType> : ::std::true_type {};
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ::greptime::v1::region::AddColumn_Location_LocationType>() {
-  return ::greptime::v1::region::AddColumn_Location_LocationType_descriptor();
-}
-
-PROTOBUF_NAMESPACE_CLOSE
-
 // @@protoc_insertion_point(global_scope)
 
 #include 
diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go
index 1821a1ae..7f4b385c 100644
--- a/go/greptime/v1/ddl.pb.go
+++ b/go/greptime/v1/ddl.pb.go
@@ -34,50 +34,50 @@ const (
 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 )
 
-type AddColumn_Location_LocationType int32
+type AddColumnLocation_LocationType int32
 
 const (
-	AddColumn_Location_FIRST AddColumn_Location_LocationType = 0
-	AddColumn_Location_AFTER AddColumn_Location_LocationType = 1
+	AddColumnLocation_FIRST AddColumnLocation_LocationType = 0
+	AddColumnLocation_AFTER AddColumnLocation_LocationType = 1
 )
 
-// Enum value maps for AddColumn_Location_LocationType.
+// Enum value maps for AddColumnLocation_LocationType.
 var (
-	AddColumn_Location_LocationType_name = map[int32]string{
+	AddColumnLocation_LocationType_name = map[int32]string{
 		0: "FIRST",
 		1: "AFTER",
 	}
-	AddColumn_Location_LocationType_value = map[string]int32{
+	AddColumnLocation_LocationType_value = map[string]int32{
 		"FIRST": 0,
 		"AFTER": 1,
 	}
 )
 
-func (x AddColumn_Location_LocationType) Enum() *AddColumn_Location_LocationType {
-	p := new(AddColumn_Location_LocationType)
+func (x AddColumnLocation_LocationType) Enum() *AddColumnLocation_LocationType {
+	p := new(AddColumnLocation_LocationType)
 	*p = x
 	return p
 }
 
-func (x AddColumn_Location_LocationType) String() string {
+func (x AddColumnLocation_LocationType) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (AddColumn_Location_LocationType) Descriptor() protoreflect.EnumDescriptor {
+func (AddColumnLocation_LocationType) Descriptor() protoreflect.EnumDescriptor {
 	return file_greptime_v1_ddl_proto_enumTypes[0].Descriptor()
 }
 
-func (AddColumn_Location_LocationType) Type() protoreflect.EnumType {
+func (AddColumnLocation_LocationType) Type() protoreflect.EnumType {
 	return &file_greptime_v1_ddl_proto_enumTypes[0]
 }
 
-func (x AddColumn_Location_LocationType) Number() protoreflect.EnumNumber {
+func (x AddColumnLocation_LocationType) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use AddColumn_Location_LocationType.Descriptor instead.
-func (AddColumn_Location_LocationType) EnumDescriptor() ([]byte, []int) {
-	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{9, 0, 0}
+// Deprecated: Use AddColumnLocation_LocationType.Descriptor instead.
+func (AddColumnLocation_LocationType) EnumDescriptor() ([]byte, []int) {
+	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12, 0}
 }
 
 // "Data Definition Language" requests, that create, modify or delete the
@@ -829,9 +829,9 @@ type AddColumn struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	ColumnDef *ColumnDef          `protobuf:"bytes,1,opt,name=column_def,json=columnDef,proto3" json:"column_def,omitempty"`
-	IsKey     bool                `protobuf:"varint,2,opt,name=is_key,json=isKey,proto3" json:"is_key,omitempty"`
-	Location  *AddColumn_Location `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
+	ColumnDef *ColumnDef         `protobuf:"bytes,1,opt,name=column_def,json=columnDef,proto3" json:"column_def,omitempty"`
+	IsKey     bool               `protobuf:"varint,2,opt,name=is_key,json=isKey,proto3" json:"is_key,omitempty"`
+	Location  *AddColumnLocation `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
 }
 
 func (x *AddColumn) Reset() {
@@ -880,7 +880,7 @@ func (x *AddColumn) GetIsKey() bool {
 	return false
 }
 
-func (x *AddColumn) GetLocation() *AddColumn_Location {
+func (x *AddColumn) GetLocation() *AddColumnLocation {
 	if x != nil {
 		return x.Location
 	}
@@ -981,32 +981,32 @@ func (x *TableId) GetId() uint32 {
 	return 0
 }
 
-type AddColumn_Location struct {
+type AddColumnLocation struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	LocationType    AddColumn_Location_LocationType `protobuf:"varint,1,opt,name=location_type,json=locationType,proto3,enum=greptime.v1.AddColumn_Location_LocationType" json:"location_type,omitempty"`
-	AfterColumnName string                          `protobuf:"bytes,2,opt,name=after_column_name,json=afterColumnName,proto3" json:"after_column_name,omitempty"`
+	LocationType    AddColumnLocation_LocationType `protobuf:"varint,1,opt,name=location_type,json=locationType,proto3,enum=greptime.v1.AddColumnLocation_LocationType" json:"location_type,omitempty"`
+	AfterColumnName string                         `protobuf:"bytes,2,opt,name=after_column_name,json=afterColumnName,proto3" json:"after_column_name,omitempty"`
 }
 
-func (x *AddColumn_Location) Reset() {
-	*x = AddColumn_Location{}
+func (x *AddColumnLocation) Reset() {
+	*x = AddColumnLocation{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_greptime_v1_ddl_proto_msgTypes[14]
+		mi := &file_greptime_v1_ddl_proto_msgTypes[12]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
 }
 
-func (x *AddColumn_Location) String() string {
+func (x *AddColumnLocation) String() string {
 	return protoimpl.X.MessageStringOf(x)
 }
 
-func (*AddColumn_Location) ProtoMessage() {}
+func (*AddColumnLocation) ProtoMessage() {}
 
-func (x *AddColumn_Location) ProtoReflect() protoreflect.Message {
-	mi := &file_greptime_v1_ddl_proto_msgTypes[14]
+func (x *AddColumnLocation) ProtoReflect() protoreflect.Message {
+	mi := &file_greptime_v1_ddl_proto_msgTypes[12]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1017,19 +1017,19 @@ func (x *AddColumn_Location) ProtoReflect() protoreflect.Message {
 	return mi.MessageOf(x)
 }
 
-// Deprecated: Use AddColumn_Location.ProtoReflect.Descriptor instead.
-func (*AddColumn_Location) Descriptor() ([]byte, []int) {
-	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{9, 0}
+// Deprecated: Use AddColumnLocation.ProtoReflect.Descriptor instead.
+func (*AddColumnLocation) Descriptor() ([]byte, []int) {
+	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12}
 }
 
-func (x *AddColumn_Location) GetLocationType() AddColumn_Location_LocationType {
+func (x *AddColumnLocation) GetLocationType() AddColumnLocation_LocationType {
 	if x != nil {
 		return x.LocationType
 	}
-	return AddColumn_Location_FIRST
+	return AddColumnLocation_FIRST
 }
 
-func (x *AddColumn_Location) GetAfterColumnName() string {
+func (x *AddColumnLocation) GetAfterColumnName() string {
 	if x != nil {
 		return x.AfterColumnName
 	}
@@ -1173,37 +1173,37 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{
 	0x6d, 0x6e, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62,
 	0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
 	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54,
-	0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x09, 0x41, 0x64, 0x64,
+	0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64,
 	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
 	0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65,
 	0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44,
 	0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x15, 0x0a,
 	0x06, 0x69, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69,
-	0x73, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
-	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x4c,
-	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
-	0x6e, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51,
-	0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
-	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x4c, 0x6f,
-	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
-	0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
-	0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
-	0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66,
-	0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a,
-	0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a,
-	0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45,
-	0x52, 0x10, 0x01, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
-	0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64,
-	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
-	0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
-	0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
-	0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d,
-	0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
-	0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x73, 0x4b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
+	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f,
+	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12,
+	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+	0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a,
+	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb7, 0x01,
+	0x0a, 0x11, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65,
+	0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75,
+	0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63,
+	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d,
+	0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
+	0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
+	0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72,
+	0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35,
+	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74,
+	0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
+	0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
+	0x6d, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -1221,23 +1221,23 @@ func file_greptime_v1_ddl_proto_rawDescGZIP() []byte {
 var file_greptime_v1_ddl_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
 var file_greptime_v1_ddl_proto_goTypes = []interface{}{
-	(AddColumn_Location_LocationType)(0), // 0: greptime.v1.AddColumn.Location.LocationType
-	(*DdlRequest)(nil),                   // 1: greptime.v1.DdlRequest
-	(*CreateTableExpr)(nil),              // 2: greptime.v1.CreateTableExpr
-	(*AlterExpr)(nil),                    // 3: greptime.v1.AlterExpr
-	(*DropTableExpr)(nil),                // 4: greptime.v1.DropTableExpr
-	(*CreateDatabaseExpr)(nil),           // 5: greptime.v1.CreateDatabaseExpr
-	(*TruncateTableExpr)(nil),            // 6: greptime.v1.TruncateTableExpr
-	(*AddColumns)(nil),                   // 7: greptime.v1.AddColumns
-	(*DropColumns)(nil),                  // 8: greptime.v1.DropColumns
-	(*RenameTable)(nil),                  // 9: greptime.v1.RenameTable
-	(*AddColumn)(nil),                    // 10: greptime.v1.AddColumn
-	(*DropColumn)(nil),                   // 11: greptime.v1.DropColumn
-	(*TableId)(nil),                      // 12: greptime.v1.TableId
-	nil,                                  // 13: greptime.v1.CreateTableExpr.TableOptionsEntry
-	nil,                                  // 14: greptime.v1.CreateDatabaseExpr.OptionsEntry
-	(*AddColumn_Location)(nil),           // 15: greptime.v1.AddColumn.Location
-	(*ColumnDef)(nil),                    // 16: greptime.v1.ColumnDef
+	(AddColumnLocation_LocationType)(0), // 0: greptime.v1.AddColumnLocation.LocationType
+	(*DdlRequest)(nil),                  // 1: greptime.v1.DdlRequest
+	(*CreateTableExpr)(nil),             // 2: greptime.v1.CreateTableExpr
+	(*AlterExpr)(nil),                   // 3: greptime.v1.AlterExpr
+	(*DropTableExpr)(nil),               // 4: greptime.v1.DropTableExpr
+	(*CreateDatabaseExpr)(nil),          // 5: greptime.v1.CreateDatabaseExpr
+	(*TruncateTableExpr)(nil),           // 6: greptime.v1.TruncateTableExpr
+	(*AddColumns)(nil),                  // 7: greptime.v1.AddColumns
+	(*DropColumns)(nil),                 // 8: greptime.v1.DropColumns
+	(*RenameTable)(nil),                 // 9: greptime.v1.RenameTable
+	(*AddColumn)(nil),                   // 10: greptime.v1.AddColumn
+	(*DropColumn)(nil),                  // 11: greptime.v1.DropColumn
+	(*TableId)(nil),                     // 12: greptime.v1.TableId
+	(*AddColumnLocation)(nil),           // 13: greptime.v1.AddColumnLocation
+	nil,                                 // 14: greptime.v1.CreateTableExpr.TableOptionsEntry
+	nil,                                 // 15: greptime.v1.CreateDatabaseExpr.OptionsEntry
+	(*ColumnDef)(nil),                   // 16: greptime.v1.ColumnDef
 }
 var file_greptime_v1_ddl_proto_depIdxs = []int32{
 	5,  // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr
@@ -1246,20 +1246,20 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{
 	4,  // 3: greptime.v1.DdlRequest.drop_table:type_name -> greptime.v1.DropTableExpr
 	6,  // 4: greptime.v1.DdlRequest.truncate_table:type_name -> greptime.v1.TruncateTableExpr
 	16, // 5: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef
-	13, // 6: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry
+	14, // 6: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry
 	12, // 7: greptime.v1.CreateTableExpr.table_id:type_name -> greptime.v1.TableId
 	7,  // 8: greptime.v1.AlterExpr.add_columns:type_name -> greptime.v1.AddColumns
 	8,  // 9: greptime.v1.AlterExpr.drop_columns:type_name -> greptime.v1.DropColumns
 	9,  // 10: greptime.v1.AlterExpr.rename_table:type_name -> greptime.v1.RenameTable
 	12, // 11: greptime.v1.AlterExpr.table_id:type_name -> greptime.v1.TableId
 	12, // 12: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId
-	14, // 13: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry
+	15, // 13: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry
 	12, // 14: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId
 	10, // 15: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn
 	11, // 16: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn
 	16, // 17: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef
-	15, // 18: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumn.Location
-	0,  // 19: greptime.v1.AddColumn.Location.location_type:type_name -> greptime.v1.AddColumn.Location.LocationType
+	13, // 18: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation
+	0,  // 19: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType
 	20, // [20:20] is the sub-list for method output_type
 	20, // [20:20] is the sub-list for method input_type
 	20, // [20:20] is the sub-list for extension type_name
@@ -1418,8 +1418,8 @@ func file_greptime_v1_ddl_proto_init() {
 				return nil
 			}
 		}
-		file_greptime_v1_ddl_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*AddColumn_Location); i {
+		file_greptime_v1_ddl_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*AddColumnLocation); i {
 			case 0:
 				return &v.state
 			case 1:
diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java
index d07fcced..f9e6367e 100644
--- a/java/src/main/java/io/greptime/v1/Ddl.java
+++ b/java/src/main/java/io/greptime/v1/Ddl.java
@@ -11594,19 +11594,19 @@ public interface AddColumnOrBuilder extends
     boolean getIsKey();
 
     /**
-     * .greptime.v1.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      * @return Whether the location field is set.
      */
     boolean hasLocation();
     /**
-     * .greptime.v1.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      * @return The location.
      */
-    io.greptime.v1.Ddl.AddColumn.Location getLocation();
+    io.greptime.v1.Ddl.AddColumnLocation getLocation();
     /**
-     * .greptime.v1.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      */
-    io.greptime.v1.Ddl.AddColumn.LocationOrBuilder getLocationOrBuilder();
+    io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder();
   }
   /**
    * Protobuf type {@code greptime.v1.AddColumn}
@@ -11672,11 +11672,11 @@ private AddColumn(
               break;
             }
             case 26: {
-              io.greptime.v1.Ddl.AddColumn.Location.Builder subBuilder = null;
+              io.greptime.v1.Ddl.AddColumnLocation.Builder subBuilder = null;
               if (location_ != null) {
                 subBuilder = location_.toBuilder();
               }
-              location_ = input.readMessage(io.greptime.v1.Ddl.AddColumn.Location.parser(), extensionRegistry);
+              location_ = input.readMessage(io.greptime.v1.Ddl.AddColumnLocation.parser(), extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(location_);
                 location_ = subBuilder.buildPartial();
@@ -11718,852 +11718,891 @@ private AddColumn(
               io.greptime.v1.Ddl.AddColumn.class, io.greptime.v1.Ddl.AddColumn.Builder.class);
     }
 
-    public interface LocationOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:greptime.v1.AddColumn.Location)
-        com.google.protobuf.MessageOrBuilder {
+    public static final int COLUMN_DEF_FIELD_NUMBER = 1;
+    private io.greptime.v1.Common.ColumnDef columnDef_;
+    /**
+     * .greptime.v1.ColumnDef column_def = 1;
+     * @return Whether the columnDef field is set.
+     */
+    @java.lang.Override
+    public boolean hasColumnDef() {
+      return columnDef_ != null;
+    }
+    /**
+     * .greptime.v1.ColumnDef column_def = 1;
+     * @return The columnDef.
+     */
+    @java.lang.Override
+    public io.greptime.v1.Common.ColumnDef getColumnDef() {
+      return columnDef_ == null ? io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_;
+    }
+    /**
+     * .greptime.v1.ColumnDef column_def = 1;
+     */
+    @java.lang.Override
+    public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() {
+      return getColumnDef();
+    }
 
-      /**
-       * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-       * @return The enum numeric value on the wire for locationType.
-       */
-      int getLocationTypeValue();
-      /**
-       * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-       * @return The locationType.
-       */
-      io.greptime.v1.Ddl.AddColumn.Location.LocationType getLocationType();
+    public static final int IS_KEY_FIELD_NUMBER = 2;
+    private boolean isKey_;
+    /**
+     * bool is_key = 2;
+     * @return The isKey.
+     */
+    @java.lang.Override
+    public boolean getIsKey() {
+      return isKey_;
+    }
 
-      /**
-       * string after_column_name = 2;
-       * @return The afterColumnName.
-       */
-      java.lang.String getAfterColumnName();
-      /**
-       * string after_column_name = 2;
-       * @return The bytes for afterColumnName.
-       */
-      com.google.protobuf.ByteString
-          getAfterColumnNameBytes();
+    public static final int LOCATION_FIELD_NUMBER = 3;
+    private io.greptime.v1.Ddl.AddColumnLocation location_;
+    /**
+     * .greptime.v1.AddColumnLocation location = 3;
+     * @return Whether the location field is set.
+     */
+    @java.lang.Override
+    public boolean hasLocation() {
+      return location_ != null;
     }
     /**
-     * Protobuf type {@code greptime.v1.AddColumn.Location}
+     * .greptime.v1.AddColumnLocation location = 3;
+     * @return The location.
      */
-    public static final class Location extends
-        com.google.protobuf.GeneratedMessageV3 implements
-        // @@protoc_insertion_point(message_implements:greptime.v1.AddColumn.Location)
-        LocationOrBuilder {
-    private static final long serialVersionUID = 0L;
-      // Use Location.newBuilder() to construct.
-      private Location(com.google.protobuf.GeneratedMessageV3.Builder builder) {
-        super(builder);
+    @java.lang.Override
+    public io.greptime.v1.Ddl.AddColumnLocation getLocation() {
+      return location_ == null ? io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
+    }
+    /**
+     * .greptime.v1.AddColumnLocation location = 3;
+     */
+    @java.lang.Override
+    public io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder() {
+      return getLocation();
+    }
+
+    private byte memoizedIsInitialized = -1;
+    @java.lang.Override
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized == 1) return true;
+      if (isInitialized == 0) return false;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    @java.lang.Override
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (columnDef_ != null) {
+        output.writeMessage(1, getColumnDef());
       }
-      private Location() {
-        locationType_ = 0;
-        afterColumnName_ = "";
+      if (isKey_ != false) {
+        output.writeBool(2, isKey_);
+      }
+      if (location_ != null) {
+        output.writeMessage(3, getLocation());
       }
+      unknownFields.writeTo(output);
+    }
 
-      @java.lang.Override
-      @SuppressWarnings({"unused"})
-      protected java.lang.Object newInstance(
-          UnusedPrivateParameter unused) {
-        return new Location();
+    @java.lang.Override
+    public int getSerializedSize() {
+      int size = memoizedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (columnDef_ != null) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, getColumnDef());
+      }
+      if (isKey_ != false) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(2, isKey_);
+      }
+      if (location_ != null) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(3, getLocation());
+      }
+      size += unknownFields.getSerializedSize();
+      memoizedSize = size;
+      return size;
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof io.greptime.v1.Ddl.AddColumn)) {
+        return super.equals(obj);
+      }
+      io.greptime.v1.Ddl.AddColumn other = (io.greptime.v1.Ddl.AddColumn) obj;
+
+      if (hasColumnDef() != other.hasColumnDef()) return false;
+      if (hasColumnDef()) {
+        if (!getColumnDef()
+            .equals(other.getColumnDef())) return false;
+      }
+      if (getIsKey()
+          != other.getIsKey()) return false;
+      if (hasLocation() != other.hasLocation()) return false;
+      if (hasLocation()) {
+        if (!getLocation()
+            .equals(other.getLocation())) return false;
+      }
+      if (!unknownFields.equals(other.unknownFields)) return false;
+      return true;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptor().hashCode();
+      if (hasColumnDef()) {
+        hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER;
+        hash = (53 * hash) + getColumnDef().hashCode();
+      }
+      hash = (37 * hash) + IS_KEY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getIsKey());
+      if (hasLocation()) {
+        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
+        hash = (53 * hash) + getLocation().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
+    }
+    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
+    }
+
+    @java.lang.Override
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder() {
+      return DEFAULT_INSTANCE.toBuilder();
+    }
+    public static Builder newBuilder(io.greptime.v1.Ddl.AddColumn prototype) {
+      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+    }
+    @java.lang.Override
+    public Builder toBuilder() {
+      return this == DEFAULT_INSTANCE
+          ? new Builder() : new Builder().mergeFrom(this);
+    }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code greptime.v1.AddColumn}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:greptime.v1.AddColumn)
+        io.greptime.v1.Ddl.AddColumnOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_descriptor;
       }
 
       @java.lang.Override
-      public final com.google.protobuf.UnknownFieldSet
-      getUnknownFields() {
-        return this.unknownFields;
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                io.greptime.v1.Ddl.AddColumn.class, io.greptime.v1.Ddl.AddColumn.Builder.class);
       }
-      private Location(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        this();
-        if (extensionRegistry == null) {
-          throw new java.lang.NullPointerException();
-        }
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder();
-        try {
-          boolean done = false;
-          while (!done) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                done = true;
-                break;
-              case 8: {
-                int rawValue = input.readEnum();
 
-                locationType_ = rawValue;
-                break;
-              }
-              case 18: {
-                java.lang.String s = input.readStringRequireUtf8();
+      // Construct using io.greptime.v1.Ddl.AddColumn.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
 
-                afterColumnName_ = s;
-                break;
-              }
-              default: {
-                if (!parseUnknownField(
-                    input, unknownFields, extensionRegistry, tag)) {
-                  done = true;
-                }
-                break;
-              }
-            }
-          }
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(this);
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(
-              e).setUnfinishedMessage(this);
-        } finally {
-          this.unknownFields = unknownFields.build();
-          makeExtensionsImmutable();
+      private Builder(
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
+        }
+      }
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        if (columnDefBuilder_ == null) {
+          columnDef_ = null;
+        } else {
+          columnDef_ = null;
+          columnDefBuilder_ = null;
+        }
+        isKey_ = false;
+
+        if (locationBuilder_ == null) {
+          location_ = null;
+        } else {
+          location_ = null;
+          locationBuilder_ = null;
         }
-      }
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_Location_descriptor;
+        return this;
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_Location_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                io.greptime.v1.Ddl.AddColumn.Location.class, io.greptime.v1.Ddl.AddColumn.Location.Builder.class);
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_descriptor;
       }
 
-      /**
-       * Protobuf enum {@code greptime.v1.AddColumn.Location.LocationType}
-       */
-      public enum LocationType
-          implements com.google.protobuf.ProtocolMessageEnum {
-        /**
-         * FIRST = 0;
-         */
-        FIRST(0),
-        /**
-         * AFTER = 1;
-         */
-        AFTER(1),
-        UNRECOGNIZED(-1),
-        ;
-
-        /**
-         * FIRST = 0;
-         */
-        public static final int FIRST_VALUE = 0;
-        /**
-         * AFTER = 1;
-         */
-        public static final int AFTER_VALUE = 1;
-
+      @java.lang.Override
+      public io.greptime.v1.Ddl.AddColumn getDefaultInstanceForType() {
+        return io.greptime.v1.Ddl.AddColumn.getDefaultInstance();
+      }
 
-        public final int getNumber() {
-          if (this == UNRECOGNIZED) {
-            throw new java.lang.IllegalArgumentException(
-                "Can't get the number of an unknown enum value.");
-          }
-          return value;
+      @java.lang.Override
+      public io.greptime.v1.Ddl.AddColumn build() {
+        io.greptime.v1.Ddl.AddColumn result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
         }
+        return result;
+      }
 
-        /**
-         * @param value The numeric wire value of the corresponding enum entry.
-         * @return The enum associated with the given numeric wire value.
-         * @deprecated Use {@link #forNumber(int)} instead.
-         */
-        @java.lang.Deprecated
-        public static LocationType valueOf(int value) {
-          return forNumber(value);
+      @java.lang.Override
+      public io.greptime.v1.Ddl.AddColumn buildPartial() {
+        io.greptime.v1.Ddl.AddColumn result = new io.greptime.v1.Ddl.AddColumn(this);
+        if (columnDefBuilder_ == null) {
+          result.columnDef_ = columnDef_;
+        } else {
+          result.columnDef_ = columnDefBuilder_.build();
         }
-
-        /**
-         * @param value The numeric wire value of the corresponding enum entry.
-         * @return The enum associated with the given numeric wire value.
-         */
-        public static LocationType forNumber(int value) {
-          switch (value) {
-            case 0: return FIRST;
-            case 1: return AFTER;
-            default: return null;
-          }
+        result.isKey_ = isKey_;
+        if (locationBuilder_ == null) {
+          result.location_ = location_;
+        } else {
+          result.location_ = locationBuilder_.build();
         }
+        onBuilt();
+        return result;
+      }
 
-        public static com.google.protobuf.Internal.EnumLiteMap
-            internalGetValueMap() {
-          return internalValueMap;
+      @java.lang.Override
+      public Builder clone() {
+        return super.clone();
+      }
+      @java.lang.Override
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.setField(field, value);
+      }
+      @java.lang.Override
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return super.clearField(field);
+      }
+      @java.lang.Override
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return super.clearOneof(oneof);
+      }
+      @java.lang.Override
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
+        return super.setRepeatedField(field, index, value);
+      }
+      @java.lang.Override
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
+        return super.addRepeatedField(field, value);
+      }
+      @java.lang.Override
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof io.greptime.v1.Ddl.AddColumn) {
+          return mergeFrom((io.greptime.v1.Ddl.AddColumn)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
         }
-        private static final com.google.protobuf.Internal.EnumLiteMap<
-            LocationType> internalValueMap =
-              new com.google.protobuf.Internal.EnumLiteMap() {
-                public LocationType findValueByNumber(int number) {
-                  return LocationType.forNumber(number);
-                }
-              };
+      }
 
-        public final com.google.protobuf.Descriptors.EnumValueDescriptor
-            getValueDescriptor() {
-          if (this == UNRECOGNIZED) {
-            throw new java.lang.IllegalStateException(
-                "Can't get the descriptor of an unrecognized enum value.");
-          }
-          return getDescriptor().getValues().get(ordinal());
+      public Builder mergeFrom(io.greptime.v1.Ddl.AddColumn other) {
+        if (other == io.greptime.v1.Ddl.AddColumn.getDefaultInstance()) return this;
+        if (other.hasColumnDef()) {
+          mergeColumnDef(other.getColumnDef());
         }
-        public final com.google.protobuf.Descriptors.EnumDescriptor
-            getDescriptorForType() {
-          return getDescriptor();
+        if (other.getIsKey() != false) {
+          setIsKey(other.getIsKey());
         }
-        public static final com.google.protobuf.Descriptors.EnumDescriptor
-            getDescriptor() {
-          return io.greptime.v1.Ddl.AddColumn.Location.getDescriptor().getEnumTypes().get(0);
+        if (other.hasLocation()) {
+          mergeLocation(other.getLocation());
         }
+        this.mergeUnknownFields(other.unknownFields);
+        onChanged();
+        return this;
+      }
 
-        private static final LocationType[] VALUES = values();
+      @java.lang.Override
+      public final boolean isInitialized() {
+        return true;
+      }
 
-        public static LocationType valueOf(
-            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-          if (desc.getType() != getDescriptor()) {
-            throw new java.lang.IllegalArgumentException(
-              "EnumValueDescriptor is not for this type.");
-          }
-          if (desc.getIndex() == -1) {
-            return UNRECOGNIZED;
+      @java.lang.Override
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        io.greptime.v1.Ddl.AddColumn parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (io.greptime.v1.Ddl.AddColumn) e.getUnfinishedMessage();
+          throw e.unwrapIOException();
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
           }
-          return VALUES[desc.getIndex()];
-        }
-
-        private final int value;
-
-        private LocationType(int value) {
-          this.value = value;
         }
-
-        // @@protoc_insertion_point(enum_scope:greptime.v1.AddColumn.Location.LocationType)
+        return this;
       }
 
-      public static final int LOCATION_TYPE_FIELD_NUMBER = 1;
-      private int locationType_;
-      /**
-       * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-       * @return The enum numeric value on the wire for locationType.
-       */
-      @java.lang.Override public int getLocationTypeValue() {
-        return locationType_;
-      }
+      private io.greptime.v1.Common.ColumnDef columnDef_;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> columnDefBuilder_;
       /**
-       * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-       * @return The locationType.
+       * .greptime.v1.ColumnDef column_def = 1;
+       * @return Whether the columnDef field is set.
        */
-      @java.lang.Override public io.greptime.v1.Ddl.AddColumn.Location.LocationType getLocationType() {
-        @SuppressWarnings("deprecation")
-        io.greptime.v1.Ddl.AddColumn.Location.LocationType result = io.greptime.v1.Ddl.AddColumn.Location.LocationType.valueOf(locationType_);
-        return result == null ? io.greptime.v1.Ddl.AddColumn.Location.LocationType.UNRECOGNIZED : result;
+      public boolean hasColumnDef() {
+        return columnDefBuilder_ != null || columnDef_ != null;
       }
-
-      public static final int AFTER_COLUMN_NAME_FIELD_NUMBER = 2;
-      private volatile java.lang.Object afterColumnName_;
       /**
-       * string after_column_name = 2;
-       * @return The afterColumnName.
+       * .greptime.v1.ColumnDef column_def = 1;
+       * @return The columnDef.
        */
-      @java.lang.Override
-      public java.lang.String getAfterColumnName() {
-        java.lang.Object ref = afterColumnName_;
-        if (ref instanceof java.lang.String) {
-          return (java.lang.String) ref;
+      public io.greptime.v1.Common.ColumnDef getColumnDef() {
+        if (columnDefBuilder_ == null) {
+          return columnDef_ == null ? io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_;
         } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          afterColumnName_ = s;
-          return s;
+          return columnDefBuilder_.getMessage();
         }
       }
       /**
-       * string after_column_name = 2;
-       * @return The bytes for afterColumnName.
+       * .greptime.v1.ColumnDef column_def = 1;
        */
-      @java.lang.Override
-      public com.google.protobuf.ByteString
-          getAfterColumnNameBytes() {
-        java.lang.Object ref = afterColumnName_;
-        if (ref instanceof java.lang.String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          afterColumnName_ = b;
-          return b;
+      public Builder setColumnDef(io.greptime.v1.Common.ColumnDef value) {
+        if (columnDefBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          columnDef_ = value;
+          onChanged();
         } else {
-          return (com.google.protobuf.ByteString) ref;
+          columnDefBuilder_.setMessage(value);
         }
-      }
-
-      private byte memoizedIsInitialized = -1;
-      @java.lang.Override
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
 
-        memoizedIsInitialized = 1;
-        return true;
+        return this;
       }
-
-      @java.lang.Override
-      public void writeTo(com.google.protobuf.CodedOutputStream output)
-                          throws java.io.IOException {
-        if (locationType_ != io.greptime.v1.Ddl.AddColumn.Location.LocationType.FIRST.getNumber()) {
-          output.writeEnum(1, locationType_);
-        }
-        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
-          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, afterColumnName_);
+      /**
+       * .greptime.v1.ColumnDef column_def = 1;
+       */
+      public Builder setColumnDef(
+          io.greptime.v1.Common.ColumnDef.Builder builderForValue) {
+        if (columnDefBuilder_ == null) {
+          columnDef_ = builderForValue.build();
+          onChanged();
+        } else {
+          columnDefBuilder_.setMessage(builderForValue.build());
         }
-        unknownFields.writeTo(output);
-      }
-
-      @java.lang.Override
-      public int getSerializedSize() {
-        int size = memoizedSize;
-        if (size != -1) return size;
 
-        size = 0;
-        if (locationType_ != io.greptime.v1.Ddl.AddColumn.Location.LocationType.FIRST.getNumber()) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeEnumSize(1, locationType_);
-        }
-        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
-          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, afterColumnName_);
-        }
-        size += unknownFields.getSerializedSize();
-        memoizedSize = size;
-        return size;
+        return this;
       }
-
-      @java.lang.Override
-      public boolean equals(final java.lang.Object obj) {
-        if (obj == this) {
-         return true;
-        }
-        if (!(obj instanceof io.greptime.v1.Ddl.AddColumn.Location)) {
-          return super.equals(obj);
+      /**
+       * .greptime.v1.ColumnDef column_def = 1;
+       */
+      public Builder mergeColumnDef(io.greptime.v1.Common.ColumnDef value) {
+        if (columnDefBuilder_ == null) {
+          if (columnDef_ != null) {
+            columnDef_ =
+              io.greptime.v1.Common.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial();
+          } else {
+            columnDef_ = value;
+          }
+          onChanged();
+        } else {
+          columnDefBuilder_.mergeFrom(value);
         }
-        io.greptime.v1.Ddl.AddColumn.Location other = (io.greptime.v1.Ddl.AddColumn.Location) obj;
 
-        if (locationType_ != other.locationType_) return false;
-        if (!getAfterColumnName()
-            .equals(other.getAfterColumnName())) return false;
-        if (!unknownFields.equals(other.unknownFields)) return false;
-        return true;
+        return this;
       }
-
-      @java.lang.Override
-      public int hashCode() {
-        if (memoizedHashCode != 0) {
-          return memoizedHashCode;
+      /**
+       * .greptime.v1.ColumnDef column_def = 1;
+       */
+      public Builder clearColumnDef() {
+        if (columnDefBuilder_ == null) {
+          columnDef_ = null;
+          onChanged();
+        } else {
+          columnDef_ = null;
+          columnDefBuilder_ = null;
         }
-        int hash = 41;
-        hash = (19 * hash) + getDescriptor().hashCode();
-        hash = (37 * hash) + LOCATION_TYPE_FIELD_NUMBER;
-        hash = (53 * hash) + locationType_;
-        hash = (37 * hash) + AFTER_COLUMN_NAME_FIELD_NUMBER;
-        hash = (53 * hash) + getAfterColumnName().hashCode();
-        hash = (29 * hash) + unknownFields.hashCode();
-        memoizedHashCode = hash;
-        return hash;
-      }
 
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          java.nio.ByteBuffer data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          java.nio.ByteBuffer data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input, extensionRegistry);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseDelimitedWithIOException(PARSER, input);
-      }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+        return this;
       }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input);
+      /**
+       * .greptime.v1.ColumnDef column_def = 1;
+       */
+      public io.greptime.v1.Common.ColumnDef.Builder getColumnDefBuilder() {
+        
+        onChanged();
+        return getColumnDefFieldBuilder().getBuilder();
       }
-      public static io.greptime.v1.Ddl.AddColumn.Location parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input, extensionRegistry);
+      /**
+       * .greptime.v1.ColumnDef column_def = 1;
+       */
+      public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() {
+        if (columnDefBuilder_ != null) {
+          return columnDefBuilder_.getMessageOrBuilder();
+        } else {
+          return columnDef_ == null ?
+              io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_;
+        }
+      }
+      /**
+       * .greptime.v1.ColumnDef column_def = 1;
+       */
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> 
+          getColumnDefFieldBuilder() {
+        if (columnDefBuilder_ == null) {
+          columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+              io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder>(
+                  getColumnDef(),
+                  getParentForChildren(),
+                  isClean());
+          columnDef_ = null;
+        }
+        return columnDefBuilder_;
       }
 
+      private boolean isKey_ ;
+      /**
+       * bool is_key = 2;
+       * @return The isKey.
+       */
       @java.lang.Override
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder() {
-        return DEFAULT_INSTANCE.toBuilder();
+      public boolean getIsKey() {
+        return isKey_;
       }
-      public static Builder newBuilder(io.greptime.v1.Ddl.AddColumn.Location prototype) {
-        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+      /**
+       * bool is_key = 2;
+       * @param value The isKey to set.
+       * @return This builder for chaining.
+       */
+      public Builder setIsKey(boolean value) {
+        
+        isKey_ = value;
+        onChanged();
+        return this;
       }
-      @java.lang.Override
-      public Builder toBuilder() {
-        return this == DEFAULT_INSTANCE
-            ? new Builder() : new Builder().mergeFrom(this);
+      /**
+       * bool is_key = 2;
+       * @return This builder for chaining.
+       */
+      public Builder clearIsKey() {
+        
+        isKey_ = false;
+        onChanged();
+        return this;
       }
 
-      @java.lang.Override
-      protected Builder newBuilderForType(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
+      private io.greptime.v1.Ddl.AddColumnLocation location_;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> locationBuilder_;
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       * @return Whether the location field is set.
+       */
+      public boolean hasLocation() {
+        return locationBuilder_ != null || location_ != null;
       }
       /**
-       * Protobuf type {@code greptime.v1.AddColumn.Location}
+       * .greptime.v1.AddColumnLocation location = 3;
+       * @return The location.
        */
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessageV3.Builder implements
-          // @@protoc_insertion_point(builder_implements:greptime.v1.AddColumn.Location)
-          io.greptime.v1.Ddl.AddColumn.LocationOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_Location_descriptor;
-        }
-
-        @java.lang.Override
-        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_Location_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                  io.greptime.v1.Ddl.AddColumn.Location.class, io.greptime.v1.Ddl.AddColumn.Location.Builder.class);
-        }
-
-        // Construct using io.greptime.v1.Ddl.AddColumn.Location.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-
-        private Builder(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessageV3
-                  .alwaysUseFieldBuilders) {
-          }
-        }
-        @java.lang.Override
-        public Builder clear() {
-          super.clear();
-          locationType_ = 0;
-
-          afterColumnName_ = "";
-
-          return this;
-        }
-
-        @java.lang.Override
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_Location_descriptor;
-        }
-
-        @java.lang.Override
-        public io.greptime.v1.Ddl.AddColumn.Location getDefaultInstanceForType() {
-          return io.greptime.v1.Ddl.AddColumn.Location.getDefaultInstance();
-        }
-
-        @java.lang.Override
-        public io.greptime.v1.Ddl.AddColumn.Location build() {
-          io.greptime.v1.Ddl.AddColumn.Location result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-
-        @java.lang.Override
-        public io.greptime.v1.Ddl.AddColumn.Location buildPartial() {
-          io.greptime.v1.Ddl.AddColumn.Location result = new io.greptime.v1.Ddl.AddColumn.Location(this);
-          result.locationType_ = locationType_;
-          result.afterColumnName_ = afterColumnName_;
-          onBuilt();
-          return result;
-        }
-
-        @java.lang.Override
-        public Builder clone() {
-          return super.clone();
-        }
-        @java.lang.Override
-        public Builder setField(
-            com.google.protobuf.Descriptors.FieldDescriptor field,
-            java.lang.Object value) {
-          return super.setField(field, value);
-        }
-        @java.lang.Override
-        public Builder clearField(
-            com.google.protobuf.Descriptors.FieldDescriptor field) {
-          return super.clearField(field);
-        }
-        @java.lang.Override
-        public Builder clearOneof(
-            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-          return super.clearOneof(oneof);
-        }
-        @java.lang.Override
-        public Builder setRepeatedField(
-            com.google.protobuf.Descriptors.FieldDescriptor field,
-            int index, java.lang.Object value) {
-          return super.setRepeatedField(field, index, value);
-        }
-        @java.lang.Override
-        public Builder addRepeatedField(
-            com.google.protobuf.Descriptors.FieldDescriptor field,
-            java.lang.Object value) {
-          return super.addRepeatedField(field, value);
-        }
-        @java.lang.Override
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof io.greptime.v1.Ddl.AddColumn.Location) {
-            return mergeFrom((io.greptime.v1.Ddl.AddColumn.Location)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-
-        public Builder mergeFrom(io.greptime.v1.Ddl.AddColumn.Location other) {
-          if (other == io.greptime.v1.Ddl.AddColumn.Location.getDefaultInstance()) return this;
-          if (other.locationType_ != 0) {
-            setLocationTypeValue(other.getLocationTypeValue());
-          }
-          if (!other.getAfterColumnName().isEmpty()) {
-            afterColumnName_ = other.afterColumnName_;
-            onChanged();
-          }
-          this.mergeUnknownFields(other.unknownFields);
-          onChanged();
-          return this;
-        }
-
-        @java.lang.Override
-        public final boolean isInitialized() {
-          return true;
-        }
-
-        @java.lang.Override
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          io.greptime.v1.Ddl.AddColumn.Location parsedMessage = null;
-          try {
-            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-            parsedMessage = (io.greptime.v1.Ddl.AddColumn.Location) e.getUnfinishedMessage();
-            throw e.unwrapIOException();
-          } finally {
-            if (parsedMessage != null) {
-              mergeFrom(parsedMessage);
-            }
-          }
-          return this;
-        }
-
-        private int locationType_ = 0;
-        /**
-         * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-         * @return The enum numeric value on the wire for locationType.
-         */
-        @java.lang.Override public int getLocationTypeValue() {
-          return locationType_;
-        }
-        /**
-         * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-         * @param value The enum numeric value on the wire for locationType to set.
-         * @return This builder for chaining.
-         */
-        public Builder setLocationTypeValue(int value) {
-          
-          locationType_ = value;
-          onChanged();
-          return this;
+      public io.greptime.v1.Ddl.AddColumnLocation getLocation() {
+        if (locationBuilder_ == null) {
+          return location_ == null ? io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
+        } else {
+          return locationBuilder_.getMessage();
         }
-        /**
-         * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-         * @return The locationType.
-         */
-        @java.lang.Override
-        public io.greptime.v1.Ddl.AddColumn.Location.LocationType getLocationType() {
-          @SuppressWarnings("deprecation")
-          io.greptime.v1.Ddl.AddColumn.Location.LocationType result = io.greptime.v1.Ddl.AddColumn.Location.LocationType.valueOf(locationType_);
-          return result == null ? io.greptime.v1.Ddl.AddColumn.Location.LocationType.UNRECOGNIZED : result;
-        }
-        /**
-         * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-         * @param value The locationType to set.
-         * @return This builder for chaining.
-         */
-        public Builder setLocationType(io.greptime.v1.Ddl.AddColumn.Location.LocationType value) {
+      }
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      public Builder setLocation(io.greptime.v1.Ddl.AddColumnLocation value) {
+        if (locationBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
           }
-          
-          locationType_ = value.getNumber();
+          location_ = value;
           onChanged();
-          return this;
+        } else {
+          locationBuilder_.setMessage(value);
         }
-        /**
-         * .greptime.v1.AddColumn.Location.LocationType location_type = 1;
-         * @return This builder for chaining.
-         */
-        public Builder clearLocationType() {
-          
-          locationType_ = 0;
+
+        return this;
+      }
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      public Builder setLocation(
+          io.greptime.v1.Ddl.AddColumnLocation.Builder builderForValue) {
+        if (locationBuilder_ == null) {
+          location_ = builderForValue.build();
           onChanged();
-          return this;
+        } else {
+          locationBuilder_.setMessage(builderForValue.build());
         }
 
-        private java.lang.Object afterColumnName_ = "";
-        /**
-         * string after_column_name = 2;
-         * @return The afterColumnName.
-         */
-        public java.lang.String getAfterColumnName() {
-          java.lang.Object ref = afterColumnName_;
-          if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            afterColumnName_ = s;
-            return s;
-          } else {
-            return (java.lang.String) ref;
-          }
-        }
-        /**
-         * string after_column_name = 2;
-         * @return The bytes for afterColumnName.
-         */
-        public com.google.protobuf.ByteString
-            getAfterColumnNameBytes() {
-          java.lang.Object ref = afterColumnName_;
-          if (ref instanceof String) {
-            com.google.protobuf.ByteString b = 
-                com.google.protobuf.ByteString.copyFromUtf8(
-                    (java.lang.String) ref);
-            afterColumnName_ = b;
-            return b;
+        return this;
+      }
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      public Builder mergeLocation(io.greptime.v1.Ddl.AddColumnLocation value) {
+        if (locationBuilder_ == null) {
+          if (location_ != null) {
+            location_ =
+              io.greptime.v1.Ddl.AddColumnLocation.newBuilder(location_).mergeFrom(value).buildPartial();
           } else {
-            return (com.google.protobuf.ByteString) ref;
+            location_ = value;
           }
-        }
-        /**
-         * string after_column_name = 2;
-         * @param value The afterColumnName to set.
-         * @return This builder for chaining.
-         */
-        public Builder setAfterColumnName(
-            java.lang.String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  
-          afterColumnName_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * string after_column_name = 2;
-         * @return This builder for chaining.
-         */
-        public Builder clearAfterColumnName() {
-          
-          afterColumnName_ = getDefaultInstance().getAfterColumnName();
-          onChanged();
-          return this;
-        }
-        /**
-         * string after_column_name = 2;
-         * @param value The bytes for afterColumnName to set.
-         * @return This builder for chaining.
-         */
-        public Builder setAfterColumnNameBytes(
-            com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-          
-          afterColumnName_ = value;
           onChanged();
-          return this;
-        }
-        @java.lang.Override
-        public final Builder setUnknownFields(
-            final com.google.protobuf.UnknownFieldSet unknownFields) {
-          return super.setUnknownFields(unknownFields);
+        } else {
+          locationBuilder_.mergeFrom(value);
         }
 
-        @java.lang.Override
-        public final Builder mergeUnknownFields(
-            final com.google.protobuf.UnknownFieldSet unknownFields) {
-          return super.mergeUnknownFields(unknownFields);
+        return this;
+      }
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      public Builder clearLocation() {
+        if (locationBuilder_ == null) {
+          location_ = null;
+          onChanged();
+        } else {
+          location_ = null;
+          locationBuilder_ = null;
         }
 
-
-        // @@protoc_insertion_point(builder_scope:greptime.v1.AddColumn.Location)
+        return this;
       }
-
-      // @@protoc_insertion_point(class_scope:greptime.v1.AddColumn.Location)
-      private static final io.greptime.v1.Ddl.AddColumn.Location DEFAULT_INSTANCE;
-      static {
-        DEFAULT_INSTANCE = new io.greptime.v1.Ddl.AddColumn.Location();
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      public io.greptime.v1.Ddl.AddColumnLocation.Builder getLocationBuilder() {
+        
+        onChanged();
+        return getLocationFieldBuilder().getBuilder();
       }
-
-      public static io.greptime.v1.Ddl.AddColumn.Location getDefaultInstance() {
-        return DEFAULT_INSTANCE;
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      public io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder() {
+        if (locationBuilder_ != null) {
+          return locationBuilder_.getMessageOrBuilder();
+        } else {
+          return location_ == null ?
+              io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
+        }
       }
-
-      private static final com.google.protobuf.Parser
-          PARSER = new com.google.protobuf.AbstractParser() {
-        @java.lang.Override
-        public Location parsePartialFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          return new Location(input, extensionRegistry);
+      /**
+       * .greptime.v1.AddColumnLocation location = 3;
+       */
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> 
+          getLocationFieldBuilder() {
+        if (locationBuilder_ == null) {
+          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+              io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder>(
+                  getLocation(),
+                  getParentForChildren(),
+                  isClean());
+          location_ = null;
         }
-      };
-
-      public static com.google.protobuf.Parser parser() {
-        return PARSER;
+        return locationBuilder_;
+      }
+      @java.lang.Override
+      public final Builder setUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.setUnknownFields(unknownFields);
       }
 
       @java.lang.Override
-      public com.google.protobuf.Parser getParserForType() {
-        return PARSER;
+      public final Builder mergeUnknownFields(
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
+        return super.mergeUnknownFields(unknownFields);
       }
 
+
+      // @@protoc_insertion_point(builder_scope:greptime.v1.AddColumn)
+    }
+
+    // @@protoc_insertion_point(class_scope:greptime.v1.AddColumn)
+    private static final io.greptime.v1.Ddl.AddColumn DEFAULT_INSTANCE;
+    static {
+      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.AddColumn();
+    }
+
+    public static io.greptime.v1.Ddl.AddColumn getDefaultInstance() {
+      return DEFAULT_INSTANCE;
+    }
+
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
-      public io.greptime.v1.Ddl.AddColumn.Location getDefaultInstanceForType() {
-        return DEFAULT_INSTANCE;
+      public AddColumn parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new AddColumn(input, extensionRegistry);
       }
+    };
+
+    public static com.google.protobuf.Parser parser() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.Parser getParserForType() {
+      return PARSER;
+    }
+
+    @java.lang.Override
+    public io.greptime.v1.Ddl.AddColumn getDefaultInstanceForType() {
+      return DEFAULT_INSTANCE;
+    }
+
+  }
 
-    }
+  public interface DropColumnOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.DropColumn)
+      com.google.protobuf.MessageOrBuilder {
 
-    public static final int COLUMN_DEF_FIELD_NUMBER = 1;
-    private io.greptime.v1.Common.ColumnDef columnDef_;
     /**
-     * .greptime.v1.ColumnDef column_def = 1;
-     * @return Whether the columnDef field is set.
+     * string name = 1;
+     * @return The name.
      */
-    @java.lang.Override
-    public boolean hasColumnDef() {
-      return columnDef_ != null;
-    }
+    java.lang.String getName();
     /**
-     * .greptime.v1.ColumnDef column_def = 1;
-     * @return The columnDef.
+     * string name = 1;
+     * @return The bytes for name.
      */
-    @java.lang.Override
-    public io.greptime.v1.Common.ColumnDef getColumnDef() {
-      return columnDef_ == null ? io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_;
+    com.google.protobuf.ByteString
+        getNameBytes();
+  }
+  /**
+   * Protobuf type {@code greptime.v1.DropColumn}
+   */
+  public static final class DropColumn extends
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:greptime.v1.DropColumn)
+      DropColumnOrBuilder {
+  private static final long serialVersionUID = 0L;
+    // Use DropColumn.newBuilder() to construct.
+    private DropColumn(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+      super(builder);
     }
-    /**
-     * .greptime.v1.ColumnDef column_def = 1;
-     */
+    private DropColumn() {
+      name_ = "";
+    }
+
     @java.lang.Override
-    public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() {
-      return getColumnDef();
+    @SuppressWarnings({"unused"})
+    protected java.lang.Object newInstance(
+        UnusedPrivateParameter unused) {
+      return new DropColumn();
     }
 
-    public static final int IS_KEY_FIELD_NUMBER = 2;
-    private boolean isKey_;
-    /**
-     * bool is_key = 2;
-     * @return The isKey.
-     */
     @java.lang.Override
-    public boolean getIsKey() {
-      return isKey_;
+    public final com.google.protobuf.UnknownFieldSet
+    getUnknownFields() {
+      return this.unknownFields;
+    }
+    private DropColumn(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 10: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              name_ = s;
+              break;
+            }
+            default: {
+              if (!parseUnknownField(
+                  input, unknownFields, extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_descriptor;
     }
 
-    public static final int LOCATION_FIELD_NUMBER = 3;
-    private io.greptime.v1.Ddl.AddColumn.Location location_;
-    /**
-     * .greptime.v1.AddColumn.Location location = 3;
-     * @return Whether the location field is set.
-     */
     @java.lang.Override
-    public boolean hasLocation() {
-      return location_ != null;
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              io.greptime.v1.Ddl.DropColumn.class, io.greptime.v1.Ddl.DropColumn.Builder.class);
     }
+
+    public static final int NAME_FIELD_NUMBER = 1;
+    private volatile java.lang.Object name_;
     /**
-     * .greptime.v1.AddColumn.Location location = 3;
-     * @return The location.
+     * string name = 1;
+     * @return The name.
      */
     @java.lang.Override
-    public io.greptime.v1.Ddl.AddColumn.Location getLocation() {
-      return location_ == null ? io.greptime.v1.Ddl.AddColumn.Location.getDefaultInstance() : location_;
+    public java.lang.String getName() {
+      java.lang.Object ref = name_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        name_ = s;
+        return s;
+      }
     }
     /**
-     * .greptime.v1.AddColumn.Location location = 3;
+     * string name = 1;
+     * @return The bytes for name.
      */
     @java.lang.Override
-    public io.greptime.v1.Ddl.AddColumn.LocationOrBuilder getLocationOrBuilder() {
-      return getLocation();
+    public com.google.protobuf.ByteString
+        getNameBytes() {
+      java.lang.Object ref = name_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        name_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
     }
 
     private byte memoizedIsInitialized = -1;
@@ -12580,14 +12619,8 @@ public final boolean isInitialized() {
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (columnDef_ != null) {
-        output.writeMessage(1, getColumnDef());
-      }
-      if (isKey_ != false) {
-        output.writeBool(2, isKey_);
-      }
-      if (location_ != null) {
-        output.writeMessage(3, getLocation());
+      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
       }
       unknownFields.writeTo(output);
     }
@@ -12598,17 +12631,8 @@ public int getSerializedSize() {
       if (size != -1) return size;
 
       size = 0;
-      if (columnDef_ != null) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, getColumnDef());
-      }
-      if (isKey_ != false) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(2, isKey_);
-      }
-      if (location_ != null) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(3, getLocation());
+      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -12620,23 +12644,13 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.greptime.v1.Ddl.AddColumn)) {
+      if (!(obj instanceof io.greptime.v1.Ddl.DropColumn)) {
         return super.equals(obj);
       }
-      io.greptime.v1.Ddl.AddColumn other = (io.greptime.v1.Ddl.AddColumn) obj;
+      io.greptime.v1.Ddl.DropColumn other = (io.greptime.v1.Ddl.DropColumn) obj;
 
-      if (hasColumnDef() != other.hasColumnDef()) return false;
-      if (hasColumnDef()) {
-        if (!getColumnDef()
-            .equals(other.getColumnDef())) return false;
-      }
-      if (getIsKey()
-          != other.getIsKey()) return false;
-      if (hasLocation() != other.hasLocation()) return false;
-      if (hasLocation()) {
-        if (!getLocation()
-            .equals(other.getLocation())) return false;
-      }
+      if (!getName()
+          .equals(other.getName())) return false;
       if (!unknownFields.equals(other.unknownFields)) return false;
       return true;
     }
@@ -12648,85 +12662,76 @@ public int hashCode() {
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      if (hasColumnDef()) {
-        hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER;
-        hash = (53 * hash) + getColumnDef().hashCode();
-      }
-      hash = (37 * hash) + IS_KEY_FIELD_NUMBER;
-      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
-          getIsKey());
-      if (hasLocation()) {
-        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
-        hash = (53 * hash) + getLocation().hashCode();
-      }
+      hash = (37 * hash) + NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getName().hashCode();
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
       return hash;
     }
 
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(byte[] data)
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(java.io.InputStream input)
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseDelimitedFrom(java.io.InputStream input)
+    public static io.greptime.v1.Ddl.DropColumn parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseDelimitedFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.AddColumn parseFrom(
+    public static io.greptime.v1.Ddl.DropColumn parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -12739,7 +12744,7 @@ public static io.greptime.v1.Ddl.AddColumn parseFrom(
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.greptime.v1.Ddl.AddColumn prototype) {
+    public static Builder newBuilder(io.greptime.v1.Ddl.DropColumn prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -12755,26 +12760,26 @@ protected Builder newBuilderForType(
       return builder;
     }
     /**
-     * Protobuf type {@code greptime.v1.AddColumn}
+     * Protobuf type {@code greptime.v1.DropColumn}
      */
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
-        // @@protoc_insertion_point(builder_implements:greptime.v1.AddColumn)
-        io.greptime.v1.Ddl.AddColumnOrBuilder {
+        // @@protoc_insertion_point(builder_implements:greptime.v1.DropColumn)
+        io.greptime.v1.Ddl.DropColumnOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_descriptor;
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_fieldAccessorTable
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.greptime.v1.Ddl.AddColumn.class, io.greptime.v1.Ddl.AddColumn.Builder.class);
+                io.greptime.v1.Ddl.DropColumn.class, io.greptime.v1.Ddl.DropColumn.Builder.class);
       }
 
-      // Construct using io.greptime.v1.Ddl.AddColumn.newBuilder()
+      // Construct using io.greptime.v1.Ddl.DropColumn.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -12788,41 +12793,29 @@ private void maybeForceBuilderInitialization() {
         if (com.google.protobuf.GeneratedMessageV3
                 .alwaysUseFieldBuilders) {
         }
-      }
-      @java.lang.Override
-      public Builder clear() {
-        super.clear();
-        if (columnDefBuilder_ == null) {
-          columnDef_ = null;
-        } else {
-          columnDef_ = null;
-          columnDefBuilder_ = null;
-        }
-        isKey_ = false;
+      }
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        name_ = "";
 
-        if (locationBuilder_ == null) {
-          location_ = null;
-        } else {
-          location_ = null;
-          locationBuilder_ = null;
-        }
         return this;
       }
 
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumn_descriptor;
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_descriptor;
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.AddColumn getDefaultInstanceForType() {
-        return io.greptime.v1.Ddl.AddColumn.getDefaultInstance();
+      public io.greptime.v1.Ddl.DropColumn getDefaultInstanceForType() {
+        return io.greptime.v1.Ddl.DropColumn.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.AddColumn build() {
-        io.greptime.v1.Ddl.AddColumn result = buildPartial();
+      public io.greptime.v1.Ddl.DropColumn build() {
+        io.greptime.v1.Ddl.DropColumn result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -12830,19 +12823,9 @@ public io.greptime.v1.Ddl.AddColumn build() {
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.AddColumn buildPartial() {
-        io.greptime.v1.Ddl.AddColumn result = new io.greptime.v1.Ddl.AddColumn(this);
-        if (columnDefBuilder_ == null) {
-          result.columnDef_ = columnDef_;
-        } else {
-          result.columnDef_ = columnDefBuilder_.build();
-        }
-        result.isKey_ = isKey_;
-        if (locationBuilder_ == null) {
-          result.location_ = location_;
-        } else {
-          result.location_ = locationBuilder_.build();
-        }
+      public io.greptime.v1.Ddl.DropColumn buildPartial() {
+        io.greptime.v1.Ddl.DropColumn result = new io.greptime.v1.Ddl.DropColumn(this);
+        result.name_ = name_;
         onBuilt();
         return result;
       }
@@ -12881,321 +12864,123 @@ public Builder addRepeatedField(
       }
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.greptime.v1.Ddl.AddColumn) {
-          return mergeFrom((io.greptime.v1.Ddl.AddColumn)other);
+        if (other instanceof io.greptime.v1.Ddl.DropColumn) {
+          return mergeFrom((io.greptime.v1.Ddl.DropColumn)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.greptime.v1.Ddl.AddColumn other) {
-        if (other == io.greptime.v1.Ddl.AddColumn.getDefaultInstance()) return this;
-        if (other.hasColumnDef()) {
-          mergeColumnDef(other.getColumnDef());
-        }
-        if (other.getIsKey() != false) {
-          setIsKey(other.getIsKey());
-        }
-        if (other.hasLocation()) {
-          mergeLocation(other.getLocation());
-        }
-        this.mergeUnknownFields(other.unknownFields);
-        onChanged();
-        return this;
-      }
-
-      @java.lang.Override
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      @java.lang.Override
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        io.greptime.v1.Ddl.AddColumn parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (io.greptime.v1.Ddl.AddColumn) e.getUnfinishedMessage();
-          throw e.unwrapIOException();
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-
-      private io.greptime.v1.Common.ColumnDef columnDef_;
-      private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> columnDefBuilder_;
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       * @return Whether the columnDef field is set.
-       */
-      public boolean hasColumnDef() {
-        return columnDefBuilder_ != null || columnDef_ != null;
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       * @return The columnDef.
-       */
-      public io.greptime.v1.Common.ColumnDef getColumnDef() {
-        if (columnDefBuilder_ == null) {
-          return columnDef_ == null ? io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_;
-        } else {
-          return columnDefBuilder_.getMessage();
-        }
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      public Builder setColumnDef(io.greptime.v1.Common.ColumnDef value) {
-        if (columnDefBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          columnDef_ = value;
-          onChanged();
-        } else {
-          columnDefBuilder_.setMessage(value);
-        }
-
-        return this;
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      public Builder setColumnDef(
-          io.greptime.v1.Common.ColumnDef.Builder builderForValue) {
-        if (columnDefBuilder_ == null) {
-          columnDef_ = builderForValue.build();
-          onChanged();
-        } else {
-          columnDefBuilder_.setMessage(builderForValue.build());
-        }
-
-        return this;
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      public Builder mergeColumnDef(io.greptime.v1.Common.ColumnDef value) {
-        if (columnDefBuilder_ == null) {
-          if (columnDef_ != null) {
-            columnDef_ =
-              io.greptime.v1.Common.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial();
-          } else {
-            columnDef_ = value;
-          }
-          onChanged();
-        } else {
-          columnDefBuilder_.mergeFrom(value);
-        }
-
-        return this;
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      public Builder clearColumnDef() {
-        if (columnDefBuilder_ == null) {
-          columnDef_ = null;
-          onChanged();
-        } else {
-          columnDef_ = null;
-          columnDefBuilder_ = null;
-        }
-
-        return this;
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      public io.greptime.v1.Common.ColumnDef.Builder getColumnDefBuilder() {
-        
-        onChanged();
-        return getColumnDefFieldBuilder().getBuilder();
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() {
-        if (columnDefBuilder_ != null) {
-          return columnDefBuilder_.getMessageOrBuilder();
-        } else {
-          return columnDef_ == null ?
-              io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_;
-        }
-      }
-      /**
-       * .greptime.v1.ColumnDef column_def = 1;
-       */
-      private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> 
-          getColumnDefFieldBuilder() {
-        if (columnDefBuilder_ == null) {
-          columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder>(
-                  getColumnDef(),
-                  getParentForChildren(),
-                  isClean());
-          columnDef_ = null;
-        }
-        return columnDefBuilder_;
-      }
-
-      private boolean isKey_ ;
-      /**
-       * bool is_key = 2;
-       * @return The isKey.
-       */
-      @java.lang.Override
-      public boolean getIsKey() {
-        return isKey_;
-      }
-      /**
-       * bool is_key = 2;
-       * @param value The isKey to set.
-       * @return This builder for chaining.
-       */
-      public Builder setIsKey(boolean value) {
-        
-        isKey_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * bool is_key = 2;
-       * @return This builder for chaining.
-       */
-      public Builder clearIsKey() {
-        
-        isKey_ = false;
-        onChanged();
-        return this;
-      }
-
-      private io.greptime.v1.Ddl.AddColumn.Location location_;
-      private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Ddl.AddColumn.Location, io.greptime.v1.Ddl.AddColumn.Location.Builder, io.greptime.v1.Ddl.AddColumn.LocationOrBuilder> locationBuilder_;
-      /**
-       * .greptime.v1.AddColumn.Location location = 3;
-       * @return Whether the location field is set.
-       */
-      public boolean hasLocation() {
-        return locationBuilder_ != null || location_ != null;
-      }
-      /**
-       * .greptime.v1.AddColumn.Location location = 3;
-       * @return The location.
-       */
-      public io.greptime.v1.Ddl.AddColumn.Location getLocation() {
-        if (locationBuilder_ == null) {
-          return location_ == null ? io.greptime.v1.Ddl.AddColumn.Location.getDefaultInstance() : location_;
-        } else {
-          return locationBuilder_.getMessage();
-        }
-      }
-      /**
-       * .greptime.v1.AddColumn.Location location = 3;
-       */
-      public Builder setLocation(io.greptime.v1.Ddl.AddColumn.Location value) {
-        if (locationBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          location_ = value;
+      public Builder mergeFrom(io.greptime.v1.Ddl.DropColumn other) {
+        if (other == io.greptime.v1.Ddl.DropColumn.getDefaultInstance()) return this;
+        if (!other.getName().isEmpty()) {
+          name_ = other.name_;
           onChanged();
-        } else {
-          locationBuilder_.setMessage(value);
         }
-
+        this.mergeUnknownFields(other.unknownFields);
+        onChanged();
         return this;
       }
-      /**
-       * .greptime.v1.AddColumn.Location location = 3;
-       */
-      public Builder setLocation(
-          io.greptime.v1.Ddl.AddColumn.Location.Builder builderForValue) {
-        if (locationBuilder_ == null) {
-          location_ = builderForValue.build();
-          onChanged();
-        } else {
-          locationBuilder_.setMessage(builderForValue.build());
-        }
 
+      @java.lang.Override
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      @java.lang.Override
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        io.greptime.v1.Ddl.DropColumn parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (io.greptime.v1.Ddl.DropColumn) e.getUnfinishedMessage();
+          throw e.unwrapIOException();
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
         return this;
       }
+
+      private java.lang.Object name_ = "";
       /**
-       * .greptime.v1.AddColumn.Location location = 3;
+       * string name = 1;
+       * @return The name.
        */
-      public Builder mergeLocation(io.greptime.v1.Ddl.AddColumn.Location value) {
-        if (locationBuilder_ == null) {
-          if (location_ != null) {
-            location_ =
-              io.greptime.v1.Ddl.AddColumn.Location.newBuilder(location_).mergeFrom(value).buildPartial();
-          } else {
-            location_ = value;
-          }
-          onChanged();
+      public java.lang.String getName() {
+        java.lang.Object ref = name_;
+        if (!(ref instanceof java.lang.String)) {
+          com.google.protobuf.ByteString bs =
+              (com.google.protobuf.ByteString) ref;
+          java.lang.String s = bs.toStringUtf8();
+          name_ = s;
+          return s;
         } else {
-          locationBuilder_.mergeFrom(value);
+          return (java.lang.String) ref;
         }
-
-        return this;
       }
       /**
-       * .greptime.v1.AddColumn.Location location = 3;
+       * string name = 1;
+       * @return The bytes for name.
        */
-      public Builder clearLocation() {
-        if (locationBuilder_ == null) {
-          location_ = null;
-          onChanged();
+      public com.google.protobuf.ByteString
+          getNameBytes() {
+        java.lang.Object ref = name_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          name_ = b;
+          return b;
         } else {
-          location_ = null;
-          locationBuilder_ = null;
+          return (com.google.protobuf.ByteString) ref;
         }
-
-        return this;
       }
       /**
-       * .greptime.v1.AddColumn.Location location = 3;
+       * string name = 1;
+       * @param value The name to set.
+       * @return This builder for chaining.
        */
-      public io.greptime.v1.Ddl.AddColumn.Location.Builder getLocationBuilder() {
-        
+      public Builder setName(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  
+        name_ = value;
         onChanged();
-        return getLocationFieldBuilder().getBuilder();
+        return this;
       }
       /**
-       * .greptime.v1.AddColumn.Location location = 3;
+       * string name = 1;
+       * @return This builder for chaining.
        */
-      public io.greptime.v1.Ddl.AddColumn.LocationOrBuilder getLocationOrBuilder() {
-        if (locationBuilder_ != null) {
-          return locationBuilder_.getMessageOrBuilder();
-        } else {
-          return location_ == null ?
-              io.greptime.v1.Ddl.AddColumn.Location.getDefaultInstance() : location_;
-        }
+      public Builder clearName() {
+        
+        name_ = getDefaultInstance().getName();
+        onChanged();
+        return this;
       }
       /**
-       * .greptime.v1.AddColumn.Location location = 3;
+       * string name = 1;
+       * @param value The bytes for name to set.
+       * @return This builder for chaining.
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.Ddl.AddColumn.Location, io.greptime.v1.Ddl.AddColumn.Location.Builder, io.greptime.v1.Ddl.AddColumn.LocationOrBuilder> 
-          getLocationFieldBuilder() {
-        if (locationBuilder_ == null) {
-          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              io.greptime.v1.Ddl.AddColumn.Location, io.greptime.v1.Ddl.AddColumn.Location.Builder, io.greptime.v1.Ddl.AddColumn.LocationOrBuilder>(
-                  getLocation(),
-                  getParentForChildren(),
-                  isClean());
-          location_ = null;
-        }
-        return locationBuilder_;
+      public Builder setNameBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
+        name_ = value;
+        onChanged();
+        return this;
       }
       @java.lang.Override
       public final Builder setUnknownFields(
@@ -13210,83 +12995,76 @@ public final Builder mergeUnknownFields(
       }
 
 
-      // @@protoc_insertion_point(builder_scope:greptime.v1.AddColumn)
+      // @@protoc_insertion_point(builder_scope:greptime.v1.DropColumn)
     }
 
-    // @@protoc_insertion_point(class_scope:greptime.v1.AddColumn)
-    private static final io.greptime.v1.Ddl.AddColumn DEFAULT_INSTANCE;
+    // @@protoc_insertion_point(class_scope:greptime.v1.DropColumn)
+    private static final io.greptime.v1.Ddl.DropColumn DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.AddColumn();
+      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.DropColumn();
     }
 
-    public static io.greptime.v1.Ddl.AddColumn getDefaultInstance() {
+    public static io.greptime.v1.Ddl.DropColumn getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser
-        PARSER = new com.google.protobuf.AbstractParser() {
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
-      public AddColumn parsePartialFrom(
+      public DropColumn parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new AddColumn(input, extensionRegistry);
+        return new DropColumn(input, extensionRegistry);
       }
     };
 
-    public static com.google.protobuf.Parser parser() {
+    public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
     @java.lang.Override
-    public com.google.protobuf.Parser getParserForType() {
+    public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
     @java.lang.Override
-    public io.greptime.v1.Ddl.AddColumn getDefaultInstanceForType() {
+    public io.greptime.v1.Ddl.DropColumn getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
-  public interface DropColumnOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:greptime.v1.DropColumn)
+  public interface TableIdOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.TableId)
       com.google.protobuf.MessageOrBuilder {
 
     /**
-     * string name = 1;
-     * @return The name.
-     */
-    java.lang.String getName();
-    /**
-     * string name = 1;
-     * @return The bytes for name.
+     * uint32 id = 1;
+     * @return The id.
      */
-    com.google.protobuf.ByteString
-        getNameBytes();
+    int getId();
   }
   /**
-   * Protobuf type {@code greptime.v1.DropColumn}
+   * Protobuf type {@code greptime.v1.TableId}
    */
-  public static final class DropColumn extends
+  public static final class TableId extends
       com.google.protobuf.GeneratedMessageV3 implements
-      // @@protoc_insertion_point(message_implements:greptime.v1.DropColumn)
-      DropColumnOrBuilder {
+      // @@protoc_insertion_point(message_implements:greptime.v1.TableId)
+      TableIdOrBuilder {
   private static final long serialVersionUID = 0L;
-    // Use DropColumn.newBuilder() to construct.
-    private DropColumn(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+    // Use TableId.newBuilder() to construct.
+    private TableId(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
     }
-    private DropColumn() {
-      name_ = "";
+    private TableId() {
     }
 
     @java.lang.Override
     @SuppressWarnings({"unused"})
     protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
-      return new DropColumn();
+      return new TableId();
     }
 
     @java.lang.Override
@@ -13294,7 +13072,7 @@ protected java.lang.Object newInstance(
     getUnknownFields() {
       return this.unknownFields;
     }
-    private DropColumn(
+    private TableId(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -13312,10 +13090,9 @@ private DropColumn(
             case 0:
               done = true;
               break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
+            case 8: {
 
-              name_ = s;
+              id_ = input.readUInt32();
               break;
             }
             default: {
@@ -13341,53 +13118,26 @@ private DropColumn(
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_descriptor;
+      return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_fieldAccessorTable
+      return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.greptime.v1.Ddl.DropColumn.class, io.greptime.v1.Ddl.DropColumn.Builder.class);
+              io.greptime.v1.Ddl.TableId.class, io.greptime.v1.Ddl.TableId.Builder.class);
     }
 
-    public static final int NAME_FIELD_NUMBER = 1;
-    private volatile java.lang.Object name_;
-    /**
-     * string name = 1;
-     * @return The name.
-     */
-    @java.lang.Override
-    public java.lang.String getName() {
-      java.lang.Object ref = name_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        name_ = s;
-        return s;
-      }
-    }
+    public static final int ID_FIELD_NUMBER = 1;
+    private int id_;
     /**
-     * string name = 1;
-     * @return The bytes for name.
+     * uint32 id = 1;
+     * @return The id.
      */
     @java.lang.Override
-    public com.google.protobuf.ByteString
-        getNameBytes() {
-      java.lang.Object ref = name_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        name_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
+    public int getId() {
+      return id_;
     }
 
     private byte memoizedIsInitialized = -1;
@@ -13404,8 +13154,8 @@ public final boolean isInitialized() {
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+      if (id_ != 0) {
+        output.writeUInt32(1, id_);
       }
       unknownFields.writeTo(output);
     }
@@ -13416,8 +13166,9 @@ public int getSerializedSize() {
       if (size != -1) return size;
 
       size = 0;
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+      if (id_ != 0) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt32Size(1, id_);
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -13429,13 +13180,13 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.greptime.v1.Ddl.DropColumn)) {
+      if (!(obj instanceof io.greptime.v1.Ddl.TableId)) {
         return super.equals(obj);
       }
-      io.greptime.v1.Ddl.DropColumn other = (io.greptime.v1.Ddl.DropColumn) obj;
+      io.greptime.v1.Ddl.TableId other = (io.greptime.v1.Ddl.TableId) obj;
 
-      if (!getName()
-          .equals(other.getName())) return false;
+      if (getId()
+          != other.getId()) return false;
       if (!unknownFields.equals(other.unknownFields)) return false;
       return true;
     }
@@ -13447,76 +13198,76 @@ public int hashCode() {
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      hash = (37 * hash) + NAME_FIELD_NUMBER;
-      hash = (53 * hash) + getName().hashCode();
+      hash = (37 * hash) + ID_FIELD_NUMBER;
+      hash = (53 * hash) + getId();
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
       return hash;
     }
 
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(byte[] data)
+    public static io.greptime.v1.Ddl.TableId parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(java.io.InputStream input)
+    public static io.greptime.v1.Ddl.TableId parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseDelimitedFrom(java.io.InputStream input)
+    public static io.greptime.v1.Ddl.TableId parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseDelimitedFrom(
+    public static io.greptime.v1.Ddl.TableId parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.DropColumn parseFrom(
+    public static io.greptime.v1.Ddl.TableId parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -13529,7 +13280,7 @@ public static io.greptime.v1.Ddl.DropColumn parseFrom(
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.greptime.v1.Ddl.DropColumn prototype) {
+    public static Builder newBuilder(io.greptime.v1.Ddl.TableId prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -13545,26 +13296,26 @@ protected Builder newBuilderForType(
       return builder;
     }
     /**
-     * Protobuf type {@code greptime.v1.DropColumn}
+     * Protobuf type {@code greptime.v1.TableId}
      */
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
-        // @@protoc_insertion_point(builder_implements:greptime.v1.DropColumn)
-        io.greptime.v1.Ddl.DropColumnOrBuilder {
+        // @@protoc_insertion_point(builder_implements:greptime.v1.TableId)
+        io.greptime.v1.Ddl.TableIdOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_descriptor;
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_fieldAccessorTable
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.greptime.v1.Ddl.DropColumn.class, io.greptime.v1.Ddl.DropColumn.Builder.class);
+                io.greptime.v1.Ddl.TableId.class, io.greptime.v1.Ddl.TableId.Builder.class);
       }
 
-      // Construct using io.greptime.v1.Ddl.DropColumn.newBuilder()
+      // Construct using io.greptime.v1.Ddl.TableId.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -13582,7 +13333,7 @@ private void maybeForceBuilderInitialization() {
       @java.lang.Override
       public Builder clear() {
         super.clear();
-        name_ = "";
+        id_ = 0;
 
         return this;
       }
@@ -13590,17 +13341,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_DropColumn_descriptor;
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_descriptor;
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.DropColumn getDefaultInstanceForType() {
-        return io.greptime.v1.Ddl.DropColumn.getDefaultInstance();
+      public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
+        return io.greptime.v1.Ddl.TableId.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.DropColumn build() {
-        io.greptime.v1.Ddl.DropColumn result = buildPartial();
+      public io.greptime.v1.Ddl.TableId build() {
+        io.greptime.v1.Ddl.TableId result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -13608,9 +13359,9 @@ public io.greptime.v1.Ddl.DropColumn build() {
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.DropColumn buildPartial() {
-        io.greptime.v1.Ddl.DropColumn result = new io.greptime.v1.Ddl.DropColumn(this);
-        result.name_ = name_;
+      public io.greptime.v1.Ddl.TableId buildPartial() {
+        io.greptime.v1.Ddl.TableId result = new io.greptime.v1.Ddl.TableId(this);
+        result.id_ = id_;
         onBuilt();
         return result;
       }
@@ -13649,19 +13400,18 @@ public Builder addRepeatedField(
       }
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.greptime.v1.Ddl.DropColumn) {
-          return mergeFrom((io.greptime.v1.Ddl.DropColumn)other);
+        if (other instanceof io.greptime.v1.Ddl.TableId) {
+          return mergeFrom((io.greptime.v1.Ddl.TableId)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.greptime.v1.Ddl.DropColumn other) {
-        if (other == io.greptime.v1.Ddl.DropColumn.getDefaultInstance()) return this;
-        if (!other.getName().isEmpty()) {
-          name_ = other.name_;
-          onChanged();
+      public Builder mergeFrom(io.greptime.v1.Ddl.TableId other) {
+        if (other == io.greptime.v1.Ddl.TableId.getDefaultInstance()) return this;
+        if (other.getId() != 0) {
+          setId(other.getId());
         }
         this.mergeUnknownFields(other.unknownFields);
         onChanged();
@@ -13678,11 +13428,11 @@ public Builder mergeFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        io.greptime.v1.Ddl.DropColumn parsedMessage = null;
+        io.greptime.v1.Ddl.TableId parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (io.greptime.v1.Ddl.DropColumn) e.getUnfinishedMessage();
+          parsedMessage = (io.greptime.v1.Ddl.TableId) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -13692,78 +13442,33 @@ public Builder mergeFrom(
         return this;
       }
 
-      private java.lang.Object name_ = "";
-      /**
-       * string name = 1;
-       * @return The name.
-       */
-      public java.lang.String getName() {
-        java.lang.Object ref = name_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          name_ = s;
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * string name = 1;
-       * @return The bytes for name.
-       */
-      public com.google.protobuf.ByteString
-          getNameBytes() {
-        java.lang.Object ref = name_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          name_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
+      private int id_ ;
       /**
-       * string name = 1;
-       * @param value The name to set.
-       * @return This builder for chaining.
+       * uint32 id = 1;
+       * @return The id.
        */
-      public Builder setName(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
-        name_ = value;
-        onChanged();
-        return this;
+      @java.lang.Override
+      public int getId() {
+        return id_;
       }
       /**
-       * string name = 1;
+       * uint32 id = 1;
+       * @param value The id to set.
        * @return This builder for chaining.
        */
-      public Builder clearName() {
+      public Builder setId(int value) {
         
-        name_ = getDefaultInstance().getName();
+        id_ = value;
         onChanged();
         return this;
       }
       /**
-       * string name = 1;
-       * @param value The bytes for name to set.
+       * uint32 id = 1;
        * @return This builder for chaining.
        */
-      public Builder setNameBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
+      public Builder clearId() {
         
-        name_ = value;
+        id_ = 0;
         onChanged();
         return this;
       }
@@ -13780,76 +13485,95 @@ public final Builder mergeUnknownFields(
       }
 
 
-      // @@protoc_insertion_point(builder_scope:greptime.v1.DropColumn)
+      // @@protoc_insertion_point(builder_scope:greptime.v1.TableId)
     }
 
-    // @@protoc_insertion_point(class_scope:greptime.v1.DropColumn)
-    private static final io.greptime.v1.Ddl.DropColumn DEFAULT_INSTANCE;
+    // @@protoc_insertion_point(class_scope:greptime.v1.TableId)
+    private static final io.greptime.v1.Ddl.TableId DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.DropColumn();
+      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.TableId();
     }
 
-    public static io.greptime.v1.Ddl.DropColumn getDefaultInstance() {
+    public static io.greptime.v1.Ddl.TableId getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser
-        PARSER = new com.google.protobuf.AbstractParser() {
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
-      public DropColumn parsePartialFrom(
+      public TableId parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new DropColumn(input, extensionRegistry);
+        return new TableId(input, extensionRegistry);
       }
     };
 
-    public static com.google.protobuf.Parser parser() {
+    public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
     @java.lang.Override
-    public com.google.protobuf.Parser getParserForType() {
+    public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
     @java.lang.Override
-    public io.greptime.v1.Ddl.DropColumn getDefaultInstanceForType() {
+    public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
-  public interface TableIdOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:greptime.v1.TableId)
+  public interface AddColumnLocationOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:greptime.v1.AddColumnLocation)
       com.google.protobuf.MessageOrBuilder {
 
     /**
-     * uint32 id = 1;
-     * @return The id.
+     * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+     * @return The enum numeric value on the wire for locationType.
      */
-    int getId();
+    int getLocationTypeValue();
+    /**
+     * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+     * @return The locationType.
+     */
+    io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType();
+
+    /**
+     * string after_column_name = 2;
+     * @return The afterColumnName.
+     */
+    java.lang.String getAfterColumnName();
+    /**
+     * string after_column_name = 2;
+     * @return The bytes for afterColumnName.
+     */
+    com.google.protobuf.ByteString
+        getAfterColumnNameBytes();
   }
   /**
-   * Protobuf type {@code greptime.v1.TableId}
+   * Protobuf type {@code greptime.v1.AddColumnLocation}
    */
-  public static final class TableId extends
+  public static final class AddColumnLocation extends
       com.google.protobuf.GeneratedMessageV3 implements
-      // @@protoc_insertion_point(message_implements:greptime.v1.TableId)
-      TableIdOrBuilder {
+      // @@protoc_insertion_point(message_implements:greptime.v1.AddColumnLocation)
+      AddColumnLocationOrBuilder {
   private static final long serialVersionUID = 0L;
-    // Use TableId.newBuilder() to construct.
-    private TableId(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+    // Use AddColumnLocation.newBuilder() to construct.
+    private AddColumnLocation(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
     }
-    private TableId() {
+    private AddColumnLocation() {
+      locationType_ = 0;
+      afterColumnName_ = "";
     }
 
     @java.lang.Override
     @SuppressWarnings({"unused"})
     protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
-      return new TableId();
+      return new AddColumnLocation();
     }
 
     @java.lang.Override
@@ -13857,7 +13581,7 @@ protected java.lang.Object newInstance(
     getUnknownFields() {
       return this.unknownFields;
     }
-    private TableId(
+    private AddColumnLocation(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -13876,53 +13600,214 @@ private TableId(
               done = true;
               break;
             case 8: {
+              int rawValue = input.readEnum();
+
+              locationType_ = rawValue;
+              break;
+            }
+            case 18: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              afterColumnName_ = s;
+              break;
+            }
+            default: {
+              if (!parseUnknownField(
+                  input, unknownFields, extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              io.greptime.v1.Ddl.AddColumnLocation.class, io.greptime.v1.Ddl.AddColumnLocation.Builder.class);
+    }
+
+    /**
+     * Protobuf enum {@code greptime.v1.AddColumnLocation.LocationType}
+     */
+    public enum LocationType
+        implements com.google.protobuf.ProtocolMessageEnum {
+      /**
+       * FIRST = 0;
+       */
+      FIRST(0),
+      /**
+       * AFTER = 1;
+       */
+      AFTER(1),
+      UNRECOGNIZED(-1),
+      ;
+
+      /**
+       * FIRST = 0;
+       */
+      public static final int FIRST_VALUE = 0;
+      /**
+       * AFTER = 1;
+       */
+      public static final int AFTER_VALUE = 1;
+
+
+      public final int getNumber() {
+        if (this == UNRECOGNIZED) {
+          throw new java.lang.IllegalArgumentException(
+              "Can't get the number of an unknown enum value.");
+        }
+        return value;
+      }
+
+      /**
+       * @param value The numeric wire value of the corresponding enum entry.
+       * @return The enum associated with the given numeric wire value.
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static LocationType valueOf(int value) {
+        return forNumber(value);
+      }
+
+      /**
+       * @param value The numeric wire value of the corresponding enum entry.
+       * @return The enum associated with the given numeric wire value.
+       */
+      public static LocationType forNumber(int value) {
+        switch (value) {
+          case 0: return FIRST;
+          case 1: return AFTER;
+          default: return null;
+        }
+      }
 
-              id_ = input.readUInt32();
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
+      public static com.google.protobuf.Internal.EnumLiteMap
+          internalGetValueMap() {
+        return internalValueMap;
+      }
+      private static final com.google.protobuf.Internal.EnumLiteMap<
+          LocationType> internalValueMap =
+            new com.google.protobuf.Internal.EnumLiteMap() {
+              public LocationType findValueByNumber(int number) {
+                return LocationType.forNumber(number);
               }
-              break;
-            }
-          }
+            };
+
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        if (this == UNRECOGNIZED) {
+          throw new java.lang.IllegalStateException(
+              "Can't get the descriptor of an unrecognized enum value.");
         }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (com.google.protobuf.UninitializedMessageException e) {
-        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
+        return getDescriptor().getValues().get(ordinal());
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return io.greptime.v1.Ddl.AddColumnLocation.getDescriptor().getEnumTypes().get(0);
       }
+
+      private static final LocationType[] VALUES = values();
+
+      public static LocationType valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        if (desc.getIndex() == -1) {
+          return UNRECOGNIZED;
+        }
+        return VALUES[desc.getIndex()];
+      }
+
+      private final int value;
+
+      private LocationType(int value) {
+        this.value = value;
+      }
+
+      // @@protoc_insertion_point(enum_scope:greptime.v1.AddColumnLocation.LocationType)
     }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_descriptor;
+
+    public static final int LOCATION_TYPE_FIELD_NUMBER = 1;
+    private int locationType_;
+    /**
+     * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+     * @return The enum numeric value on the wire for locationType.
+     */
+    @java.lang.Override public int getLocationTypeValue() {
+      return locationType_;
+    }
+    /**
+     * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+     * @return The locationType.
+     */
+    @java.lang.Override public io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType() {
+      @SuppressWarnings("deprecation")
+      io.greptime.v1.Ddl.AddColumnLocation.LocationType result = io.greptime.v1.Ddl.AddColumnLocation.LocationType.valueOf(locationType_);
+      return result == null ? io.greptime.v1.Ddl.AddColumnLocation.LocationType.UNRECOGNIZED : result;
     }
 
+    public static final int AFTER_COLUMN_NAME_FIELD_NUMBER = 2;
+    private volatile java.lang.Object afterColumnName_;
+    /**
+     * string after_column_name = 2;
+     * @return The afterColumnName.
+     */
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              io.greptime.v1.Ddl.TableId.class, io.greptime.v1.Ddl.TableId.Builder.class);
+    public java.lang.String getAfterColumnName() {
+      java.lang.Object ref = afterColumnName_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        afterColumnName_ = s;
+        return s;
+      }
     }
-
-    public static final int ID_FIELD_NUMBER = 1;
-    private int id_;
     /**
-     * uint32 id = 1;
-     * @return The id.
+     * string after_column_name = 2;
+     * @return The bytes for afterColumnName.
      */
     @java.lang.Override
-    public int getId() {
-      return id_;
+    public com.google.protobuf.ByteString
+        getAfterColumnNameBytes() {
+      java.lang.Object ref = afterColumnName_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        afterColumnName_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
     }
 
     private byte memoizedIsInitialized = -1;
@@ -13939,8 +13824,11 @@ public final boolean isInitialized() {
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (id_ != 0) {
-        output.writeUInt32(1, id_);
+      if (locationType_ != io.greptime.v1.Ddl.AddColumnLocation.LocationType.FIRST.getNumber()) {
+        output.writeEnum(1, locationType_);
+      }
+      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, afterColumnName_);
       }
       unknownFields.writeTo(output);
     }
@@ -13951,9 +13839,12 @@ public int getSerializedSize() {
       if (size != -1) return size;
 
       size = 0;
-      if (id_ != 0) {
+      if (locationType_ != io.greptime.v1.Ddl.AddColumnLocation.LocationType.FIRST.getNumber()) {
         size += com.google.protobuf.CodedOutputStream
-          .computeUInt32Size(1, id_);
+          .computeEnumSize(1, locationType_);
+      }
+      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, afterColumnName_);
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -13965,13 +13856,14 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.greptime.v1.Ddl.TableId)) {
+      if (!(obj instanceof io.greptime.v1.Ddl.AddColumnLocation)) {
         return super.equals(obj);
       }
-      io.greptime.v1.Ddl.TableId other = (io.greptime.v1.Ddl.TableId) obj;
+      io.greptime.v1.Ddl.AddColumnLocation other = (io.greptime.v1.Ddl.AddColumnLocation) obj;
 
-      if (getId()
-          != other.getId()) return false;
+      if (locationType_ != other.locationType_) return false;
+      if (!getAfterColumnName()
+          .equals(other.getAfterColumnName())) return false;
       if (!unknownFields.equals(other.unknownFields)) return false;
       return true;
     }
@@ -13983,76 +13875,78 @@ public int hashCode() {
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      hash = (37 * hash) + ID_FIELD_NUMBER;
-      hash = (53 * hash) + getId();
+      hash = (37 * hash) + LOCATION_TYPE_FIELD_NUMBER;
+      hash = (53 * hash) + locationType_;
+      hash = (37 * hash) + AFTER_COLUMN_NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getAfterColumnName().hashCode();
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
       return hash;
     }
 
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(byte[] data)
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(java.io.InputStream input)
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.TableId parseDelimitedFrom(java.io.InputStream input)
+    public static io.greptime.v1.Ddl.AddColumnLocation parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.TableId parseDelimitedFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static io.greptime.v1.Ddl.TableId parseFrom(
+    public static io.greptime.v1.Ddl.AddColumnLocation parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -14065,7 +13959,7 @@ public static io.greptime.v1.Ddl.TableId parseFrom(
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.greptime.v1.Ddl.TableId prototype) {
+    public static Builder newBuilder(io.greptime.v1.Ddl.AddColumnLocation prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -14081,26 +13975,26 @@ protected Builder newBuilderForType(
       return builder;
     }
     /**
-     * Protobuf type {@code greptime.v1.TableId}
+     * Protobuf type {@code greptime.v1.AddColumnLocation}
      */
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
-        // @@protoc_insertion_point(builder_implements:greptime.v1.TableId)
-        io.greptime.v1.Ddl.TableIdOrBuilder {
+        // @@protoc_insertion_point(builder_implements:greptime.v1.AddColumnLocation)
+        io.greptime.v1.Ddl.AddColumnLocationOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_descriptor;
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_fieldAccessorTable
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.greptime.v1.Ddl.TableId.class, io.greptime.v1.Ddl.TableId.Builder.class);
+                io.greptime.v1.Ddl.AddColumnLocation.class, io.greptime.v1.Ddl.AddColumnLocation.Builder.class);
       }
 
-      // Construct using io.greptime.v1.Ddl.TableId.newBuilder()
+      // Construct using io.greptime.v1.Ddl.AddColumnLocation.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -14118,7 +14012,9 @@ private void maybeForceBuilderInitialization() {
       @java.lang.Override
       public Builder clear() {
         super.clear();
-        id_ = 0;
+        locationType_ = 0;
+
+        afterColumnName_ = "";
 
         return this;
       }
@@ -14126,17 +14022,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.greptime.v1.Ddl.internal_static_greptime_v1_TableId_descriptor;
+        return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_descriptor;
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
-        return io.greptime.v1.Ddl.TableId.getDefaultInstance();
+      public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() {
+        return io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.TableId build() {
-        io.greptime.v1.Ddl.TableId result = buildPartial();
+      public io.greptime.v1.Ddl.AddColumnLocation build() {
+        io.greptime.v1.Ddl.AddColumnLocation result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -14144,9 +14040,10 @@ public io.greptime.v1.Ddl.TableId build() {
       }
 
       @java.lang.Override
-      public io.greptime.v1.Ddl.TableId buildPartial() {
-        io.greptime.v1.Ddl.TableId result = new io.greptime.v1.Ddl.TableId(this);
-        result.id_ = id_;
+      public io.greptime.v1.Ddl.AddColumnLocation buildPartial() {
+        io.greptime.v1.Ddl.AddColumnLocation result = new io.greptime.v1.Ddl.AddColumnLocation(this);
+        result.locationType_ = locationType_;
+        result.afterColumnName_ = afterColumnName_;
         onBuilt();
         return result;
       }
@@ -14185,18 +14082,22 @@ public Builder addRepeatedField(
       }
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.greptime.v1.Ddl.TableId) {
-          return mergeFrom((io.greptime.v1.Ddl.TableId)other);
+        if (other instanceof io.greptime.v1.Ddl.AddColumnLocation) {
+          return mergeFrom((io.greptime.v1.Ddl.AddColumnLocation)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.greptime.v1.Ddl.TableId other) {
-        if (other == io.greptime.v1.Ddl.TableId.getDefaultInstance()) return this;
-        if (other.getId() != 0) {
-          setId(other.getId());
+      public Builder mergeFrom(io.greptime.v1.Ddl.AddColumnLocation other) {
+        if (other == io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance()) return this;
+        if (other.locationType_ != 0) {
+          setLocationTypeValue(other.getLocationTypeValue());
+        }
+        if (!other.getAfterColumnName().isEmpty()) {
+          afterColumnName_ = other.afterColumnName_;
+          onChanged();
         }
         this.mergeUnknownFields(other.unknownFields);
         onChanged();
@@ -14213,11 +14114,11 @@ public Builder mergeFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        io.greptime.v1.Ddl.TableId parsedMessage = null;
+        io.greptime.v1.Ddl.AddColumnLocation parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (io.greptime.v1.Ddl.TableId) e.getUnfinishedMessage();
+          parsedMessage = (io.greptime.v1.Ddl.AddColumnLocation) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -14227,33 +14128,132 @@ public Builder mergeFrom(
         return this;
       }
 
-      private int id_ ;
+      private int locationType_ = 0;
       /**
-       * uint32 id = 1;
-       * @return The id.
+       * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+       * @return The enum numeric value on the wire for locationType.
+       */
+      @java.lang.Override public int getLocationTypeValue() {
+        return locationType_;
+      }
+      /**
+       * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+       * @param value The enum numeric value on the wire for locationType to set.
+       * @return This builder for chaining.
+       */
+      public Builder setLocationTypeValue(int value) {
+        
+        locationType_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+       * @return The locationType.
        */
       @java.lang.Override
-      public int getId() {
-        return id_;
+      public io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType() {
+        @SuppressWarnings("deprecation")
+        io.greptime.v1.Ddl.AddColumnLocation.LocationType result = io.greptime.v1.Ddl.AddColumnLocation.LocationType.valueOf(locationType_);
+        return result == null ? io.greptime.v1.Ddl.AddColumnLocation.LocationType.UNRECOGNIZED : result;
       }
       /**
-       * uint32 id = 1;
-       * @param value The id to set.
+       * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
+       * @param value The locationType to set.
        * @return This builder for chaining.
        */
-      public Builder setId(int value) {
+      public Builder setLocationType(io.greptime.v1.Ddl.AddColumnLocation.LocationType value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         
-        id_ = value;
+        locationType_ = value.getNumber();
         onChanged();
         return this;
       }
       /**
-       * uint32 id = 1;
+       * .greptime.v1.AddColumnLocation.LocationType location_type = 1;
        * @return This builder for chaining.
        */
-      public Builder clearId() {
+      public Builder clearLocationType() {
         
-        id_ = 0;
+        locationType_ = 0;
+        onChanged();
+        return this;
+      }
+
+      private java.lang.Object afterColumnName_ = "";
+      /**
+       * string after_column_name = 2;
+       * @return The afterColumnName.
+       */
+      public java.lang.String getAfterColumnName() {
+        java.lang.Object ref = afterColumnName_;
+        if (!(ref instanceof java.lang.String)) {
+          com.google.protobuf.ByteString bs =
+              (com.google.protobuf.ByteString) ref;
+          java.lang.String s = bs.toStringUtf8();
+          afterColumnName_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * string after_column_name = 2;
+       * @return The bytes for afterColumnName.
+       */
+      public com.google.protobuf.ByteString
+          getAfterColumnNameBytes() {
+        java.lang.Object ref = afterColumnName_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          afterColumnName_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * string after_column_name = 2;
+       * @param value The afterColumnName to set.
+       * @return This builder for chaining.
+       */
+      public Builder setAfterColumnName(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  
+        afterColumnName_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * string after_column_name = 2;
+       * @return This builder for chaining.
+       */
+      public Builder clearAfterColumnName() {
+        
+        afterColumnName_ = getDefaultInstance().getAfterColumnName();
+        onChanged();
+        return this;
+      }
+      /**
+       * string after_column_name = 2;
+       * @param value The bytes for afterColumnName to set.
+       * @return This builder for chaining.
+       */
+      public Builder setAfterColumnNameBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
+        afterColumnName_ = value;
         onChanged();
         return this;
       }
@@ -14270,41 +14270,41 @@ public final Builder mergeUnknownFields(
       }
 
 
-      // @@protoc_insertion_point(builder_scope:greptime.v1.TableId)
+      // @@protoc_insertion_point(builder_scope:greptime.v1.AddColumnLocation)
     }
 
-    // @@protoc_insertion_point(class_scope:greptime.v1.TableId)
-    private static final io.greptime.v1.Ddl.TableId DEFAULT_INSTANCE;
+    // @@protoc_insertion_point(class_scope:greptime.v1.AddColumnLocation)
+    private static final io.greptime.v1.Ddl.AddColumnLocation DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.TableId();
+      DEFAULT_INSTANCE = new io.greptime.v1.Ddl.AddColumnLocation();
     }
 
-    public static io.greptime.v1.Ddl.TableId getDefaultInstance() {
+    public static io.greptime.v1.Ddl.AddColumnLocation getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser
-        PARSER = new com.google.protobuf.AbstractParser() {
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
-      public TableId parsePartialFrom(
+      public AddColumnLocation parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new TableId(input, extensionRegistry);
+        return new AddColumnLocation(input, extensionRegistry);
       }
     };
 
-    public static com.google.protobuf.Parser parser() {
+    public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
     @java.lang.Override
-    public com.google.protobuf.Parser getParserForType() {
+    public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
     @java.lang.Override
-    public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
+    public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -14370,11 +14370,6 @@ public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
   private static final 
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_greptime_v1_AddColumn_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_greptime_v1_AddColumn_Location_descriptor;
-  private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_greptime_v1_AddColumn_Location_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_greptime_v1_DropColumn_descriptor;
   private static final 
@@ -14385,6 +14380,11 @@ public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
   private static final 
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_greptime_v1_TableId_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_greptime_v1_AddColumnLocation_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable;
 
   public static com.google.protobuf.Descriptors.FileDescriptor
       getDescriptor() {
@@ -14435,17 +14435,17 @@ public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
       "ns\030\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013Drop" +
       "Columns\022-\n\014drop_columns\030\001 \003(\0132\027.greptime" +
       ".v1.DropColumn\"%\n\013RenameTable\022\026\n\016new_tab" +
-      "le_name\030\001 \001(\t\"\215\002\n\tAddColumn\022*\n\ncolumn_de" +
-      "f\030\001 \001(\0132\026.greptime.v1.ColumnDef\022\016\n\006is_ke" +
-      "y\030\002 \001(\010\0221\n\010location\030\003 \001(\0132\037.greptime.v1." +
-      "AddColumn.Location\032\220\001\n\010Location\022C\n\rlocat" +
-      "ion_type\030\001 \001(\0162,.greptime.v1.AddColumn.L" +
-      "ocation.LocationType\022\031\n\021after_column_nam" +
-      "e\030\002 \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AF" +
-      "TER\020\001\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025\n\007Tab" +
-      "leId\022\n\n\002id\030\001 \001(\rBL\n\016io.greptime.v1B\003DdlZ" +
-      "5github.com/GreptimeTeam/greptime-proto/" +
-      "go/greptime/v1b\006proto3"
+      "le_name\030\001 \001(\t\"y\n\tAddColumn\022*\n\ncolumn_def" +
+      "\030\001 \001(\0132\026.greptime.v1.ColumnDef\022\016\n\006is_key" +
+      "\030\002 \001(\010\0220\n\010location\030\003 \001(\0132\036.greptime.v1.A" +
+      "ddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030\001" +
+      " \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\230\001\n\021AddColum" +
+      "nLocation\022B\n\rlocation_type\030\001 \001(\0162+.grept" +
+      "ime.v1.AddColumnLocation.LocationType\022\031\n" +
+      "\021after_column_name\030\002 \001(\t\"$\n\014LocationType" +
+      "\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v1" +
+      "B\003DdlZ5github.com/GreptimeTeam/greptime-" +
+      "proto/go/greptime/v1b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -14524,12 +14524,6 @@ public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_greptime_v1_AddColumn_descriptor,
         new java.lang.String[] { "ColumnDef", "IsKey", "Location", });
-    internal_static_greptime_v1_AddColumn_Location_descriptor =
-      internal_static_greptime_v1_AddColumn_descriptor.getNestedTypes().get(0);
-    internal_static_greptime_v1_AddColumn_Location_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_greptime_v1_AddColumn_Location_descriptor,
-        new java.lang.String[] { "LocationType", "AfterColumnName", });
     internal_static_greptime_v1_DropColumn_descriptor =
       getDescriptor().getMessageTypes().get(10);
     internal_static_greptime_v1_DropColumn_fieldAccessorTable = new
@@ -14542,6 +14536,12 @@ public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() {
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_greptime_v1_TableId_descriptor,
         new java.lang.String[] { "Id", });
+    internal_static_greptime_v1_AddColumnLocation_descriptor =
+      getDescriptor().getMessageTypes().get(12);
+    internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable = new
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_greptime_v1_AddColumnLocation_descriptor,
+        new java.lang.String[] { "LocationType", "AfterColumnName", });
     io.greptime.v1.Common.getDescriptor();
   }
 
diff --git a/java/src/main/java/io/greptime/v1/region/Server.java b/java/src/main/java/io/greptime/v1/region/Server.java
index 0e2ec479..2bfe169d 100644
--- a/java/src/main/java/io/greptime/v1/region/Server.java
+++ b/java/src/main/java/io/greptime/v1/region/Server.java
@@ -15063,19 +15063,19 @@ public interface AddColumnOrBuilder extends
     boolean getIsKey();
 
     /**
-     * .greptime.v1.region.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      * @return Whether the location field is set.
      */
     boolean hasLocation();
     /**
-     * .greptime.v1.region.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      * @return The location.
      */
-    io.greptime.v1.region.Server.AddColumn.Location getLocation();
+    io.greptime.v1.Ddl.AddColumnLocation getLocation();
     /**
-     * .greptime.v1.region.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      */
-    io.greptime.v1.region.Server.AddColumn.LocationOrBuilder getLocationOrBuilder();
+    io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder();
   }
   /**
    * Protobuf type {@code greptime.v1.region.AddColumn}
@@ -15141,11 +15141,11 @@ private AddColumn(
               break;
             }
             case 26: {
-              io.greptime.v1.region.Server.AddColumn.Location.Builder subBuilder = null;
+              io.greptime.v1.Ddl.AddColumnLocation.Builder subBuilder = null;
               if (location_ != null) {
                 subBuilder = location_.toBuilder();
               }
-              location_ = input.readMessage(io.greptime.v1.region.Server.AddColumn.Location.parser(), extensionRegistry);
+              location_ = input.readMessage(io.greptime.v1.Ddl.AddColumnLocation.parser(), extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(location_);
                 location_ = subBuilder.buildPartial();
@@ -15187,791 +15187,6 @@ private AddColumn(
               io.greptime.v1.region.Server.AddColumn.class, io.greptime.v1.region.Server.AddColumn.Builder.class);
     }
 
-    public interface LocationOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:greptime.v1.region.AddColumn.Location)
-        com.google.protobuf.MessageOrBuilder {
-
-      /**
-       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-       * @return The enum numeric value on the wire for locationType.
-       */
-      int getLocationTypeValue();
-      /**
-       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-       * @return The locationType.
-       */
-      io.greptime.v1.region.Server.AddColumn.Location.LocationType getLocationType();
-
-      /**
-       * string after_column_name = 2;
-       * @return The afterColumnName.
-       */
-      java.lang.String getAfterColumnName();
-      /**
-       * string after_column_name = 2;
-       * @return The bytes for afterColumnName.
-       */
-      com.google.protobuf.ByteString
-          getAfterColumnNameBytes();
-    }
-    /**
-     * Protobuf type {@code greptime.v1.region.AddColumn.Location}
-     */
-    public static final class Location extends
-        com.google.protobuf.GeneratedMessageV3 implements
-        // @@protoc_insertion_point(message_implements:greptime.v1.region.AddColumn.Location)
-        LocationOrBuilder {
-    private static final long serialVersionUID = 0L;
-      // Use Location.newBuilder() to construct.
-      private Location(com.google.protobuf.GeneratedMessageV3.Builder builder) {
-        super(builder);
-      }
-      private Location() {
-        locationType_ = 0;
-        afterColumnName_ = "";
-      }
-
-      @java.lang.Override
-      @SuppressWarnings({"unused"})
-      protected java.lang.Object newInstance(
-          UnusedPrivateParameter unused) {
-        return new Location();
-      }
-
-      @java.lang.Override
-      public final com.google.protobuf.UnknownFieldSet
-      getUnknownFields() {
-        return this.unknownFields;
-      }
-      private Location(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        this();
-        if (extensionRegistry == null) {
-          throw new java.lang.NullPointerException();
-        }
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder();
-        try {
-          boolean done = false;
-          while (!done) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                done = true;
-                break;
-              case 8: {
-                int rawValue = input.readEnum();
-
-                locationType_ = rawValue;
-                break;
-              }
-              case 18: {
-                java.lang.String s = input.readStringRequireUtf8();
-
-                afterColumnName_ = s;
-                break;
-              }
-              default: {
-                if (!parseUnknownField(
-                    input, unknownFields, extensionRegistry, tag)) {
-                  done = true;
-                }
-                break;
-              }
-            }
-          }
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(this);
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(
-              e).setUnfinishedMessage(this);
-        } finally {
-          this.unknownFields = unknownFields.build();
-          makeExtensionsImmutable();
-        }
-      }
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_descriptor;
-      }
-
-      @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                io.greptime.v1.region.Server.AddColumn.Location.class, io.greptime.v1.region.Server.AddColumn.Location.Builder.class);
-      }
-
-      /**
-       * Protobuf enum {@code greptime.v1.region.AddColumn.Location.LocationType}
-       */
-      public enum LocationType
-          implements com.google.protobuf.ProtocolMessageEnum {
-        /**
-         * FIRST = 0;
-         */
-        FIRST(0),
-        /**
-         * AFTER = 1;
-         */
-        AFTER(1),
-        UNRECOGNIZED(-1),
-        ;
-
-        /**
-         * FIRST = 0;
-         */
-        public static final int FIRST_VALUE = 0;
-        /**
-         * AFTER = 1;
-         */
-        public static final int AFTER_VALUE = 1;
-
-
-        public final int getNumber() {
-          if (this == UNRECOGNIZED) {
-            throw new java.lang.IllegalArgumentException(
-                "Can't get the number of an unknown enum value.");
-          }
-          return value;
-        }
-
-        /**
-         * @param value The numeric wire value of the corresponding enum entry.
-         * @return The enum associated with the given numeric wire value.
-         * @deprecated Use {@link #forNumber(int)} instead.
-         */
-        @java.lang.Deprecated
-        public static LocationType valueOf(int value) {
-          return forNumber(value);
-        }
-
-        /**
-         * @param value The numeric wire value of the corresponding enum entry.
-         * @return The enum associated with the given numeric wire value.
-         */
-        public static LocationType forNumber(int value) {
-          switch (value) {
-            case 0: return FIRST;
-            case 1: return AFTER;
-            default: return null;
-          }
-        }
-
-        public static com.google.protobuf.Internal.EnumLiteMap
-            internalGetValueMap() {
-          return internalValueMap;
-        }
-        private static final com.google.protobuf.Internal.EnumLiteMap<
-            LocationType> internalValueMap =
-              new com.google.protobuf.Internal.EnumLiteMap() {
-                public LocationType findValueByNumber(int number) {
-                  return LocationType.forNumber(number);
-                }
-              };
-
-        public final com.google.protobuf.Descriptors.EnumValueDescriptor
-            getValueDescriptor() {
-          if (this == UNRECOGNIZED) {
-            throw new java.lang.IllegalStateException(
-                "Can't get the descriptor of an unrecognized enum value.");
-          }
-          return getDescriptor().getValues().get(ordinal());
-        }
-        public final com.google.protobuf.Descriptors.EnumDescriptor
-            getDescriptorForType() {
-          return getDescriptor();
-        }
-        public static final com.google.protobuf.Descriptors.EnumDescriptor
-            getDescriptor() {
-          return io.greptime.v1.region.Server.AddColumn.Location.getDescriptor().getEnumTypes().get(0);
-        }
-
-        private static final LocationType[] VALUES = values();
-
-        public static LocationType valueOf(
-            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-          if (desc.getType() != getDescriptor()) {
-            throw new java.lang.IllegalArgumentException(
-              "EnumValueDescriptor is not for this type.");
-          }
-          if (desc.getIndex() == -1) {
-            return UNRECOGNIZED;
-          }
-          return VALUES[desc.getIndex()];
-        }
-
-        private final int value;
-
-        private LocationType(int value) {
-          this.value = value;
-        }
-
-        // @@protoc_insertion_point(enum_scope:greptime.v1.region.AddColumn.Location.LocationType)
-      }
-
-      public static final int LOCATION_TYPE_FIELD_NUMBER = 1;
-      private int locationType_;
-      /**
-       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-       * @return The enum numeric value on the wire for locationType.
-       */
-      @java.lang.Override public int getLocationTypeValue() {
-        return locationType_;
-      }
-      /**
-       * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-       * @return The locationType.
-       */
-      @java.lang.Override public io.greptime.v1.region.Server.AddColumn.Location.LocationType getLocationType() {
-        @SuppressWarnings("deprecation")
-        io.greptime.v1.region.Server.AddColumn.Location.LocationType result = io.greptime.v1.region.Server.AddColumn.Location.LocationType.valueOf(locationType_);
-        return result == null ? io.greptime.v1.region.Server.AddColumn.Location.LocationType.UNRECOGNIZED : result;
-      }
-
-      public static final int AFTER_COLUMN_NAME_FIELD_NUMBER = 2;
-      private volatile java.lang.Object afterColumnName_;
-      /**
-       * string after_column_name = 2;
-       * @return The afterColumnName.
-       */
-      @java.lang.Override
-      public java.lang.String getAfterColumnName() {
-        java.lang.Object ref = afterColumnName_;
-        if (ref instanceof java.lang.String) {
-          return (java.lang.String) ref;
-        } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          afterColumnName_ = s;
-          return s;
-        }
-      }
-      /**
-       * string after_column_name = 2;
-       * @return The bytes for afterColumnName.
-       */
-      @java.lang.Override
-      public com.google.protobuf.ByteString
-          getAfterColumnNameBytes() {
-        java.lang.Object ref = afterColumnName_;
-        if (ref instanceof java.lang.String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          afterColumnName_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-
-      private byte memoizedIsInitialized = -1;
-      @java.lang.Override
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
-
-        memoizedIsInitialized = 1;
-        return true;
-      }
-
-      @java.lang.Override
-      public void writeTo(com.google.protobuf.CodedOutputStream output)
-                          throws java.io.IOException {
-        if (locationType_ != io.greptime.v1.region.Server.AddColumn.Location.LocationType.FIRST.getNumber()) {
-          output.writeEnum(1, locationType_);
-        }
-        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
-          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, afterColumnName_);
-        }
-        unknownFields.writeTo(output);
-      }
-
-      @java.lang.Override
-      public int getSerializedSize() {
-        int size = memoizedSize;
-        if (size != -1) return size;
-
-        size = 0;
-        if (locationType_ != io.greptime.v1.region.Server.AddColumn.Location.LocationType.FIRST.getNumber()) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeEnumSize(1, locationType_);
-        }
-        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(afterColumnName_)) {
-          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, afterColumnName_);
-        }
-        size += unknownFields.getSerializedSize();
-        memoizedSize = size;
-        return size;
-      }
-
-      @java.lang.Override
-      public boolean equals(final java.lang.Object obj) {
-        if (obj == this) {
-         return true;
-        }
-        if (!(obj instanceof io.greptime.v1.region.Server.AddColumn.Location)) {
-          return super.equals(obj);
-        }
-        io.greptime.v1.region.Server.AddColumn.Location other = (io.greptime.v1.region.Server.AddColumn.Location) obj;
-
-        if (locationType_ != other.locationType_) return false;
-        if (!getAfterColumnName()
-            .equals(other.getAfterColumnName())) return false;
-        if (!unknownFields.equals(other.unknownFields)) return false;
-        return true;
-      }
-
-      @java.lang.Override
-      public int hashCode() {
-        if (memoizedHashCode != 0) {
-          return memoizedHashCode;
-        }
-        int hash = 41;
-        hash = (19 * hash) + getDescriptor().hashCode();
-        hash = (37 * hash) + LOCATION_TYPE_FIELD_NUMBER;
-        hash = (53 * hash) + locationType_;
-        hash = (37 * hash) + AFTER_COLUMN_NAME_FIELD_NUMBER;
-        hash = (53 * hash) + getAfterColumnName().hashCode();
-        hash = (29 * hash) + unknownFields.hashCode();
-        memoizedHashCode = hash;
-        return hash;
-      }
-
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          java.nio.ByteBuffer data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          java.nio.ByteBuffer data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input, extensionRegistry);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseDelimitedWithIOException(PARSER, input);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input);
-      }
-      public static io.greptime.v1.region.Server.AddColumn.Location parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-            .parseWithIOException(PARSER, input, extensionRegistry);
-      }
-
-      @java.lang.Override
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder() {
-        return DEFAULT_INSTANCE.toBuilder();
-      }
-      public static Builder newBuilder(io.greptime.v1.region.Server.AddColumn.Location prototype) {
-        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
-      }
-      @java.lang.Override
-      public Builder toBuilder() {
-        return this == DEFAULT_INSTANCE
-            ? new Builder() : new Builder().mergeFrom(this);
-      }
-
-      @java.lang.Override
-      protected Builder newBuilderForType(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
-      }
-      /**
-       * Protobuf type {@code greptime.v1.region.AddColumn.Location}
-       */
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessageV3.Builder implements
-          // @@protoc_insertion_point(builder_implements:greptime.v1.region.AddColumn.Location)
-          io.greptime.v1.region.Server.AddColumn.LocationOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_descriptor;
-        }
-
-        @java.lang.Override
-        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                  io.greptime.v1.region.Server.AddColumn.Location.class, io.greptime.v1.region.Server.AddColumn.Location.Builder.class);
-        }
-
-        // Construct using io.greptime.v1.region.Server.AddColumn.Location.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-
-        private Builder(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessageV3
-                  .alwaysUseFieldBuilders) {
-          }
-        }
-        @java.lang.Override
-        public Builder clear() {
-          super.clear();
-          locationType_ = 0;
-
-          afterColumnName_ = "";
-
-          return this;
-        }
-
-        @java.lang.Override
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_Location_descriptor;
-        }
-
-        @java.lang.Override
-        public io.greptime.v1.region.Server.AddColumn.Location getDefaultInstanceForType() {
-          return io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance();
-        }
-
-        @java.lang.Override
-        public io.greptime.v1.region.Server.AddColumn.Location build() {
-          io.greptime.v1.region.Server.AddColumn.Location result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-
-        @java.lang.Override
-        public io.greptime.v1.region.Server.AddColumn.Location buildPartial() {
-          io.greptime.v1.region.Server.AddColumn.Location result = new io.greptime.v1.region.Server.AddColumn.Location(this);
-          result.locationType_ = locationType_;
-          result.afterColumnName_ = afterColumnName_;
-          onBuilt();
-          return result;
-        }
-
-        @java.lang.Override
-        public Builder clone() {
-          return super.clone();
-        }
-        @java.lang.Override
-        public Builder setField(
-            com.google.protobuf.Descriptors.FieldDescriptor field,
-            java.lang.Object value) {
-          return super.setField(field, value);
-        }
-        @java.lang.Override
-        public Builder clearField(
-            com.google.protobuf.Descriptors.FieldDescriptor field) {
-          return super.clearField(field);
-        }
-        @java.lang.Override
-        public Builder clearOneof(
-            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-          return super.clearOneof(oneof);
-        }
-        @java.lang.Override
-        public Builder setRepeatedField(
-            com.google.protobuf.Descriptors.FieldDescriptor field,
-            int index, java.lang.Object value) {
-          return super.setRepeatedField(field, index, value);
-        }
-        @java.lang.Override
-        public Builder addRepeatedField(
-            com.google.protobuf.Descriptors.FieldDescriptor field,
-            java.lang.Object value) {
-          return super.addRepeatedField(field, value);
-        }
-        @java.lang.Override
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof io.greptime.v1.region.Server.AddColumn.Location) {
-            return mergeFrom((io.greptime.v1.region.Server.AddColumn.Location)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-
-        public Builder mergeFrom(io.greptime.v1.region.Server.AddColumn.Location other) {
-          if (other == io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance()) return this;
-          if (other.locationType_ != 0) {
-            setLocationTypeValue(other.getLocationTypeValue());
-          }
-          if (!other.getAfterColumnName().isEmpty()) {
-            afterColumnName_ = other.afterColumnName_;
-            onChanged();
-          }
-          this.mergeUnknownFields(other.unknownFields);
-          onChanged();
-          return this;
-        }
-
-        @java.lang.Override
-        public final boolean isInitialized() {
-          return true;
-        }
-
-        @java.lang.Override
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          io.greptime.v1.region.Server.AddColumn.Location parsedMessage = null;
-          try {
-            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-            parsedMessage = (io.greptime.v1.region.Server.AddColumn.Location) e.getUnfinishedMessage();
-            throw e.unwrapIOException();
-          } finally {
-            if (parsedMessage != null) {
-              mergeFrom(parsedMessage);
-            }
-          }
-          return this;
-        }
-
-        private int locationType_ = 0;
-        /**
-         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-         * @return The enum numeric value on the wire for locationType.
-         */
-        @java.lang.Override public int getLocationTypeValue() {
-          return locationType_;
-        }
-        /**
-         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-         * @param value The enum numeric value on the wire for locationType to set.
-         * @return This builder for chaining.
-         */
-        public Builder setLocationTypeValue(int value) {
-          
-          locationType_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-         * @return The locationType.
-         */
-        @java.lang.Override
-        public io.greptime.v1.region.Server.AddColumn.Location.LocationType getLocationType() {
-          @SuppressWarnings("deprecation")
-          io.greptime.v1.region.Server.AddColumn.Location.LocationType result = io.greptime.v1.region.Server.AddColumn.Location.LocationType.valueOf(locationType_);
-          return result == null ? io.greptime.v1.region.Server.AddColumn.Location.LocationType.UNRECOGNIZED : result;
-        }
-        /**
-         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-         * @param value The locationType to set.
-         * @return This builder for chaining.
-         */
-        public Builder setLocationType(io.greptime.v1.region.Server.AddColumn.Location.LocationType value) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          
-          locationType_ = value.getNumber();
-          onChanged();
-          return this;
-        }
-        /**
-         * .greptime.v1.region.AddColumn.Location.LocationType location_type = 1;
-         * @return This builder for chaining.
-         */
-        public Builder clearLocationType() {
-          
-          locationType_ = 0;
-          onChanged();
-          return this;
-        }
-
-        private java.lang.Object afterColumnName_ = "";
-        /**
-         * string after_column_name = 2;
-         * @return The afterColumnName.
-         */
-        public java.lang.String getAfterColumnName() {
-          java.lang.Object ref = afterColumnName_;
-          if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            afterColumnName_ = s;
-            return s;
-          } else {
-            return (java.lang.String) ref;
-          }
-        }
-        /**
-         * string after_column_name = 2;
-         * @return The bytes for afterColumnName.
-         */
-        public com.google.protobuf.ByteString
-            getAfterColumnNameBytes() {
-          java.lang.Object ref = afterColumnName_;
-          if (ref instanceof String) {
-            com.google.protobuf.ByteString b = 
-                com.google.protobuf.ByteString.copyFromUtf8(
-                    (java.lang.String) ref);
-            afterColumnName_ = b;
-            return b;
-          } else {
-            return (com.google.protobuf.ByteString) ref;
-          }
-        }
-        /**
-         * string after_column_name = 2;
-         * @param value The afterColumnName to set.
-         * @return This builder for chaining.
-         */
-        public Builder setAfterColumnName(
-            java.lang.String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  
-          afterColumnName_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * string after_column_name = 2;
-         * @return This builder for chaining.
-         */
-        public Builder clearAfterColumnName() {
-          
-          afterColumnName_ = getDefaultInstance().getAfterColumnName();
-          onChanged();
-          return this;
-        }
-        /**
-         * string after_column_name = 2;
-         * @param value The bytes for afterColumnName to set.
-         * @return This builder for chaining.
-         */
-        public Builder setAfterColumnNameBytes(
-            com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-          
-          afterColumnName_ = value;
-          onChanged();
-          return this;
-        }
-        @java.lang.Override
-        public final Builder setUnknownFields(
-            final com.google.protobuf.UnknownFieldSet unknownFields) {
-          return super.setUnknownFields(unknownFields);
-        }
-
-        @java.lang.Override
-        public final Builder mergeUnknownFields(
-            final com.google.protobuf.UnknownFieldSet unknownFields) {
-          return super.mergeUnknownFields(unknownFields);
-        }
-
-
-        // @@protoc_insertion_point(builder_scope:greptime.v1.region.AddColumn.Location)
-      }
-
-      // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn.Location)
-      private static final io.greptime.v1.region.Server.AddColumn.Location DEFAULT_INSTANCE;
-      static {
-        DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AddColumn.Location();
-      }
-
-      public static io.greptime.v1.region.Server.AddColumn.Location getDefaultInstance() {
-        return DEFAULT_INSTANCE;
-      }
-
-      private static final com.google.protobuf.Parser
-          PARSER = new com.google.protobuf.AbstractParser() {
-        @java.lang.Override
-        public Location parsePartialFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          return new Location(input, extensionRegistry);
-        }
-      };
-
-      public static com.google.protobuf.Parser parser() {
-        return PARSER;
-      }
-
-      @java.lang.Override
-      public com.google.protobuf.Parser getParserForType() {
-        return PARSER;
-      }
-
-      @java.lang.Override
-      public io.greptime.v1.region.Server.AddColumn.Location getDefaultInstanceForType() {
-        return DEFAULT_INSTANCE;
-      }
-
-    }
-
     public static final int COLUMN_DEF_FIELD_NUMBER = 1;
     private io.greptime.v1.region.Server.ColumnDef columnDef_;
     /**
@@ -16010,9 +15225,9 @@ public boolean getIsKey() {
     }
 
     public static final int LOCATION_FIELD_NUMBER = 3;
-    private io.greptime.v1.region.Server.AddColumn.Location location_;
+    private io.greptime.v1.Ddl.AddColumnLocation location_;
     /**
-     * .greptime.v1.region.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      * @return Whether the location field is set.
      */
     @java.lang.Override
@@ -16020,18 +15235,18 @@ public boolean hasLocation() {
       return location_ != null;
     }
     /**
-     * .greptime.v1.region.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      * @return The location.
      */
     @java.lang.Override
-    public io.greptime.v1.region.Server.AddColumn.Location getLocation() {
-      return location_ == null ? io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance() : location_;
+    public io.greptime.v1.Ddl.AddColumnLocation getLocation() {
+      return location_ == null ? io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
     }
     /**
-     * .greptime.v1.region.AddColumn.Location location = 3;
+     * .greptime.v1.AddColumnLocation location = 3;
      */
     @java.lang.Override
-    public io.greptime.v1.region.Server.AddColumn.LocationOrBuilder getLocationOrBuilder() {
+    public io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder() {
       return getLocation();
     }
 
@@ -16548,31 +15763,31 @@ public Builder clearIsKey() {
         return this;
       }
 
-      private io.greptime.v1.region.Server.AddColumn.Location location_;
+      private io.greptime.v1.Ddl.AddColumnLocation location_;
       private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.region.Server.AddColumn.Location, io.greptime.v1.region.Server.AddColumn.Location.Builder, io.greptime.v1.region.Server.AddColumn.LocationOrBuilder> locationBuilder_;
+          io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> locationBuilder_;
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        * @return Whether the location field is set.
        */
       public boolean hasLocation() {
         return locationBuilder_ != null || location_ != null;
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        * @return The location.
        */
-      public io.greptime.v1.region.Server.AddColumn.Location getLocation() {
+      public io.greptime.v1.Ddl.AddColumnLocation getLocation() {
         if (locationBuilder_ == null) {
-          return location_ == null ? io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance() : location_;
+          return location_ == null ? io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
         } else {
           return locationBuilder_.getMessage();
         }
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
-      public Builder setLocation(io.greptime.v1.region.Server.AddColumn.Location value) {
+      public Builder setLocation(io.greptime.v1.Ddl.AddColumnLocation value) {
         if (locationBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -16586,10 +15801,10 @@ public Builder setLocation(io.greptime.v1.region.Server.AddColumn.Location value
         return this;
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
       public Builder setLocation(
-          io.greptime.v1.region.Server.AddColumn.Location.Builder builderForValue) {
+          io.greptime.v1.Ddl.AddColumnLocation.Builder builderForValue) {
         if (locationBuilder_ == null) {
           location_ = builderForValue.build();
           onChanged();
@@ -16600,13 +15815,13 @@ public Builder setLocation(
         return this;
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
-      public Builder mergeLocation(io.greptime.v1.region.Server.AddColumn.Location value) {
+      public Builder mergeLocation(io.greptime.v1.Ddl.AddColumnLocation value) {
         if (locationBuilder_ == null) {
           if (location_ != null) {
             location_ =
-              io.greptime.v1.region.Server.AddColumn.Location.newBuilder(location_).mergeFrom(value).buildPartial();
+              io.greptime.v1.Ddl.AddColumnLocation.newBuilder(location_).mergeFrom(value).buildPartial();
           } else {
             location_ = value;
           }
@@ -16618,7 +15833,7 @@ public Builder mergeLocation(io.greptime.v1.region.Server.AddColumn.Location val
         return this;
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
       public Builder clearLocation() {
         if (locationBuilder_ == null) {
@@ -16632,33 +15847,33 @@ public Builder clearLocation() {
         return this;
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
-      public io.greptime.v1.region.Server.AddColumn.Location.Builder getLocationBuilder() {
+      public io.greptime.v1.Ddl.AddColumnLocation.Builder getLocationBuilder() {
         
         onChanged();
         return getLocationFieldBuilder().getBuilder();
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
-      public io.greptime.v1.region.Server.AddColumn.LocationOrBuilder getLocationOrBuilder() {
+      public io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder() {
         if (locationBuilder_ != null) {
           return locationBuilder_.getMessageOrBuilder();
         } else {
           return location_ == null ?
-              io.greptime.v1.region.Server.AddColumn.Location.getDefaultInstance() : location_;
+              io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
         }
       }
       /**
-       * .greptime.v1.region.AddColumn.Location location = 3;
+       * .greptime.v1.AddColumnLocation location = 3;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-          io.greptime.v1.region.Server.AddColumn.Location, io.greptime.v1.region.Server.AddColumn.Location.Builder, io.greptime.v1.region.Server.AddColumn.LocationOrBuilder> 
+          io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> 
           getLocationFieldBuilder() {
         if (locationBuilder_ == null) {
           locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              io.greptime.v1.region.Server.AddColumn.Location, io.greptime.v1.region.Server.AddColumn.Location.Builder, io.greptime.v1.region.Server.AddColumn.LocationOrBuilder>(
+              io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder>(
                   getLocation(),
                   getParentForChildren(),
                   isClean());
@@ -19360,11 +18575,6 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() {
   private static final 
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_greptime_v1_region_AddColumn_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_greptime_v1_region_AddColumn_Location_descriptor;
-  private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_greptime_v1_region_AddColumn_Location_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_greptime_v1_region_DropColumn_descriptor;
   private static final 
@@ -19396,80 +18606,78 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() {
     java.lang.String[] descriptorData = {
       "\n\037greptime/v1/region/server.proto\022\022grept" +
       "ime.v1.region\032\030greptime/v1/common.proto\032" +
-      "\025greptime/v1/row.proto\"8\n\023RegionRequestH" +
-      "eader\022\020\n\010trace_id\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004" +
-      "\"\245\004\n\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.gre" +
-      "ptime.v1.region.RegionRequestHeader\0225\n\007i" +
-      "nserts\030\003 \001(\0132\".greptime.v1.region.Insert" +
-      "RequestsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v" +
-      "1.region.DeleteRequestsH\000\0223\n\006create\030\005 \001(" +
-      "\0132!.greptime.v1.region.CreateRequestH\000\022/" +
-      "\n\004drop\030\006 \001(\0132\037.greptime.v1.region.DropRe" +
-      "questH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.regi" +
-      "on.OpenRequestH\000\0221\n\005close\030\010 \001(\0132 .grepti" +
-      "me.v1.region.CloseRequestH\000\0221\n\005alter\030\t \001" +
-      "(\0132 .greptime.v1.region.AlterRequestH\000\0221" +
-      "\n\005flush\030\n \001(\0132 .greptime.v1.region.Flush" +
-      "RequestH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1" +
-      ".region.CompactRequestH\000B\006\n\004body\"T\n\016Regi" +
-      "onResponse\022+\n\006header\030\001 \001(\0132\033.greptime.v1" +
-      ".ResponseHeader\022\025\n\raffected_rows\030\002 \001(\004\"E" +
-      "\n\016InsertRequests\0223\n\010requests\030\001 \003(\0132!.gre" +
-      "ptime.v1.region.InsertRequest\"E\n\016DeleteR" +
-      "equests\0223\n\010requests\030\001 \003(\0132!.greptime.v1." +
-      "region.DeleteRequest\"C\n\rInsertRequest\022\021\n" +
-      "\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptim" +
-      "e.v1.Rows\"C\n\rDeleteRequest\022\021\n\tregion_id\030" +
-      "\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"/" +
-      "\n\014QueryRequest\022\021\n\tregion_id\030\001 \001(\004\022\014\n\004pla" +
-      "n\030\002 \001(\014\"\253\002\n\rCreateRequest\022\021\n\tregion_id\030\001" +
-      " \001(\004\022\016\n\006engine\030\002 \001(\t\0222\n\013column_defs\030\003 \003(" +
-      "\0132\035.greptime.v1.region.ColumnDef\022\023\n\013prim" +
-      "ary_key\030\004 \003(\r\022\034\n\024create_if_not_exists\030\005 " +
-      "\001(\010\022\017\n\007catalog\030\006 \001(\t\022\016\n\006schema\030\007 \001(\t\022?\n\007" +
-      "options\030\010 \003(\0132..greptime.v1.region.Creat" +
-      "eRequest.OptionsEntry\032.\n\014OptionsEntry\022\013\n" +
-      "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\" \n\013DropReq" +
-      "uest\022\021\n\tregion_id\030\001 \001(\004\"\300\001\n\013OpenRequest\022" +
-      "\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007ca" +
-      "talog\030\003 \001(\t\022\016\n\006schema\030\004 \001(\t\022=\n\007options\030\005" +
-      " \003(\0132,.greptime.v1.region.OpenRequest.Op" +
-      "tionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022" +
-      "\r\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n\tre" +
-      "gion_id\030\001 \001(\004\"\261\001\n\014AlterRequest\022\021\n\tregion" +
-      "_id\030\001 \001(\004\0225\n\013add_columns\030\002 \001(\0132\036.greptim" +
-      "e.v1.region.AddColumnsH\000\0227\n\014drop_columns" +
-      "\030\003 \001(\0132\037.greptime.v1.region.DropColumnsH" +
-      "\000\022\026\n\016schema_version\030\004 \001(\004B\006\n\004kind\"@\n\nAdd" +
-      "Columns\0222\n\013add_columns\030\001 \003(\0132\035.greptime." +
-      "v1.region.AddColumn\"C\n\013DropColumns\0224\n\014dr" +
-      "op_columns\030\001 \003(\0132\036.greptime.v1.region.Dr" +
-      "opColumn\"\242\002\n\tAddColumn\0221\n\ncolumn_def\030\001 \001" +
-      "(\0132\035.greptime.v1.region.ColumnDef\022\016\n\006is_" +
-      "key\030\002 \001(\010\0228\n\010location\030\003 \001(\0132&.greptime.v" +
-      "1.region.AddColumn.Location\032\227\001\n\010Location" +
-      "\022J\n\rlocation_type\030\001 \001(\01623.greptime.v1.re" +
-      "gion.AddColumn.Location.LocationType\022\031\n\021" +
-      "after_column_name\030\002 \001(\t\"$\n\014LocationType\022" +
-      "\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001\"\032\n\nDropColumn\022\014\n\004n" +
-      "ame\030\001 \001(\t\"!\n\014FlushRequest\022\021\n\tregion_id\030\001" +
-      " \001(\004\"#\n\016CompactRequest\022\021\n\tregion_id\030\001 \001(" +
-      "\004\"\276\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022\021\n\tcolumn_" +
-      "id\030\002 \001(\r\022-\n\010datatype\030\003 \001(\0162\033.greptime.v1" +
-      ".ColumnDataType\022\023\n\013is_nullable\030\004 \001(\010\022\032\n\022" +
-      "default_constraint\030\005 \001(\014\0220\n\rsemantic_typ" +
-      "e\030\006 \001(\0162\031.greptime.v1.SemanticType2Y\n\006Re" +
-      "gion\022O\n\006Handle\022!.greptime.v1.region.Regi" +
-      "onRequest\032\".greptime.v1.region.RegionRes" +
-      "ponseB]\n\025io.greptime.v1.regionB\006ServerZ<" +
-      "github.com/GreptimeTeam/greptime-proto/g" +
-      "o/greptime/v1/regionb\006proto3"
+      "\025greptime/v1/row.proto\032\025greptime/v1/ddl." +
+      "proto\"8\n\023RegionRequestHeader\022\020\n\010trace_id" +
+      "\030\001 \001(\004\022\017\n\007span_id\030\002 \001(\004\"\245\004\n\rRegionReques" +
+      "t\0227\n\006header\030\001 \001(\0132\'.greptime.v1.region.R" +
+      "egionRequestHeader\0225\n\007inserts\030\003 \001(\0132\".gr" +
+      "eptime.v1.region.InsertRequestsH\000\0225\n\007del" +
+      "etes\030\004 \001(\0132\".greptime.v1.region.DeleteRe" +
+      "questsH\000\0223\n\006create\030\005 \001(\0132!.greptime.v1.r" +
+      "egion.CreateRequestH\000\022/\n\004drop\030\006 \001(\0132\037.gr" +
+      "eptime.v1.region.DropRequestH\000\022/\n\004open\030\007" +
+      " \001(\0132\037.greptime.v1.region.OpenRequestH\000\022" +
+      "1\n\005close\030\010 \001(\0132 .greptime.v1.region.Clos" +
+      "eRequestH\000\0221\n\005alter\030\t \001(\0132 .greptime.v1." +
+      "region.AlterRequestH\000\0221\n\005flush\030\n \001(\0132 .g" +
+      "reptime.v1.region.FlushRequestH\000\0225\n\007comp" +
+      "act\030\013 \001(\0132\".greptime.v1.region.CompactRe" +
+      "questH\000B\006\n\004body\"T\n\016RegionResponse\022+\n\006hea" +
+      "der\030\001 \001(\0132\033.greptime.v1.ResponseHeader\022\025" +
+      "\n\raffected_rows\030\002 \001(\004\"E\n\016InsertRequests\022" +
+      "3\n\010requests\030\001 \003(\0132!.greptime.v1.region.I" +
+      "nsertRequest\"E\n\016DeleteRequests\0223\n\010reques" +
+      "ts\030\001 \003(\0132!.greptime.v1.region.DeleteRequ" +
+      "est\"C\n\rInsertRequest\022\021\n\tregion_id\030\001 \001(\004\022" +
+      "\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"C\n\rDele" +
+      "teRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001" +
+      "(\0132\021.greptime.v1.Rows\"/\n\014QueryRequest\022\021\n" +
+      "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\253\002\n\rCreat" +
+      "eRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 " +
+      "\001(\t\0222\n\013column_defs\030\003 \003(\0132\035.greptime.v1.r" +
+      "egion.ColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\034\n\024" +
+      "create_if_not_exists\030\005 \001(\010\022\017\n\007catalog\030\006 " +
+      "\001(\t\022\016\n\006schema\030\007 \001(\t\022?\n\007options\030\010 \003(\0132..g" +
+      "reptime.v1.region.CreateRequest.OptionsE" +
+      "ntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
+      "ue\030\002 \001(\t:\0028\001\" \n\013DropRequest\022\021\n\tregion_id" +
+      "\030\001 \001(\004\"\300\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(" +
+      "\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007catalog\030\003 \001(\t\022\016\n\006sc" +
+      "hema\030\004 \001(\t\022=\n\007options\030\005 \003(\0132,.greptime.v" +
+      "1.region.OpenRequest.OptionsEntry\032.\n\014Opt" +
+      "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" +
+      "\001\"!\n\014CloseRequest\022\021\n\tregion_id\030\001 \001(\004\"\261\001\n" +
+      "\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\0225\n\013add_" +
+      "columns\030\002 \001(\0132\036.greptime.v1.region.AddCo" +
+      "lumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037.greptime" +
+      ".v1.region.DropColumnsH\000\022\026\n\016schema_versi" +
+      "on\030\004 \001(\004B\006\n\004kind\"@\n\nAddColumns\0222\n\013add_co" +
+      "lumns\030\001 \003(\0132\035.greptime.v1.region.AddColu" +
+      "mn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(\0132" +
+      "\036.greptime.v1.region.DropColumn\"\200\001\n\tAddC" +
+      "olumn\0221\n\ncolumn_def\030\001 \001(\0132\035.greptime.v1." +
+      "region.ColumnDef\022\016\n\006is_key\030\002 \001(\010\0220\n\010loca" +
+      "tion\030\003 \001(\0132\036.greptime.v1.AddColumnLocati" +
+      "on\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"!\n\014FlushR" +
+      "equest\022\021\n\tregion_id\030\001 \001(\004\"#\n\016CompactRequ" +
+      "est\022\021\n\tregion_id\030\001 \001(\004\"\276\001\n\tColumnDef\022\014\n\004" +
+      "name\030\001 \001(\t\022\021\n\tcolumn_id\030\002 \001(\r\022-\n\010datatyp" +
+      "e\030\003 \001(\0162\033.greptime.v1.ColumnDataType\022\023\n\013" +
+      "is_nullable\030\004 \001(\010\022\032\n\022default_constraint\030" +
+      "\005 \001(\014\0220\n\rsemantic_type\030\006 \001(\0162\031.greptime." +
+      "v1.SemanticType2Y\n\006Region\022O\n\006Handle\022!.gr" +
+      "eptime.v1.region.RegionRequest\032\".greptim" +
+      "e.v1.region.RegionResponseB]\n\025io.greptim" +
+      "e.v1.regionB\006ServerZ
Date: Mon, 4 Sep 2023 14:38:18 +0800
Subject: [PATCH 4/6] feat: alter region request

---
 c++/greptime/v1/common.pb.cc                  |  390 +---
 c++/greptime/v1/common.pb.h                   |  343 +--
 c++/greptime/v1/ddl.pb.cc                     |  581 +++--
 c++/greptime/v1/ddl.pb.h                      |  560 +++--
 c++/greptime/v1/region/server.pb.cc           |  447 ++--
 c++/greptime/v1/region/server.pb.h            |  485 ++---
 go/greptime/v1/common.pb.go                   |  208 +-
 go/greptime/v1/ddl.pb.go                      |  353 ++--
 java/src/main/java/io/greptime/v1/Common.java |  880 +-------
 java/src/main/java/io/greptime/v1/Ddl.java    | 1862 +++++++++++------
 .../java/io/greptime/v1/region/Server.java    | 1100 ++++------
 proto/greptime/v1/common.proto                |    8 -
 proto/greptime/v1/ddl.proto                   |   12 +-
 proto/greptime/v1/region/server.proto         |   16 +-
 14 files changed, 3023 insertions(+), 4222 deletions(-)

diff --git a/c++/greptime/v1/common.pb.cc b/c++/greptime/v1/common.pb.cc
index 0bfe3345..9f12556a 100644
--- a/c++/greptime/v1/common.pb.cc
+++ b/c++/greptime/v1/common.pb.cc
@@ -134,22 +134,6 @@ struct FlightMetadataDefaultTypeInternal {
   };
 };
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FlightMetadataDefaultTypeInternal _FlightMetadata_default_instance_;
-PROTOBUF_CONSTEXPR ColumnDef::ColumnDef(
-    ::_pbi::ConstantInitialized): _impl_{
-    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
-  , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
-  , /*decltype(_impl_.datatype_)*/0
-  , /*decltype(_impl_.is_nullable_)*/false
-  , /*decltype(_impl_._cached_size_)*/{}} {}
-struct ColumnDefDefaultTypeInternal {
-  PROTOBUF_CONSTEXPR ColumnDefDefaultTypeInternal()
-      : _instance(::_pbi::ConstantInitialized{}) {}
-  ~ColumnDefDefaultTypeInternal() {}
-  union {
-    ColumnDef _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
 PROTOBUF_CONSTEXPR IntervalMonthDayNano::IntervalMonthDayNano(
     ::_pbi::ConstantInitialized): _impl_{
     /*decltype(_impl_.months_)*/0
@@ -167,7 +151,7 @@ struct IntervalMonthDayNanoDefaultTypeInternal {
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntervalMonthDayNanoDefaultTypeInternal _IntervalMonthDayNano_default_instance_;
 }  // namespace v1
 }  // namespace greptime
-static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcommon_2eproto[10];
+static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcommon_2eproto[9];
 static const ::_pb::EnumDescriptor* file_level_enum_descriptors_greptime_2fv1_2fcommon_2eproto[2];
 static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fcommon_2eproto = nullptr;
 
@@ -238,16 +222,6 @@ const uint32_t TableStruct_greptime_2fv1_2fcommon_2eproto::offsets[] PROTOBUF_SE
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::FlightMetadata, _impl_.affected_rows_),
   ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.name_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.datatype_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.is_nullable_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.default_constraint_),
-  ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::IntervalMonthDayNano, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
@@ -266,8 +240,7 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
   { 44, -1, -1, sizeof(::greptime::v1::Token)},
   { 51, -1, -1, sizeof(::greptime::v1::AffectedRows)},
   { 58, -1, -1, sizeof(::greptime::v1::FlightMetadata)},
-  { 65, -1, -1, sizeof(::greptime::v1::ColumnDef)},
-  { 75, -1, -1, sizeof(::greptime::v1::IntervalMonthDayNano)},
+  { 65, -1, -1, sizeof(::greptime::v1::IntervalMonthDayNano)},
 };
 
 static const ::_pb::Message* const file_default_instances[] = {
@@ -279,7 +252,6 @@ static const ::_pb::Message* const file_default_instances[] = {
   &::greptime::v1::_Token_default_instance_._instance,
   &::greptime::v1::_AffectedRows_default_instance_._instance,
   &::greptime::v1::_FlightMetadata_default_instance_._instance,
-  &::greptime::v1::_ColumnDef_default_instance_._instance,
   &::greptime::v1::_IntervalMonthDayNano_default_instance_._instance,
 };
 
@@ -298,32 +270,29 @@ const char descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto[] PROTOBUF_S
   "\"\026\n\005Token\022\r\n\005token\030\001 \001(\t\"\035\n\014AffectedRows"
   "\022\r\n\005value\030\001 \001(\r\"B\n\016FlightMetadata\0220\n\raff"
   "ected_rows\030\001 \001(\0132\031.greptime.v1.AffectedR"
-  "ows\"y\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022-\n\010dataty"
-  "pe\030\002 \001(\0162\033.greptime.v1.ColumnDataType\022\023\n"
-  "\013is_nullable\030\003 \001(\010\022\032\n\022default_constraint"
-  "\030\004 \001(\014\"I\n\024IntervalMonthDayNano\022\016\n\006months"
-  "\030\001 \001(\005\022\014\n\004days\030\002 \001(\005\022\023\n\013nanoseconds\030\003 \001("
-  "\003*1\n\014SemanticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n"
-  "\tTIMESTAMP\020\002*\306\003\n\016ColumnDataType\022\013\n\007BOOLE"
-  "AN\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005"
-  "INT64\020\004\022\t\n\005UINT8\020\005\022\n\n\006UINT16\020\006\022\n\n\006UINT32"
-  "\020\007\022\n\n\006UINT64\020\010\022\013\n\007FLOAT32\020\t\022\013\n\007FLOAT64\020\n"
-  "\022\n\n\006BINARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DA"
-  "TETIME\020\016\022\024\n\020TIMESTAMP_SECOND\020\017\022\031\n\025TIMEST"
-  "AMP_MILLISECOND\020\020\022\031\n\025TIMESTAMP_MICROSECO"
-  "ND\020\021\022\030\n\024TIMESTAMP_NANOSECOND\020\022\022\017\n\013TIME_S"
-  "ECOND\020\023\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MI"
-  "CROSECOND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTE"
-  "RVAL_YEAR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030"
-  "\022\033\n\027INTERVAL_MONTH_DAY_NANO\020\031BO\n\016io.grep"
-  "time.v1B\006CommonZ5github.com/GreptimeTeam"
-  "/greptime-proto/go/greptime/v1b\006proto3"
+  "ows\"I\n\024IntervalMonthDayNano\022\016\n\006months\030\001 "
+  "\001(\005\022\014\n\004days\030\002 \001(\005\022\023\n\013nanoseconds\030\003 \001(\003*1"
+  "\n\014SemanticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n\tTI"
+  "MESTAMP\020\002*\306\003\n\016ColumnDataType\022\013\n\007BOOLEAN\020"
+  "\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005INT"
+  "64\020\004\022\t\n\005UINT8\020\005\022\n\n\006UINT16\020\006\022\n\n\006UINT32\020\007\022"
+  "\n\n\006UINT64\020\010\022\013\n\007FLOAT32\020\t\022\013\n\007FLOAT64\020\n\022\n\n"
+  "\006BINARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DATET"
+  "IME\020\016\022\024\n\020TIMESTAMP_SECOND\020\017\022\031\n\025TIMESTAMP"
+  "_MILLISECOND\020\020\022\031\n\025TIMESTAMP_MICROSECOND\020"
+  "\021\022\030\n\024TIMESTAMP_NANOSECOND\020\022\022\017\n\013TIME_SECO"
+  "ND\020\023\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MICRO"
+  "SECOND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTERVA"
+  "L_YEAR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030\022\033\n"
+  "\027INTERVAL_MONTH_DAY_NANO\020\031BO\n\016io.greptim"
+  "e.v1B\006CommonZ5github.com/GreptimeTeam/gr"
+  "eptime-proto/go/greptime/v1b\006proto3"
   ;
 static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fcommon_2eproto_once;
 const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fcommon_2eproto = {
-    false, false, 1358, descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto,
+    false, false, 1235, descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto,
     "greptime/v1/common.proto",
-    &descriptor_table_greptime_2fv1_2fcommon_2eproto_once, nullptr, 0, 10,
+    &descriptor_table_greptime_2fv1_2fcommon_2eproto_once, nullptr, 0, 9,
     schemas, file_default_instances, TableStruct_greptime_2fv1_2fcommon_2eproto::offsets,
     file_level_metadata_greptime_2fv1_2fcommon_2eproto, file_level_enum_descriptors_greptime_2fv1_2fcommon_2eproto,
     file_level_service_descriptors_greptime_2fv1_2fcommon_2eproto,
@@ -2351,317 +2320,6 @@ ::PROTOBUF_NAMESPACE_ID::Metadata FlightMetadata::GetMetadata() const {
 
 // ===================================================================
 
-class ColumnDef::_Internal {
- public:
-};
-
-ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
-  SharedCtor(arena, is_message_owned);
-  // @@protoc_insertion_point(arena_constructor:greptime.v1.ColumnDef)
-}
-ColumnDef::ColumnDef(const ColumnDef& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  ColumnDef* const _this = this; (void)_this;
-  new (&_impl_) Impl_{
-      decltype(_impl_.name_){}
-    , decltype(_impl_.default_constraint_){}
-    , decltype(_impl_.datatype_){}
-    , decltype(_impl_.is_nullable_){}
-    , /*decltype(_impl_._cached_size_)*/{}};
-
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  _impl_.name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (!from._internal_name().empty()) {
-    _this->_impl_.name_.Set(from._internal_name(), 
-      _this->GetArenaForAllocation());
-  }
-  _impl_.default_constraint_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.default_constraint_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (!from._internal_default_constraint().empty()) {
-    _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), 
-      _this->GetArenaForAllocation());
-  }
-  ::memcpy(&_impl_.datatype_, &from._impl_.datatype_,
-    static_cast(reinterpret_cast(&_impl_.is_nullable_) -
-    reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.is_nullable_));
-  // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnDef)
-}
-
-inline void ColumnDef::SharedCtor(
-    ::_pb::Arena* arena, bool is_message_owned) {
-  (void)arena;
-  (void)is_message_owned;
-  new (&_impl_) Impl_{
-      decltype(_impl_.name_){}
-    , decltype(_impl_.default_constraint_){}
-    , decltype(_impl_.datatype_){0}
-    , decltype(_impl_.is_nullable_){false}
-    , /*decltype(_impl_._cached_size_)*/{}
-  };
-  _impl_.name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  _impl_.default_constraint_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.default_constraint_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-}
-
-ColumnDef::~ColumnDef() {
-  // @@protoc_insertion_point(destructor:greptime.v1.ColumnDef)
-  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
-  (void)arena;
-    return;
-  }
-  SharedDtor();
-}
-
-inline void ColumnDef::SharedDtor() {
-  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
-  _impl_.name_.Destroy();
-  _impl_.default_constraint_.Destroy();
-}
-
-void ColumnDef::SetCachedSize(int size) const {
-  _impl_._cached_size_.Set(size);
-}
-
-void ColumnDef::Clear() {
-// @@protoc_insertion_point(message_clear_start:greptime.v1.ColumnDef)
-  uint32_t cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  _impl_.name_.ClearToEmpty();
-  _impl_.default_constraint_.ClearToEmpty();
-  ::memset(&_impl_.datatype_, 0, static_cast(
-      reinterpret_cast(&_impl_.is_nullable_) -
-      reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.is_nullable_));
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    uint32_t tag;
-    ptr = ::_pbi::ReadTag(ptr, &tag);
-    switch (tag >> 3) {
-      // string name = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) {
-          auto str = _internal_mutable_name();
-          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.ColumnDef.name"));
-        } else
-          goto handle_unusual;
-        continue;
-      // .greptime.v1.ColumnDataType datatype = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) {
-          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_datatype(static_cast<::greptime::v1::ColumnDataType>(val));
-        } else
-          goto handle_unusual;
-        continue;
-      // bool is_nullable = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) {
-          _impl_.is_nullable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
-      // bytes default_constraint = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) {
-          auto str = _internal_mutable_default_constraint();
-          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
-      default:
-        goto handle_unusual;
-    }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
-  }  // while
-message_done:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto message_done;
-#undef CHK_
-}
-
-uint8_t* ColumnDef::_InternalSerialize(
-    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ColumnDef)
-  uint32_t cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string name = 1;
-  if (!this->_internal_name().empty()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_name().data(), static_cast(this->_internal_name().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "greptime.v1.ColumnDef.name");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_name(), target);
-  }
-
-  // .greptime.v1.ColumnDataType datatype = 2;
-  if (this->_internal_datatype() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteEnumToArray(
-      2, this->_internal_datatype(), target);
-  }
-
-  // bool is_nullable = 3;
-  if (this->_internal_is_nullable() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_nullable(), target);
-  }
-
-  // bytes default_constraint = 4;
-  if (!this->_internal_default_constraint().empty()) {
-    target = stream->WriteBytesMaybeAliased(
-        4, this->_internal_default_constraint(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.ColumnDef)
-  return target;
-}
-
-size_t ColumnDef::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ColumnDef)
-  size_t total_size = 0;
-
-  uint32_t cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string name = 1;
-  if (!this->_internal_name().empty()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_name());
-  }
-
-  // bytes default_constraint = 4;
-  if (!this->_internal_default_constraint().empty()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-        this->_internal_default_constraint());
-  }
-
-  // .greptime.v1.ColumnDataType datatype = 2;
-  if (this->_internal_datatype() != 0) {
-    total_size += 1 +
-      ::_pbi::WireFormatLite::EnumSize(this->_internal_datatype());
-  }
-
-  // bool is_nullable = 3;
-  if (this->_internal_is_nullable() != 0) {
-    total_size += 1 + 1;
-  }
-
-  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
-}
-
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnDef::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
-    ColumnDef::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnDef::GetClassData() const { return &_class_data_; }
-
-
-void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
-  auto* const _this = static_cast(&to_msg);
-  auto& from = static_cast(from_msg);
-  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.ColumnDef)
-  GOOGLE_DCHECK_NE(&from, _this);
-  uint32_t cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (!from._internal_name().empty()) {
-    _this->_internal_set_name(from._internal_name());
-  }
-  if (!from._internal_default_constraint().empty()) {
-    _this->_internal_set_default_constraint(from._internal_default_constraint());
-  }
-  if (from._internal_datatype() != 0) {
-    _this->_internal_set_datatype(from._internal_datatype());
-  }
-  if (from._internal_is_nullable() != 0) {
-    _this->_internal_set_is_nullable(from._internal_is_nullable());
-  }
-  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-}
-
-void ColumnDef::CopyFrom(const ColumnDef& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.ColumnDef)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ColumnDef::IsInitialized() const {
-  return true;
-}
-
-void ColumnDef::InternalSwap(ColumnDef* other) {
-  using std::swap;
-  auto* lhs_arena = GetArenaForAllocation();
-  auto* rhs_arena = other->GetArenaForAllocation();
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &_impl_.name_, lhs_arena,
-      &other->_impl_.name_, rhs_arena
-  );
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &_impl_.default_constraint_, lhs_arena,
-      &other->_impl_.default_constraint_, rhs_arena
-  );
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_nullable_)
-      + sizeof(ColumnDef::_impl_.is_nullable_)
-      - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.datatype_)>(
-          reinterpret_cast(&_impl_.datatype_),
-          reinterpret_cast(&other->_impl_.datatype_));
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
-  return ::_pbi::AssignDescriptors(
-      &descriptor_table_greptime_2fv1_2fcommon_2eproto_getter, &descriptor_table_greptime_2fv1_2fcommon_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fcommon_2eproto[8]);
-}
-
-// ===================================================================
-
 class IntervalMonthDayNano::_Internal {
  public:
 };
@@ -2892,7 +2550,7 @@ void IntervalMonthDayNano::InternalSwap(IntervalMonthDayNano* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata IntervalMonthDayNano::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fcommon_2eproto_getter, &descriptor_table_greptime_2fv1_2fcommon_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fcommon_2eproto[9]);
+      file_level_metadata_greptime_2fv1_2fcommon_2eproto[8]);
 }
 
 // @@protoc_insertion_point(namespace_scope)
@@ -2931,10 +2589,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::FlightMetadata*
 Arena::CreateMaybeMessage< ::greptime::v1::FlightMetadata >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::FlightMetadata >(arena);
 }
-template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef*
-Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef >(arena);
-}
 template<> PROTOBUF_NOINLINE ::greptime::v1::IntervalMonthDayNano*
 Arena::CreateMaybeMessage< ::greptime::v1::IntervalMonthDayNano >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::IntervalMonthDayNano >(arena);
diff --git a/c++/greptime/v1/common.pb.h b/c++/greptime/v1/common.pb.h
index 7850714b..7ab046a3 100644
--- a/c++/greptime/v1/common.pb.h
+++ b/c++/greptime/v1/common.pb.h
@@ -56,9 +56,6 @@ extern AuthHeaderDefaultTypeInternal _AuthHeader_default_instance_;
 class Basic;
 struct BasicDefaultTypeInternal;
 extern BasicDefaultTypeInternal _Basic_default_instance_;
-class ColumnDef;
-struct ColumnDefDefaultTypeInternal;
-extern ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
 class FlightMetadata;
 struct FlightMetadataDefaultTypeInternal;
 extern FlightMetadataDefaultTypeInternal _FlightMetadata_default_instance_;
@@ -83,7 +80,6 @@ PROTOBUF_NAMESPACE_OPEN
 template<> ::greptime::v1::AffectedRows* Arena::CreateMaybeMessage<::greptime::v1::AffectedRows>(Arena*);
 template<> ::greptime::v1::AuthHeader* Arena::CreateMaybeMessage<::greptime::v1::AuthHeader>(Arena*);
 template<> ::greptime::v1::Basic* Arena::CreateMaybeMessage<::greptime::v1::Basic>(Arena*);
-template<> ::greptime::v1::ColumnDef* Arena::CreateMaybeMessage<::greptime::v1::ColumnDef>(Arena*);
 template<> ::greptime::v1::FlightMetadata* Arena::CreateMaybeMessage<::greptime::v1::FlightMetadata>(Arena*);
 template<> ::greptime::v1::IntervalMonthDayNano* Arena::CreateMaybeMessage<::greptime::v1::IntervalMonthDayNano>(Arena*);
 template<> ::greptime::v1::RequestHeader* Arena::CreateMaybeMessage<::greptime::v1::RequestHeader>(Arena*);
@@ -1542,197 +1538,6 @@ class FlightMetadata final :
 };
 // -------------------------------------------------------------------
 
-class ColumnDef final :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnDef) */ {
- public:
-  inline ColumnDef() : ColumnDef(nullptr) {}
-  ~ColumnDef() override;
-  explicit PROTOBUF_CONSTEXPR ColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  ColumnDef(const ColumnDef& from);
-  ColumnDef(ColumnDef&& from) noexcept
-    : ColumnDef() {
-    *this = ::std::move(from);
-  }
-
-  inline ColumnDef& operator=(const ColumnDef& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline ColumnDef& operator=(ColumnDef&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()
-  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
-        && GetOwningArena() != nullptr
-  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
-    ) {
-      InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
-  }
-  static const ColumnDef& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const ColumnDef* internal_default_instance() {
-    return reinterpret_cast(
-               &_ColumnDef_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    8;
-
-  friend void swap(ColumnDef& a, ColumnDef& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(ColumnDef* other) {
-    if (other == this) return;
-  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
-    if (GetOwningArena() != nullptr &&
-        GetOwningArena() == other->GetOwningArena()) {
-   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
-    if (GetOwningArena() == other->GetOwningArena()) {
-  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(ColumnDef* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  ColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
-    return CreateMaybeMessage(arena);
-  }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
-  void CopyFrom(const ColumnDef& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
-  void MergeFrom( const ColumnDef& from) {
-    ColumnDef::MergeImpl(*this, from);
-  }
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
-  public:
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  uint8_t* _InternalSerialize(
-      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
-
-  private:
-  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(ColumnDef* other);
-
-  private:
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "greptime.v1.ColumnDef";
-  }
-  protected:
-  explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
-  public:
-
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kNameFieldNumber = 1,
-    kDefaultConstraintFieldNumber = 4,
-    kDatatypeFieldNumber = 2,
-    kIsNullableFieldNumber = 3,
-  };
-  // string name = 1;
-  void clear_name();
-  const std::string& name() const;
-  template 
-  void set_name(ArgT0&& arg0, ArgT... args);
-  std::string* mutable_name();
-  PROTOBUF_NODISCARD std::string* release_name();
-  void set_allocated_name(std::string* name);
-  private:
-  const std::string& _internal_name() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
-  std::string* _internal_mutable_name();
-  public:
-
-  // bytes default_constraint = 4;
-  void clear_default_constraint();
-  const std::string& default_constraint() const;
-  template 
-  void set_default_constraint(ArgT0&& arg0, ArgT... args);
-  std::string* mutable_default_constraint();
-  PROTOBUF_NODISCARD std::string* release_default_constraint();
-  void set_allocated_default_constraint(std::string* default_constraint);
-  private:
-  const std::string& _internal_default_constraint() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_constraint(const std::string& value);
-  std::string* _internal_mutable_default_constraint();
-  public:
-
-  // .greptime.v1.ColumnDataType datatype = 2;
-  void clear_datatype();
-  ::greptime::v1::ColumnDataType datatype() const;
-  void set_datatype(::greptime::v1::ColumnDataType value);
-  private:
-  ::greptime::v1::ColumnDataType _internal_datatype() const;
-  void _internal_set_datatype(::greptime::v1::ColumnDataType value);
-  public:
-
-  // bool is_nullable = 3;
-  void clear_is_nullable();
-  bool is_nullable() const;
-  void set_is_nullable(bool value);
-  private:
-  bool _internal_is_nullable() const;
-  void _internal_set_is_nullable(bool value);
-  public:
-
-  // @@protoc_insertion_point(class_scope:greptime.v1.ColumnDef)
- private:
-  class _Internal;
-
-  template  friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  struct Impl_ {
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_;
-    int datatype_;
-    bool is_nullable_;
-    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  };
-  union { Impl_ _impl_; };
-  friend struct ::TableStruct_greptime_2fv1_2fcommon_2eproto;
-};
-// -------------------------------------------------------------------
-
 class IntervalMonthDayNano final :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.IntervalMonthDayNano) */ {
  public:
@@ -1781,7 +1586,7 @@ class IntervalMonthDayNano final :
                &_IntervalMonthDayNano_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    9;
+    8;
 
   friend void swap(IntervalMonthDayNano& a, IntervalMonthDayNano& b) {
     a.Swap(&b);
@@ -2799,150 +2604,6 @@ inline void FlightMetadata::set_allocated_affected_rows(::greptime::v1::Affected
 
 // -------------------------------------------------------------------
 
-// ColumnDef
-
-// string name = 1;
-inline void ColumnDef::clear_name() {
-  _impl_.name_.ClearToEmpty();
-}
-inline const std::string& ColumnDef::name() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.name)
-  return _internal_name();
-}
-template 
-inline PROTOBUF_ALWAYS_INLINE
-void ColumnDef::set_name(ArgT0&& arg0, ArgT... args) {
- 
- _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation());
-  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.name)
-}
-inline std::string* ColumnDef::mutable_name() {
-  std::string* _s = _internal_mutable_name();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnDef.name)
-  return _s;
-}
-inline const std::string& ColumnDef::_internal_name() const {
-  return _impl_.name_.Get();
-}
-inline void ColumnDef::_internal_set_name(const std::string& value) {
-  
-  _impl_.name_.Set(value, GetArenaForAllocation());
-}
-inline std::string* ColumnDef::_internal_mutable_name() {
-  
-  return _impl_.name_.Mutable(GetArenaForAllocation());
-}
-inline std::string* ColumnDef::release_name() {
-  // @@protoc_insertion_point(field_release:greptime.v1.ColumnDef.name)
-  return _impl_.name_.Release();
-}
-inline void ColumnDef::set_allocated_name(std::string* name) {
-  if (name != nullptr) {
-    
-  } else {
-    
-  }
-  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (_impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArenaForAllocation());
-  }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.name)
-}
-
-// .greptime.v1.ColumnDataType datatype = 2;
-inline void ColumnDef::clear_datatype() {
-  _impl_.datatype_ = 0;
-}
-inline ::greptime::v1::ColumnDataType ColumnDef::_internal_datatype() const {
-  return static_cast< ::greptime::v1::ColumnDataType >(_impl_.datatype_);
-}
-inline ::greptime::v1::ColumnDataType ColumnDef::datatype() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.datatype)
-  return _internal_datatype();
-}
-inline void ColumnDef::_internal_set_datatype(::greptime::v1::ColumnDataType value) {
-  
-  _impl_.datatype_ = value;
-}
-inline void ColumnDef::set_datatype(::greptime::v1::ColumnDataType value) {
-  _internal_set_datatype(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.datatype)
-}
-
-// bool is_nullable = 3;
-inline void ColumnDef::clear_is_nullable() {
-  _impl_.is_nullable_ = false;
-}
-inline bool ColumnDef::_internal_is_nullable() const {
-  return _impl_.is_nullable_;
-}
-inline bool ColumnDef::is_nullable() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.is_nullable)
-  return _internal_is_nullable();
-}
-inline void ColumnDef::_internal_set_is_nullable(bool value) {
-  
-  _impl_.is_nullable_ = value;
-}
-inline void ColumnDef::set_is_nullable(bool value) {
-  _internal_set_is_nullable(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.is_nullable)
-}
-
-// bytes default_constraint = 4;
-inline void ColumnDef::clear_default_constraint() {
-  _impl_.default_constraint_.ClearToEmpty();
-}
-inline const std::string& ColumnDef::default_constraint() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.default_constraint)
-  return _internal_default_constraint();
-}
-template 
-inline PROTOBUF_ALWAYS_INLINE
-void ColumnDef::set_default_constraint(ArgT0&& arg0, ArgT... args) {
- 
- _impl_.default_constraint_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation());
-  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.default_constraint)
-}
-inline std::string* ColumnDef::mutable_default_constraint() {
-  std::string* _s = _internal_mutable_default_constraint();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnDef.default_constraint)
-  return _s;
-}
-inline const std::string& ColumnDef::_internal_default_constraint() const {
-  return _impl_.default_constraint_.Get();
-}
-inline void ColumnDef::_internal_set_default_constraint(const std::string& value) {
-  
-  _impl_.default_constraint_.Set(value, GetArenaForAllocation());
-}
-inline std::string* ColumnDef::_internal_mutable_default_constraint() {
-  
-  return _impl_.default_constraint_.Mutable(GetArenaForAllocation());
-}
-inline std::string* ColumnDef::release_default_constraint() {
-  // @@protoc_insertion_point(field_release:greptime.v1.ColumnDef.default_constraint)
-  return _impl_.default_constraint_.Release();
-}
-inline void ColumnDef::set_allocated_default_constraint(std::string* default_constraint) {
-  if (default_constraint != nullptr) {
-    
-  } else {
-    
-  }
-  _impl_.default_constraint_.SetAllocated(default_constraint, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (_impl_.default_constraint_.IsDefault()) {
-    _impl_.default_constraint_.Set("", GetArenaForAllocation());
-  }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.default_constraint)
-}
-
-// -------------------------------------------------------------------
-
 // IntervalMonthDayNano
 
 // int32 months = 1;
@@ -3024,8 +2685,6 @@ inline void IntervalMonthDayNano::set_nanoseconds(int64_t value) {
 
 // -------------------------------------------------------------------
 
-// -------------------------------------------------------------------
-
 
 // @@protoc_insertion_point(namespace_scope)
 
diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc
index d2e06b44..cbeeeae9 100644
--- a/c++/greptime/v1/ddl.pb.cc
+++ b/c++/greptime/v1/ddl.pb.cc
@@ -77,8 +77,6 @@ PROTOBUF_CONSTEXPR AlterExpr::AlterExpr(
     /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
   , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
   , /*decltype(_impl_.table_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
-  , /*decltype(_impl_.table_id_)*/nullptr
-  , /*decltype(_impl_.table_version_)*/uint64_t{0u}
   , /*decltype(_impl_.kind_)*/{}
   , /*decltype(_impl_._cached_size_)*/{}
   , /*decltype(_impl_._oneof_case_)*/{}} {}
@@ -192,7 +190,6 @@ PROTOBUF_CONSTEXPR AddColumn::AddColumn(
     ::_pbi::ConstantInitialized): _impl_{
     /*decltype(_impl_.column_def_)*/nullptr
   , /*decltype(_impl_.location_)*/nullptr
-  , /*decltype(_impl_.is_key_)*/false
   , /*decltype(_impl_._cached_size_)*/{}} {}
 struct AddColumnDefaultTypeInternal {
   PROTOBUF_CONSTEXPR AddColumnDefaultTypeInternal()
@@ -229,6 +226,23 @@ struct TableIdDefaultTypeInternal {
   };
 };
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableIdDefaultTypeInternal _TableId_default_instance_;
+PROTOBUF_CONSTEXPR ColumnDef::ColumnDef(
+    ::_pbi::ConstantInitialized): _impl_{
+    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
+  , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
+  , /*decltype(_impl_.datatype_)*/0
+  , /*decltype(_impl_.is_nullable_)*/false
+  , /*decltype(_impl_.semantic_type_)*/0
+  , /*decltype(_impl_._cached_size_)*/{}} {}
+struct ColumnDefDefaultTypeInternal {
+  PROTOBUF_CONSTEXPR ColumnDefDefaultTypeInternal()
+      : _instance(::_pbi::ConstantInitialized{}) {}
+  ~ColumnDefDefaultTypeInternal() {}
+  union {
+    ColumnDef _instance;
+  };
+};
+PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
 PROTOBUF_CONSTEXPR AddColumnLocation::AddColumnLocation(
     ::_pbi::ConstantInitialized): _impl_{
     /*decltype(_impl_.after_column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
@@ -245,7 +259,7 @@ struct AddColumnLocationDefaultTypeInternal {
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnLocationDefaultTypeInternal _AddColumnLocation_default_instance_;
 }  // namespace v1
 }  // namespace greptime
-static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fddl_2eproto[15];
+static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fddl_2eproto[16];
 static const ::_pb::EnumDescriptor* file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto[1];
 static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fddl_2eproto = nullptr;
 
@@ -302,8 +316,6 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI
   ::_pbi::kInvalidFieldOffsetTag,
   ::_pbi::kInvalidFieldOffsetTag,
   ::_pbi::kInvalidFieldOffsetTag,
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.table_id_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.table_version_),
   PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.kind_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _internal_metadata_),
@@ -372,7 +384,6 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI
   ~0u,  // no _weak_field_map_
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _impl_.column_def_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _impl_.is_key_),
   PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _impl_.location_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::DropColumn, _internal_metadata_),
@@ -389,6 +400,17 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::TableId, _impl_.id_),
   ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _inlined_string_donated_
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.name_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.datatype_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.is_nullable_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.default_constraint_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.semantic_type_),
+  ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
@@ -402,17 +424,18 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
   { 12, 20, -1, sizeof(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse)},
   { 22, -1, -1, sizeof(::greptime::v1::CreateTableExpr)},
   { 40, -1, -1, sizeof(::greptime::v1::AlterExpr)},
-  { 55, -1, -1, sizeof(::greptime::v1::DropTableExpr)},
-  { 65, 73, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)},
-  { 75, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)},
-  { 84, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)},
-  { 94, -1, -1, sizeof(::greptime::v1::AddColumns)},
-  { 101, -1, -1, sizeof(::greptime::v1::DropColumns)},
-  { 108, -1, -1, sizeof(::greptime::v1::RenameTable)},
-  { 115, -1, -1, sizeof(::greptime::v1::AddColumn)},
-  { 124, -1, -1, sizeof(::greptime::v1::DropColumn)},
-  { 131, -1, -1, sizeof(::greptime::v1::TableId)},
-  { 138, -1, -1, sizeof(::greptime::v1::AddColumnLocation)},
+  { 53, -1, -1, sizeof(::greptime::v1::DropTableExpr)},
+  { 63, 71, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)},
+  { 73, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)},
+  { 82, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)},
+  { 92, -1, -1, sizeof(::greptime::v1::AddColumns)},
+  { 99, -1, -1, sizeof(::greptime::v1::DropColumns)},
+  { 106, -1, -1, sizeof(::greptime::v1::RenameTable)},
+  { 113, -1, -1, sizeof(::greptime::v1::AddColumn)},
+  { 121, -1, -1, sizeof(::greptime::v1::DropColumn)},
+  { 128, -1, -1, sizeof(::greptime::v1::TableId)},
+  { 135, -1, -1, sizeof(::greptime::v1::ColumnDef)},
+  { 146, -1, -1, sizeof(::greptime::v1::AddColumnLocation)},
 };
 
 static const ::_pb::Message* const file_default_instances[] = {
@@ -430,6 +453,7 @@ static const ::_pb::Message* const file_default_instances[] = {
   &::greptime::v1::_AddColumn_default_instance_._instance,
   &::greptime::v1::_DropColumn_default_instance_._instance,
   &::greptime::v1::_TableId_default_instance_._instance,
+  &::greptime::v1::_ColumnDef_default_instance_._instance,
   &::greptime::v1::_AddColumnLocation_default_instance_._instance,
 };
 
@@ -453,48 +477,51 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT
   "le_id\030\n \001(\0132\024.greptime.v1.TableId\022\026\n\016reg"
   "ion_numbers\030\013 \003(\r\022\016\n\006engine\030\014 \001(\t\0323\n\021Tab"
   "leOptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001"
-  "(\t:\0028\001\"\245\002\n\tAlterExpr\022\024\n\014catalog_name\030\001 \001"
+  "(\t:\0028\001\"\346\001\n\tAlterExpr\022\024\n\014catalog_name\030\001 \001"
   "(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 "
   "\001(\t\022.\n\013add_columns\030\004 \001(\0132\027.greptime.v1.A"
   "ddColumnsH\000\0220\n\014drop_columns\030\005 \001(\0132\030.grep"
   "time.v1.DropColumnsH\000\0220\n\014rename_table\030\006 "
-  "\001(\0132\030.greptime.v1.RenameTableH\000\022&\n\010table"
-  "_id\030\007 \001(\0132\024.greptime.v1.TableId\022\025\n\rtable"
-  "_version\030\010 \001(\004B\006\n\004kind\"v\n\rDropTableExpr\022"
-  "\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001"
-  "(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\013"
-  "2\024.greptime.v1.TableId\"\270\001\n\022CreateDatabas"
-  "eExpr\022\025\n\rdatabase_name\030\001 \001(\t\022\034\n\024create_i"
-  "f_not_exists\030\002 \001(\010\022=\n\007options\030\003 \003(\0132,.gr"
-  "eptime.v1.CreateDatabaseExpr.OptionsEntr"
-  "y\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030"
-  "\002 \001(\t:\0028\001\"z\n\021TruncateTableExpr\022\024\n\014catalo"
-  "g_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntab"
-  "le_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.grepti"
-  "me.v1.TableId\"9\n\nAddColumns\022+\n\013add_colum"
-  "ns\030\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013Drop"
-  "Columns\022-\n\014drop_columns\030\001 \003(\0132\027.greptime"
-  ".v1.DropColumn\"%\n\013RenameTable\022\026\n\016new_tab"
-  "le_name\030\001 \001(\t\"y\n\tAddColumn\022*\n\ncolumn_def"
-  "\030\001 \001(\0132\026.greptime.v1.ColumnDef\022\016\n\006is_key"
-  "\030\002 \001(\010\0220\n\010location\030\003 \001(\0132\036.greptime.v1.A"
-  "ddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030\001"
-  " \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\230\001\n\021AddColum"
-  "nLocation\022B\n\rlocation_type\030\001 \001(\0162+.grept"
-  "ime.v1.AddColumnLocation.LocationType\022\031\n"
-  "\021after_column_name\030\002 \001(\t\"$\n\014LocationType"
-  "\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v1"
-  "B\003DdlZ5github.com/GreptimeTeam/greptime-"
-  "proto/go/greptime/v1b\006proto3"
+  "\001(\0132\030.greptime.v1.RenameTableH\000B\006\n\004kind\""
+  "v\n\rDropTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023"
+  "\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022"
+  "&\n\010table_id\030\004 \001(\0132\024.greptime.v1.TableId\""
+  "\270\001\n\022CreateDatabaseExpr\022\025\n\rdatabase_name\030"
+  "\001 \001(\t\022\034\n\024create_if_not_exists\030\002 \001(\010\022=\n\007o"
+  "ptions\030\003 \003(\0132,.greptime.v1.CreateDatabas"
+  "eExpr.OptionsEntry\032.\n\014OptionsEntry\022\013\n\003ke"
+  "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"z\n\021TruncateTa"
+  "bleExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_"
+  "name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010table_"
+  "id\030\004 \001(\0132\024.greptime.v1.TableId\"9\n\nAddCol"
+  "umns\022+\n\013add_columns\030\001 \003(\0132\026.greptime.v1."
+  "AddColumn\"<\n\013DropColumns\022-\n\014drop_columns"
+  "\030\001 \003(\0132\027.greptime.v1.DropColumn\"%\n\013Renam"
+  "eTable\022\026\n\016new_table_name\030\001 \001(\t\"i\n\tAddCol"
+  "umn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Co"
+  "lumnDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1."
+  "AddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030"
+  "\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\253\001\n\tColumnD"
+  "ef\022\014\n\004name\030\001 \001(\t\022-\n\010datatype\030\002 \001(\0162\033.gre"
+  "ptime.v1.ColumnDataType\022\023\n\013is_nullable\030\003"
+  " \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rsema"
+  "ntic_type\030\005 \001(\0162\031.greptime.v1.SemanticTy"
+  "pe\"\230\001\n\021AddColumnLocation\022B\n\rlocation_typ"
+  "e\030\001 \001(\0162+.greptime.v1.AddColumnLocation."
+  "LocationType\022\031\n\021after_column_name\030\002 \001(\t\""
+  "$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n"
+  "\016io.greptime.v1B\003DdlZ5github.com/Greptim"
+  "eTeam/greptime-proto/go/greptime/v1b\006pro"
+  "to3"
   ;
 static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fddl_2eproto_deps[1] = {
   &::descriptor_table_greptime_2fv1_2fcommon_2eproto,
 };
 static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fddl_2eproto_once;
 const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fddl_2eproto = {
-    false, false, 2068, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
+    false, false, 2163, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
     "greptime/v1/ddl.proto",
-    &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 15,
+    &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 16,
     schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets,
     file_level_metadata_greptime_2fv1_2fddl_2eproto, file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto,
     file_level_service_descriptors_greptime_2fv1_2fddl_2eproto,
@@ -1033,9 +1060,6 @@ const ::greptime::v1::TableId&
 CreateTableExpr::_Internal::table_id(const CreateTableExpr* msg) {
   return *msg->_impl_.table_id_;
 }
-void CreateTableExpr::clear_column_defs() {
-  _impl_.column_defs_.Clear();
-}
 CreateTableExpr::CreateTableExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                          bool is_message_owned)
   : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
@@ -1741,7 +1765,6 @@ class AlterExpr::_Internal {
   static const ::greptime::v1::AddColumns& add_columns(const AlterExpr* msg);
   static const ::greptime::v1::DropColumns& drop_columns(const AlterExpr* msg);
   static const ::greptime::v1::RenameTable& rename_table(const AlterExpr* msg);
-  static const ::greptime::v1::TableId& table_id(const AlterExpr* msg);
 };
 
 const ::greptime::v1::AddColumns&
@@ -1756,10 +1779,6 @@ const ::greptime::v1::RenameTable&
 AlterExpr::_Internal::rename_table(const AlterExpr* msg) {
   return *msg->_impl_.kind_.rename_table_;
 }
-const ::greptime::v1::TableId&
-AlterExpr::_Internal::table_id(const AlterExpr* msg) {
-  return *msg->_impl_.table_id_;
-}
 void AlterExpr::set_allocated_add_columns(::greptime::v1::AddColumns* add_columns) {
   ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
   clear_kind();
@@ -1818,8 +1837,6 @@ AlterExpr::AlterExpr(const AlterExpr& from)
       decltype(_impl_.catalog_name_){}
     , decltype(_impl_.schema_name_){}
     , decltype(_impl_.table_name_){}
-    , decltype(_impl_.table_id_){nullptr}
-    , decltype(_impl_.table_version_){}
     , decltype(_impl_.kind_){}
     , /*decltype(_impl_._cached_size_)*/{}
     , /*decltype(_impl_._oneof_case_)*/{}};
@@ -1849,10 +1866,6 @@ AlterExpr::AlterExpr(const AlterExpr& from)
     _this->_impl_.table_name_.Set(from._internal_table_name(), 
       _this->GetArenaForAllocation());
   }
-  if (from._internal_has_table_id()) {
-    _this->_impl_.table_id_ = new ::greptime::v1::TableId(*from._impl_.table_id_);
-  }
-  _this->_impl_.table_version_ = from._impl_.table_version_;
   clear_has_kind();
   switch (from.kind_case()) {
     case kAddColumns: {
@@ -1885,8 +1898,6 @@ inline void AlterExpr::SharedCtor(
       decltype(_impl_.catalog_name_){}
     , decltype(_impl_.schema_name_){}
     , decltype(_impl_.table_name_){}
-    , decltype(_impl_.table_id_){nullptr}
-    , decltype(_impl_.table_version_){uint64_t{0u}}
     , decltype(_impl_.kind_){}
     , /*decltype(_impl_._cached_size_)*/{}
     , /*decltype(_impl_._oneof_case_)*/{}
@@ -1920,7 +1931,6 @@ inline void AlterExpr::SharedDtor() {
   _impl_.catalog_name_.Destroy();
   _impl_.schema_name_.Destroy();
   _impl_.table_name_.Destroy();
-  if (this != internal_default_instance()) delete _impl_.table_id_;
   if (has_kind()) {
     clear_kind();
   }
@@ -1968,11 +1978,6 @@ void AlterExpr::Clear() {
   _impl_.catalog_name_.ClearToEmpty();
   _impl_.schema_name_.ClearToEmpty();
   _impl_.table_name_.ClearToEmpty();
-  if (GetArenaForAllocation() == nullptr && _impl_.table_id_ != nullptr) {
-    delete _impl_.table_id_;
-  }
-  _impl_.table_id_ = nullptr;
-  _impl_.table_version_ = uint64_t{0u};
   clear_kind();
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
@@ -2037,22 +2042,6 @@ const char* AlterExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
         } else
           goto handle_unusual;
         continue;
-      // .greptime.v1.TableId table_id = 7;
-      case 7:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) {
-          ptr = ctx->ParseMessage(_internal_mutable_table_id(), ptr);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
-      // uint64 table_version = 8;
-      case 8:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) {
-          _impl_.table_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
       default:
         goto handle_unusual;
     }  // switch
@@ -2133,19 +2122,6 @@ uint8_t* AlterExpr::_InternalSerialize(
         _Internal::rename_table(this).GetCachedSize(), target, stream);
   }
 
-  // .greptime.v1.TableId table_id = 7;
-  if (this->_internal_has_table_id()) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(7, _Internal::table_id(this),
-        _Internal::table_id(this).GetCachedSize(), target, stream);
-  }
-
-  // uint64 table_version = 8;
-  if (this->_internal_table_version() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(8, this->_internal_table_version(), target);
-  }
-
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
@@ -2183,18 +2159,6 @@ size_t AlterExpr::ByteSizeLong() const {
         this->_internal_table_name());
   }
 
-  // .greptime.v1.TableId table_id = 7;
-  if (this->_internal_has_table_id()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-        *_impl_.table_id_);
-  }
-
-  // uint64 table_version = 8;
-  if (this->_internal_table_version() != 0) {
-    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_table_version());
-  }
-
   switch (kind_case()) {
     // .greptime.v1.AddColumns add_columns = 4;
     case kAddColumns: {
@@ -2248,13 +2212,6 @@ void AlterExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT
   if (!from._internal_table_name().empty()) {
     _this->_internal_set_table_name(from._internal_table_name());
   }
-  if (from._internal_has_table_id()) {
-    _this->_internal_mutable_table_id()->::greptime::v1::TableId::MergeFrom(
-        from._internal_table_id());
-  }
-  if (from._internal_table_version() != 0) {
-    _this->_internal_set_table_version(from._internal_table_version());
-  }
   switch (from.kind_case()) {
     case kAddColumns: {
       _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom(
@@ -2306,12 +2263,6 @@ void AlterExpr::InternalSwap(AlterExpr* other) {
       &_impl_.table_name_, lhs_arena,
       &other->_impl_.table_name_, rhs_arena
   );
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(AlterExpr, _impl_.table_version_)
-      + sizeof(AlterExpr::_impl_.table_version_)
-      - PROTOBUF_FIELD_OFFSET(AlterExpr, _impl_.table_id_)>(
-          reinterpret_cast(&_impl_.table_id_),
-          reinterpret_cast(&other->_impl_.table_id_));
   swap(_impl_.kind_, other->_impl_.kind_);
   swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
 }
@@ -3913,12 +3864,6 @@ const ::greptime::v1::AddColumnLocation&
 AddColumn::_Internal::location(const AddColumn* msg) {
   return *msg->_impl_.location_;
 }
-void AddColumn::clear_column_def() {
-  if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) {
-    delete _impl_.column_def_;
-  }
-  _impl_.column_def_ = nullptr;
-}
 AddColumn::AddColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                          bool is_message_owned)
   : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
@@ -3931,7 +3876,6 @@ AddColumn::AddColumn(const AddColumn& from)
   new (&_impl_) Impl_{
       decltype(_impl_.column_def_){nullptr}
     , decltype(_impl_.location_){nullptr}
-    , decltype(_impl_.is_key_){}
     , /*decltype(_impl_._cached_size_)*/{}};
 
   _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
@@ -3941,7 +3885,6 @@ AddColumn::AddColumn(const AddColumn& from)
   if (from._internal_has_location()) {
     _this->_impl_.location_ = new ::greptime::v1::AddColumnLocation(*from._impl_.location_);
   }
-  _this->_impl_.is_key_ = from._impl_.is_key_;
   // @@protoc_insertion_point(copy_constructor:greptime.v1.AddColumn)
 }
 
@@ -3952,7 +3895,6 @@ inline void AddColumn::SharedCtor(
   new (&_impl_) Impl_{
       decltype(_impl_.column_def_){nullptr}
     , decltype(_impl_.location_){nullptr}
-    , decltype(_impl_.is_key_){false}
     , /*decltype(_impl_._cached_size_)*/{}
   };
 }
@@ -3990,7 +3932,6 @@ void AddColumn::Clear() {
     delete _impl_.location_;
   }
   _impl_.location_ = nullptr;
-  _impl_.is_key_ = false;
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
@@ -4008,14 +3949,6 @@ const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
         } else
           goto handle_unusual;
         continue;
-      // bool is_key = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) {
-          _impl_.is_key_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
       // .greptime.v1.AddColumnLocation location = 3;
       case 3:
         if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) {
@@ -4060,12 +3993,6 @@ uint8_t* AddColumn::_InternalSerialize(
         _Internal::column_def(this).GetCachedSize(), target, stream);
   }
 
-  // bool is_key = 2;
-  if (this->_internal_is_key() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_key(), target);
-  }
-
   // .greptime.v1.AddColumnLocation location = 3;
   if (this->_internal_has_location()) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
@@ -4103,11 +4030,6 @@ size_t AddColumn::ByteSizeLong() const {
         *_impl_.location_);
   }
 
-  // bool is_key = 2;
-  if (this->_internal_is_key() != 0) {
-    total_size += 1 + 1;
-  }
-
   return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
 }
 
@@ -4134,9 +4056,6 @@ void AddColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT
     _this->_internal_mutable_location()->::greptime::v1::AddColumnLocation::MergeFrom(
         from._internal_location());
   }
-  if (from._internal_is_key() != 0) {
-    _this->_internal_set_is_key(from._internal_is_key());
-  }
   _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
 }
 
@@ -4155,8 +4074,8 @@ void AddColumn::InternalSwap(AddColumn* other) {
   using std::swap;
   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.is_key_)
-      + sizeof(AddColumn::_impl_.is_key_)
+      PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.location_)
+      + sizeof(AddColumn::_impl_.location_)
       - PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.column_def_)>(
           reinterpret_cast(&_impl_.column_def_),
           reinterpret_cast(&other->_impl_.column_def_));
@@ -4551,6 +4470,344 @@ ::PROTOBUF_NAMESPACE_ID::Metadata TableId::GetMetadata() const {
 
 // ===================================================================
 
+class ColumnDef::_Internal {
+ public:
+};
+
+ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+                         bool is_message_owned)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
+  SharedCtor(arena, is_message_owned);
+  // @@protoc_insertion_point(arena_constructor:greptime.v1.ColumnDef)
+}
+ColumnDef::ColumnDef(const ColumnDef& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message() {
+  ColumnDef* const _this = this; (void)_this;
+  new (&_impl_) Impl_{
+      decltype(_impl_.name_){}
+    , decltype(_impl_.default_constraint_){}
+    , decltype(_impl_.datatype_){}
+    , decltype(_impl_.is_nullable_){}
+    , decltype(_impl_.semantic_type_){}
+    , /*decltype(_impl_._cached_size_)*/{}};
+
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  _impl_.name_.InitDefault();
+  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+    _impl_.name_.Set("", GetArenaForAllocation());
+  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  if (!from._internal_name().empty()) {
+    _this->_impl_.name_.Set(from._internal_name(), 
+      _this->GetArenaForAllocation());
+  }
+  _impl_.default_constraint_.InitDefault();
+  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+    _impl_.default_constraint_.Set("", GetArenaForAllocation());
+  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  if (!from._internal_default_constraint().empty()) {
+    _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), 
+      _this->GetArenaForAllocation());
+  }
+  ::memcpy(&_impl_.datatype_, &from._impl_.datatype_,
+    static_cast(reinterpret_cast(&_impl_.semantic_type_) -
+    reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_));
+  // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnDef)
+}
+
+inline void ColumnDef::SharedCtor(
+    ::_pb::Arena* arena, bool is_message_owned) {
+  (void)arena;
+  (void)is_message_owned;
+  new (&_impl_) Impl_{
+      decltype(_impl_.name_){}
+    , decltype(_impl_.default_constraint_){}
+    , decltype(_impl_.datatype_){0}
+    , decltype(_impl_.is_nullable_){false}
+    , decltype(_impl_.semantic_type_){0}
+    , /*decltype(_impl_._cached_size_)*/{}
+  };
+  _impl_.name_.InitDefault();
+  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+    _impl_.name_.Set("", GetArenaForAllocation());
+  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  _impl_.default_constraint_.InitDefault();
+  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+    _impl_.default_constraint_.Set("", GetArenaForAllocation());
+  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+}
+
+ColumnDef::~ColumnDef() {
+  // @@protoc_insertion_point(destructor:greptime.v1.ColumnDef)
+  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
+  (void)arena;
+    return;
+  }
+  SharedDtor();
+}
+
+inline void ColumnDef::SharedDtor() {
+  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
+  _impl_.name_.Destroy();
+  _impl_.default_constraint_.Destroy();
+}
+
+void ColumnDef::SetCachedSize(int size) const {
+  _impl_._cached_size_.Set(size);
+}
+
+void ColumnDef::Clear() {
+// @@protoc_insertion_point(message_clear_start:greptime.v1.ColumnDef)
+  uint32_t cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _impl_.name_.ClearToEmpty();
+  _impl_.default_constraint_.ClearToEmpty();
+  ::memset(&_impl_.datatype_, 0, static_cast(
+      reinterpret_cast(&_impl_.semantic_type_) -
+      reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_));
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    uint32_t tag;
+    ptr = ::_pbi::ReadTag(ptr, &tag);
+    switch (tag >> 3) {
+      // string name = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) {
+          auto str = _internal_mutable_name();
+          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
+          CHK_(ptr);
+          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.ColumnDef.name"));
+        } else
+          goto handle_unusual;
+        continue;
+      // .greptime.v1.ColumnDataType datatype = 2;
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) {
+          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+          _internal_set_datatype(static_cast<::greptime::v1::ColumnDataType>(val));
+        } else
+          goto handle_unusual;
+        continue;
+      // bool is_nullable = 3;
+      case 3:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) {
+          _impl_.is_nullable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+        } else
+          goto handle_unusual;
+        continue;
+      // bytes default_constraint = 4;
+      case 4:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) {
+          auto str = _internal_mutable_default_constraint();
+          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
+          CHK_(ptr);
+        } else
+          goto handle_unusual;
+        continue;
+      // .greptime.v1.SemanticType semantic_type = 5;
+      case 5:
+        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) {
+          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+          _internal_set_semantic_type(static_cast<::greptime::v1::SemanticType>(val));
+        } else
+          goto handle_unusual;
+        continue;
+      default:
+        goto handle_unusual;
+    }  // switch
+  handle_unusual:
+    if ((tag == 0) || ((tag & 7) == 4)) {
+      CHK_(ptr);
+      ctx->SetLastTag(tag);
+      goto message_done;
+    }
+    ptr = UnknownFieldParse(
+        tag,
+        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+        ptr, ctx);
+    CHK_(ptr != nullptr);
+  }  // while
+message_done:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto message_done;
+#undef CHK_
+}
+
+uint8_t* ColumnDef::_InternalSerialize(
+    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ColumnDef)
+  uint32_t cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (!this->_internal_name().empty()) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->_internal_name().data(), static_cast(this->_internal_name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "greptime.v1.ColumnDef.name");
+    target = stream->WriteStringMaybeAliased(
+        1, this->_internal_name(), target);
+  }
+
+  // .greptime.v1.ColumnDataType datatype = 2;
+  if (this->_internal_datatype() != 0) {
+    target = stream->EnsureSpace(target);
+    target = ::_pbi::WireFormatLite::WriteEnumToArray(
+      2, this->_internal_datatype(), target);
+  }
+
+  // bool is_nullable = 3;
+  if (this->_internal_is_nullable() != 0) {
+    target = stream->EnsureSpace(target);
+    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_nullable(), target);
+  }
+
+  // bytes default_constraint = 4;
+  if (!this->_internal_default_constraint().empty()) {
+    target = stream->WriteBytesMaybeAliased(
+        4, this->_internal_default_constraint(), target);
+  }
+
+  // .greptime.v1.SemanticType semantic_type = 5;
+  if (this->_internal_semantic_type() != 0) {
+    target = stream->EnsureSpace(target);
+    target = ::_pbi::WireFormatLite::WriteEnumToArray(
+      5, this->_internal_semantic_type(), target);
+  }
+
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.ColumnDef)
+  return target;
+}
+
+size_t ColumnDef::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ColumnDef)
+  size_t total_size = 0;
+
+  uint32_t cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (!this->_internal_name().empty()) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+        this->_internal_name());
+  }
+
+  // bytes default_constraint = 4;
+  if (!this->_internal_default_constraint().empty()) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
+        this->_internal_default_constraint());
+  }
+
+  // .greptime.v1.ColumnDataType datatype = 2;
+  if (this->_internal_datatype() != 0) {
+    total_size += 1 +
+      ::_pbi::WireFormatLite::EnumSize(this->_internal_datatype());
+  }
+
+  // bool is_nullable = 3;
+  if (this->_internal_is_nullable() != 0) {
+    total_size += 1 + 1;
+  }
+
+  // .greptime.v1.SemanticType semantic_type = 5;
+  if (this->_internal_semantic_type() != 0) {
+    total_size += 1 +
+      ::_pbi::WireFormatLite::EnumSize(this->_internal_semantic_type());
+  }
+
+  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
+}
+
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnDef::_class_data_ = {
+    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
+    ColumnDef::MergeImpl
+};
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnDef::GetClassData() const { return &_class_data_; }
+
+
+void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
+  auto* const _this = static_cast(&to_msg);
+  auto& from = static_cast(from_msg);
+  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.ColumnDef)
+  GOOGLE_DCHECK_NE(&from, _this);
+  uint32_t cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (!from._internal_name().empty()) {
+    _this->_internal_set_name(from._internal_name());
+  }
+  if (!from._internal_default_constraint().empty()) {
+    _this->_internal_set_default_constraint(from._internal_default_constraint());
+  }
+  if (from._internal_datatype() != 0) {
+    _this->_internal_set_datatype(from._internal_datatype());
+  }
+  if (from._internal_is_nullable() != 0) {
+    _this->_internal_set_is_nullable(from._internal_is_nullable());
+  }
+  if (from._internal_semantic_type() != 0) {
+    _this->_internal_set_semantic_type(from._internal_semantic_type());
+  }
+  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+}
+
+void ColumnDef::CopyFrom(const ColumnDef& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.ColumnDef)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ColumnDef::IsInitialized() const {
+  return true;
+}
+
+void ColumnDef::InternalSwap(ColumnDef* other) {
+  using std::swap;
+  auto* lhs_arena = GetArenaForAllocation();
+  auto* rhs_arena = other->GetArenaForAllocation();
+  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
+      &_impl_.name_, lhs_arena,
+      &other->_impl_.name_, rhs_arena
+  );
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
+      &_impl_.default_constraint_, lhs_arena,
+      &other->_impl_.default_constraint_, rhs_arena
+  );
+  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
+      PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.semantic_type_)
+      + sizeof(ColumnDef::_impl_.semantic_type_)
+      - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.datatype_)>(
+          reinterpret_cast(&_impl_.datatype_),
+          reinterpret_cast(&other->_impl_.datatype_));
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
+  return ::_pbi::AssignDescriptors(
+      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
+      file_level_metadata_greptime_2fv1_2fddl_2eproto[14]);
+}
+
+// ===================================================================
+
 class AddColumnLocation::_Internal {
  public:
 };
@@ -4779,7 +5036,7 @@ void AddColumnLocation::InternalSwap(AddColumnLocation* other) {
 ::PROTOBUF_NAMESPACE_ID::Metadata AddColumnLocation::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
-      file_level_metadata_greptime_2fv1_2fddl_2eproto[14]);
+      file_level_metadata_greptime_2fv1_2fddl_2eproto[15]);
 }
 
 // @@protoc_insertion_point(namespace_scope)
@@ -4842,6 +5099,10 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::TableId*
 Arena::CreateMaybeMessage< ::greptime::v1::TableId >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::TableId >(arena);
 }
+template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef*
+Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef >(arena);
+}
 template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumnLocation*
 Arena::CreateMaybeMessage< ::greptime::v1::AddColumnLocation >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::AddColumnLocation >(arena);
diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h
index bbed5842..24a30d39 100644
--- a/c++/greptime/v1/ddl.pb.h
+++ b/c++/greptime/v1/ddl.pb.h
@@ -63,6 +63,9 @@ extern AddColumnsDefaultTypeInternal _AddColumns_default_instance_;
 class AlterExpr;
 struct AlterExprDefaultTypeInternal;
 extern AlterExprDefaultTypeInternal _AlterExpr_default_instance_;
+class ColumnDef;
+struct ColumnDefDefaultTypeInternal;
+extern ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
 class CreateDatabaseExpr;
 struct CreateDatabaseExprDefaultTypeInternal;
 extern CreateDatabaseExprDefaultTypeInternal _CreateDatabaseExpr_default_instance_;
@@ -103,6 +106,7 @@ template<> ::greptime::v1::AddColumn* Arena::CreateMaybeMessage<::greptime::v1::
 template<> ::greptime::v1::AddColumnLocation* Arena::CreateMaybeMessage<::greptime::v1::AddColumnLocation>(Arena*);
 template<> ::greptime::v1::AddColumns* Arena::CreateMaybeMessage<::greptime::v1::AddColumns>(Arena*);
 template<> ::greptime::v1::AlterExpr* Arena::CreateMaybeMessage<::greptime::v1::AlterExpr>(Arena*);
+template<> ::greptime::v1::ColumnDef* Arena::CreateMaybeMessage<::greptime::v1::ColumnDef>(Arena*);
 template<> ::greptime::v1::CreateDatabaseExpr* Arena::CreateMaybeMessage<::greptime::v1::CreateDatabaseExpr>(Arena*);
 template<> ::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse>(Arena*);
 template<> ::greptime::v1::CreateTableExpr* Arena::CreateMaybeMessage<::greptime::v1::CreateTableExpr>(Arena*);
@@ -927,8 +931,6 @@ class AlterExpr final :
     kCatalogNameFieldNumber = 1,
     kSchemaNameFieldNumber = 2,
     kTableNameFieldNumber = 3,
-    kTableIdFieldNumber = 7,
-    kTableVersionFieldNumber = 8,
     kAddColumnsFieldNumber = 4,
     kDropColumnsFieldNumber = 5,
     kRenameTableFieldNumber = 6,
@@ -975,33 +977,6 @@ class AlterExpr final :
   std::string* _internal_mutable_table_name();
   public:
 
-  // .greptime.v1.TableId table_id = 7;
-  bool has_table_id() const;
-  private:
-  bool _internal_has_table_id() const;
-  public:
-  void clear_table_id();
-  const ::greptime::v1::TableId& table_id() const;
-  PROTOBUF_NODISCARD ::greptime::v1::TableId* release_table_id();
-  ::greptime::v1::TableId* mutable_table_id();
-  void set_allocated_table_id(::greptime::v1::TableId* table_id);
-  private:
-  const ::greptime::v1::TableId& _internal_table_id() const;
-  ::greptime::v1::TableId* _internal_mutable_table_id();
-  public:
-  void unsafe_arena_set_allocated_table_id(
-      ::greptime::v1::TableId* table_id);
-  ::greptime::v1::TableId* unsafe_arena_release_table_id();
-
-  // uint64 table_version = 8;
-  void clear_table_version();
-  uint64_t table_version() const;
-  void set_table_version(uint64_t value);
-  private:
-  uint64_t _internal_table_version() const;
-  void _internal_set_table_version(uint64_t value);
-  public:
-
   // .greptime.v1.AddColumns add_columns = 4;
   bool has_add_columns() const;
   private:
@@ -1075,8 +1050,6 @@ class AlterExpr final :
     ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr catalog_name_;
     ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr schema_name_;
     ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_;
-    ::greptime::v1::TableId* table_id_;
-    uint64_t table_version_;
     union KindUnion {
       constexpr KindUnion() : _constinit_{} {}
         ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
@@ -2311,7 +2284,6 @@ class AddColumn final :
   enum : int {
     kColumnDefFieldNumber = 1,
     kLocationFieldNumber = 3,
-    kIsKeyFieldNumber = 2,
   };
   // .greptime.v1.ColumnDef column_def = 1;
   bool has_column_def() const;
@@ -2349,15 +2321,6 @@ class AddColumn final :
       ::greptime::v1::AddColumnLocation* location);
   ::greptime::v1::AddColumnLocation* unsafe_arena_release_location();
 
-  // bool is_key = 2;
-  void clear_is_key();
-  bool is_key() const;
-  void set_is_key(bool value);
-  private:
-  bool _internal_is_key() const;
-  void _internal_set_is_key(bool value);
-  public:
-
   // @@protoc_insertion_point(class_scope:greptime.v1.AddColumn)
  private:
   class _Internal;
@@ -2368,7 +2331,6 @@ class AddColumn final :
   struct Impl_ {
     ::greptime::v1::ColumnDef* column_def_;
     ::greptime::v1::AddColumnLocation* location_;
-    bool is_key_;
     mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   };
   union { Impl_ _impl_; };
@@ -2677,6 +2639,208 @@ class TableId final :
 };
 // -------------------------------------------------------------------
 
+class ColumnDef final :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnDef) */ {
+ public:
+  inline ColumnDef() : ColumnDef(nullptr) {}
+  ~ColumnDef() override;
+  explicit PROTOBUF_CONSTEXPR ColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+
+  ColumnDef(const ColumnDef& from);
+  ColumnDef(ColumnDef&& from) noexcept
+    : ColumnDef() {
+    *this = ::std::move(from);
+  }
+
+  inline ColumnDef& operator=(const ColumnDef& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline ColumnDef& operator=(ColumnDef&& from) noexcept {
+    if (this == &from) return *this;
+    if (GetOwningArena() == from.GetOwningArena()
+  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
+        && GetOwningArena() != nullptr
+  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
+    ) {
+      InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return default_instance().GetMetadata().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return default_instance().GetMetadata().reflection;
+  }
+  static const ColumnDef& default_instance() {
+    return *internal_default_instance();
+  }
+  static inline const ColumnDef* internal_default_instance() {
+    return reinterpret_cast(
+               &_ColumnDef_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    14;
+
+  friend void swap(ColumnDef& a, ColumnDef& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(ColumnDef* other) {
+    if (other == this) return;
+  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
+    if (GetOwningArena() != nullptr &&
+        GetOwningArena() == other->GetOwningArena()) {
+   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
+    if (GetOwningArena() == other->GetOwningArena()) {
+  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(ColumnDef* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  ColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
+    return CreateMaybeMessage(arena);
+  }
+  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
+  void CopyFrom(const ColumnDef& from);
+  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
+  void MergeFrom( const ColumnDef& from) {
+    ColumnDef::MergeImpl(*this, from);
+  }
+  private:
+  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
+  public:
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  uint8_t* _InternalSerialize(
+      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
+
+  private:
+  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
+  void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(ColumnDef* other);
+
+  private:
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "greptime.v1.ColumnDef";
+  }
+  protected:
+  explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+                       bool is_message_owned = false);
+  public:
+
+  static const ClassData _class_data_;
+  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kNameFieldNumber = 1,
+    kDefaultConstraintFieldNumber = 4,
+    kDatatypeFieldNumber = 2,
+    kIsNullableFieldNumber = 3,
+    kSemanticTypeFieldNumber = 5,
+  };
+  // string name = 1;
+  void clear_name();
+  const std::string& name() const;
+  template 
+  void set_name(ArgT0&& arg0, ArgT... args);
+  std::string* mutable_name();
+  PROTOBUF_NODISCARD std::string* release_name();
+  void set_allocated_name(std::string* name);
+  private:
+  const std::string& _internal_name() const;
+  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
+  std::string* _internal_mutable_name();
+  public:
+
+  // bytes default_constraint = 4;
+  void clear_default_constraint();
+  const std::string& default_constraint() const;
+  template 
+  void set_default_constraint(ArgT0&& arg0, ArgT... args);
+  std::string* mutable_default_constraint();
+  PROTOBUF_NODISCARD std::string* release_default_constraint();
+  void set_allocated_default_constraint(std::string* default_constraint);
+  private:
+  const std::string& _internal_default_constraint() const;
+  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_constraint(const std::string& value);
+  std::string* _internal_mutable_default_constraint();
+  public:
+
+  // .greptime.v1.ColumnDataType datatype = 2;
+  void clear_datatype();
+  ::greptime::v1::ColumnDataType datatype() const;
+  void set_datatype(::greptime::v1::ColumnDataType value);
+  private:
+  ::greptime::v1::ColumnDataType _internal_datatype() const;
+  void _internal_set_datatype(::greptime::v1::ColumnDataType value);
+  public:
+
+  // bool is_nullable = 3;
+  void clear_is_nullable();
+  bool is_nullable() const;
+  void set_is_nullable(bool value);
+  private:
+  bool _internal_is_nullable() const;
+  void _internal_set_is_nullable(bool value);
+  public:
+
+  // .greptime.v1.SemanticType semantic_type = 5;
+  void clear_semantic_type();
+  ::greptime::v1::SemanticType semantic_type() const;
+  void set_semantic_type(::greptime::v1::SemanticType value);
+  private:
+  ::greptime::v1::SemanticType _internal_semantic_type() const;
+  void _internal_set_semantic_type(::greptime::v1::SemanticType value);
+  public:
+
+  // @@protoc_insertion_point(class_scope:greptime.v1.ColumnDef)
+ private:
+  class _Internal;
+
+  template  friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  struct Impl_ {
+    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
+    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_;
+    int datatype_;
+    bool is_nullable_;
+    int semantic_type_;
+    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  };
+  union { Impl_ _impl_; };
+  friend struct ::TableStruct_greptime_2fv1_2fddl_2eproto;
+};
+// -------------------------------------------------------------------
+
 class AddColumnLocation final :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.AddColumnLocation) */ {
  public:
@@ -2725,7 +2889,7 @@ class AddColumnLocation final :
                &_AddColumnLocation_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    14;
+    15;
 
   friend void swap(AddColumnLocation& a, AddColumnLocation& b) {
     a.Swap(&b);
@@ -3472,6 +3636,9 @@ inline int CreateTableExpr::_internal_column_defs_size() const {
 inline int CreateTableExpr::column_defs_size() const {
   return _internal_column_defs_size();
 }
+inline void CreateTableExpr::clear_column_defs() {
+  _impl_.column_defs_.Clear();
+}
 inline ::greptime::v1::ColumnDef* CreateTableExpr::mutable_column_defs(int index) {
   // @@protoc_insertion_point(field_mutable:greptime.v1.CreateTableExpr.column_defs)
   return _impl_.column_defs_.Mutable(index);
@@ -4239,116 +4406,6 @@ inline ::greptime::v1::RenameTable* AlterExpr::mutable_rename_table() {
   return _msg;
 }
 
-// .greptime.v1.TableId table_id = 7;
-inline bool AlterExpr::_internal_has_table_id() const {
-  return this != internal_default_instance() && _impl_.table_id_ != nullptr;
-}
-inline bool AlterExpr::has_table_id() const {
-  return _internal_has_table_id();
-}
-inline void AlterExpr::clear_table_id() {
-  if (GetArenaForAllocation() == nullptr && _impl_.table_id_ != nullptr) {
-    delete _impl_.table_id_;
-  }
-  _impl_.table_id_ = nullptr;
-}
-inline const ::greptime::v1::TableId& AlterExpr::_internal_table_id() const {
-  const ::greptime::v1::TableId* p = _impl_.table_id_;
-  return p != nullptr ? *p : reinterpret_cast(
-      ::greptime::v1::_TableId_default_instance_);
-}
-inline const ::greptime::v1::TableId& AlterExpr::table_id() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.AlterExpr.table_id)
-  return _internal_table_id();
-}
-inline void AlterExpr::unsafe_arena_set_allocated_table_id(
-    ::greptime::v1::TableId* table_id) {
-  if (GetArenaForAllocation() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.table_id_);
-  }
-  _impl_.table_id_ = table_id;
-  if (table_id) {
-    
-  } else {
-    
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.AlterExpr.table_id)
-}
-inline ::greptime::v1::TableId* AlterExpr::release_table_id() {
-  
-  ::greptime::v1::TableId* temp = _impl_.table_id_;
-  _impl_.table_id_ = nullptr;
-#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
-  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
-  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  if (GetArenaForAllocation() == nullptr) { delete old; }
-#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
-  if (GetArenaForAllocation() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
-  return temp;
-}
-inline ::greptime::v1::TableId* AlterExpr::unsafe_arena_release_table_id() {
-  // @@protoc_insertion_point(field_release:greptime.v1.AlterExpr.table_id)
-  
-  ::greptime::v1::TableId* temp = _impl_.table_id_;
-  _impl_.table_id_ = nullptr;
-  return temp;
-}
-inline ::greptime::v1::TableId* AlterExpr::_internal_mutable_table_id() {
-  
-  if (_impl_.table_id_ == nullptr) {
-    auto* p = CreateMaybeMessage<::greptime::v1::TableId>(GetArenaForAllocation());
-    _impl_.table_id_ = p;
-  }
-  return _impl_.table_id_;
-}
-inline ::greptime::v1::TableId* AlterExpr::mutable_table_id() {
-  ::greptime::v1::TableId* _msg = _internal_mutable_table_id();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.AlterExpr.table_id)
-  return _msg;
-}
-inline void AlterExpr::set_allocated_table_id(::greptime::v1::TableId* table_id) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
-  if (message_arena == nullptr) {
-    delete _impl_.table_id_;
-  }
-  if (table_id) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(table_id);
-    if (message_arena != submessage_arena) {
-      table_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, table_id, submessage_arena);
-    }
-    
-  } else {
-    
-  }
-  _impl_.table_id_ = table_id;
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AlterExpr.table_id)
-}
-
-// uint64 table_version = 8;
-inline void AlterExpr::clear_table_version() {
-  _impl_.table_version_ = uint64_t{0u};
-}
-inline uint64_t AlterExpr::_internal_table_version() const {
-  return _impl_.table_version_;
-}
-inline uint64_t AlterExpr::table_version() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.AlterExpr.table_version)
-  return _internal_table_version();
-}
-inline void AlterExpr::_internal_set_table_version(uint64_t value) {
-  
-  _impl_.table_version_ = value;
-}
-inline void AlterExpr::set_table_version(uint64_t value) {
-  _internal_set_table_version(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.AlterExpr.table_version)
-}
-
 inline bool AlterExpr::has_kind() const {
   return kind_case() != KIND_NOT_SET;
 }
@@ -5104,6 +5161,12 @@ inline bool AddColumn::_internal_has_column_def() const {
 inline bool AddColumn::has_column_def() const {
   return _internal_has_column_def();
 }
+inline void AddColumn::clear_column_def() {
+  if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) {
+    delete _impl_.column_def_;
+  }
+  _impl_.column_def_ = nullptr;
+}
 inline const ::greptime::v1::ColumnDef& AddColumn::_internal_column_def() const {
   const ::greptime::v1::ColumnDef* p = _impl_.column_def_;
   return p != nullptr ? *p : reinterpret_cast(
@@ -5164,12 +5227,11 @@ inline ::greptime::v1::ColumnDef* AddColumn::mutable_column_def() {
 inline void AddColumn::set_allocated_column_def(::greptime::v1::ColumnDef* column_def) {
   ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
   if (message_arena == nullptr) {
-    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.column_def_);
+    delete _impl_.column_def_;
   }
   if (column_def) {
     ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
-                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(column_def));
+        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(column_def);
     if (message_arena != submessage_arena) {
       column_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
           message_arena, column_def, submessage_arena);
@@ -5182,26 +5244,6 @@ inline void AddColumn::set_allocated_column_def(::greptime::v1::ColumnDef* colum
   // @@protoc_insertion_point(field_set_allocated:greptime.v1.AddColumn.column_def)
 }
 
-// bool is_key = 2;
-inline void AddColumn::clear_is_key() {
-  _impl_.is_key_ = false;
-}
-inline bool AddColumn::_internal_is_key() const {
-  return _impl_.is_key_;
-}
-inline bool AddColumn::is_key() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.AddColumn.is_key)
-  return _internal_is_key();
-}
-inline void AddColumn::_internal_set_is_key(bool value) {
-  
-  _impl_.is_key_ = value;
-}
-inline void AddColumn::set_is_key(bool value) {
-  _internal_set_is_key(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.AddColumn.is_key)
-}
-
 // .greptime.v1.AddColumnLocation location = 3;
 inline bool AddColumn::_internal_has_location() const {
   return this != internal_default_instance() && _impl_.location_ != nullptr;
@@ -5372,6 +5414,170 @@ inline void TableId::set_id(uint32_t value) {
 
 // -------------------------------------------------------------------
 
+// ColumnDef
+
+// string name = 1;
+inline void ColumnDef::clear_name() {
+  _impl_.name_.ClearToEmpty();
+}
+inline const std::string& ColumnDef::name() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.name)
+  return _internal_name();
+}
+template 
+inline PROTOBUF_ALWAYS_INLINE
+void ColumnDef::set_name(ArgT0&& arg0, ArgT... args) {
+ 
+ _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation());
+  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.name)
+}
+inline std::string* ColumnDef::mutable_name() {
+  std::string* _s = _internal_mutable_name();
+  // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnDef.name)
+  return _s;
+}
+inline const std::string& ColumnDef::_internal_name() const {
+  return _impl_.name_.Get();
+}
+inline void ColumnDef::_internal_set_name(const std::string& value) {
+  
+  _impl_.name_.Set(value, GetArenaForAllocation());
+}
+inline std::string* ColumnDef::_internal_mutable_name() {
+  
+  return _impl_.name_.Mutable(GetArenaForAllocation());
+}
+inline std::string* ColumnDef::release_name() {
+  // @@protoc_insertion_point(field_release:greptime.v1.ColumnDef.name)
+  return _impl_.name_.Release();
+}
+inline void ColumnDef::set_allocated_name(std::string* name) {
+  if (name != nullptr) {
+    
+  } else {
+    
+  }
+  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
+#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  if (_impl_.name_.IsDefault()) {
+    _impl_.name_.Set("", GetArenaForAllocation());
+  }
+#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.name)
+}
+
+// .greptime.v1.ColumnDataType datatype = 2;
+inline void ColumnDef::clear_datatype() {
+  _impl_.datatype_ = 0;
+}
+inline ::greptime::v1::ColumnDataType ColumnDef::_internal_datatype() const {
+  return static_cast< ::greptime::v1::ColumnDataType >(_impl_.datatype_);
+}
+inline ::greptime::v1::ColumnDataType ColumnDef::datatype() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.datatype)
+  return _internal_datatype();
+}
+inline void ColumnDef::_internal_set_datatype(::greptime::v1::ColumnDataType value) {
+  
+  _impl_.datatype_ = value;
+}
+inline void ColumnDef::set_datatype(::greptime::v1::ColumnDataType value) {
+  _internal_set_datatype(value);
+  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.datatype)
+}
+
+// bool is_nullable = 3;
+inline void ColumnDef::clear_is_nullable() {
+  _impl_.is_nullable_ = false;
+}
+inline bool ColumnDef::_internal_is_nullable() const {
+  return _impl_.is_nullable_;
+}
+inline bool ColumnDef::is_nullable() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.is_nullable)
+  return _internal_is_nullable();
+}
+inline void ColumnDef::_internal_set_is_nullable(bool value) {
+  
+  _impl_.is_nullable_ = value;
+}
+inline void ColumnDef::set_is_nullable(bool value) {
+  _internal_set_is_nullable(value);
+  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.is_nullable)
+}
+
+// bytes default_constraint = 4;
+inline void ColumnDef::clear_default_constraint() {
+  _impl_.default_constraint_.ClearToEmpty();
+}
+inline const std::string& ColumnDef::default_constraint() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.default_constraint)
+  return _internal_default_constraint();
+}
+template 
+inline PROTOBUF_ALWAYS_INLINE
+void ColumnDef::set_default_constraint(ArgT0&& arg0, ArgT... args) {
+ 
+ _impl_.default_constraint_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation());
+  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.default_constraint)
+}
+inline std::string* ColumnDef::mutable_default_constraint() {
+  std::string* _s = _internal_mutable_default_constraint();
+  // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnDef.default_constraint)
+  return _s;
+}
+inline const std::string& ColumnDef::_internal_default_constraint() const {
+  return _impl_.default_constraint_.Get();
+}
+inline void ColumnDef::_internal_set_default_constraint(const std::string& value) {
+  
+  _impl_.default_constraint_.Set(value, GetArenaForAllocation());
+}
+inline std::string* ColumnDef::_internal_mutable_default_constraint() {
+  
+  return _impl_.default_constraint_.Mutable(GetArenaForAllocation());
+}
+inline std::string* ColumnDef::release_default_constraint() {
+  // @@protoc_insertion_point(field_release:greptime.v1.ColumnDef.default_constraint)
+  return _impl_.default_constraint_.Release();
+}
+inline void ColumnDef::set_allocated_default_constraint(std::string* default_constraint) {
+  if (default_constraint != nullptr) {
+    
+  } else {
+    
+  }
+  _impl_.default_constraint_.SetAllocated(default_constraint, GetArenaForAllocation());
+#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  if (_impl_.default_constraint_.IsDefault()) {
+    _impl_.default_constraint_.Set("", GetArenaForAllocation());
+  }
+#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
+  // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.default_constraint)
+}
+
+// .greptime.v1.SemanticType semantic_type = 5;
+inline void ColumnDef::clear_semantic_type() {
+  _impl_.semantic_type_ = 0;
+}
+inline ::greptime::v1::SemanticType ColumnDef::_internal_semantic_type() const {
+  return static_cast< ::greptime::v1::SemanticType >(_impl_.semantic_type_);
+}
+inline ::greptime::v1::SemanticType ColumnDef::semantic_type() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.semantic_type)
+  return _internal_semantic_type();
+}
+inline void ColumnDef::_internal_set_semantic_type(::greptime::v1::SemanticType value) {
+  
+  _impl_.semantic_type_ = value;
+}
+inline void ColumnDef::set_semantic_type(::greptime::v1::SemanticType value) {
+  _internal_set_semantic_type(value);
+  // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.semantic_type)
+}
+
+// -------------------------------------------------------------------
+
 // AddColumnLocation
 
 // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
@@ -5475,6 +5681,8 @@ inline void AddColumnLocation::set_allocated_after_column_name(std::string* afte
 
 // -------------------------------------------------------------------
 
+// -------------------------------------------------------------------
+
 
 // @@protoc_insertion_point(namespace_scope)
 
diff --git a/c++/greptime/v1/region/server.pb.cc b/c++/greptime/v1/region/server.pb.cc
index 71efe529..4dcdf130 100644
--- a/c++/greptime/v1/region/server.pb.cc
+++ b/c++/greptime/v1/region/server.pb.cc
@@ -266,7 +266,6 @@ PROTOBUF_CONSTEXPR AddColumn::AddColumn(
     ::_pbi::ConstantInitialized): _impl_{
     /*decltype(_impl_.column_def_)*/nullptr
   , /*decltype(_impl_.location_)*/nullptr
-  , /*decltype(_impl_.is_key_)*/false
   , /*decltype(_impl_._cached_size_)*/{}} {}
 struct AddColumnDefaultTypeInternal {
   PROTOBUF_CONSTEXPR AddColumnDefaultTypeInternal()
@@ -316,24 +315,20 @@ struct CompactRequestDefaultTypeInternal {
   };
 };
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CompactRequestDefaultTypeInternal _CompactRequest_default_instance_;
-PROTOBUF_CONSTEXPR ColumnDef::ColumnDef(
+PROTOBUF_CONSTEXPR RegionColumnDef::RegionColumnDef(
     ::_pbi::ConstantInitialized): _impl_{
-    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
-  , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
+    /*decltype(_impl_.column_def_)*/nullptr
   , /*decltype(_impl_.column_id_)*/0u
-  , /*decltype(_impl_.datatype_)*/0
-  , /*decltype(_impl_.is_nullable_)*/false
-  , /*decltype(_impl_.semantic_type_)*/0
   , /*decltype(_impl_._cached_size_)*/{}} {}
-struct ColumnDefDefaultTypeInternal {
-  PROTOBUF_CONSTEXPR ColumnDefDefaultTypeInternal()
+struct RegionColumnDefDefaultTypeInternal {
+  PROTOBUF_CONSTEXPR RegionColumnDefDefaultTypeInternal()
       : _instance(::_pbi::ConstantInitialized{}) {}
-  ~ColumnDefDefaultTypeInternal() {}
+  ~RegionColumnDefDefaultTypeInternal() {}
   union {
-    ColumnDef _instance;
+    RegionColumnDef _instance;
   };
 };
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
+PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RegionColumnDefDefaultTypeInternal _RegionColumnDef_default_instance_;
 }  // namespace region
 }  // namespace v1
 }  // namespace greptime
@@ -504,7 +499,6 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR
   ~0u,  // no _weak_field_map_
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _impl_.column_def_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _impl_.is_key_),
   PROTOBUF_FIELD_OFFSET(::greptime::v1::region::AddColumn, _impl_.location_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropColumn, _internal_metadata_),
@@ -528,17 +522,13 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR
   ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::greptime::v1::region::CompactRequest, _impl_.region_id_),
   ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _internal_metadata_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::RegionColumnDef, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
   ~0u,  // no _inlined_string_donated_
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _impl_.name_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _impl_.column_id_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _impl_.datatype_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _impl_.is_nullable_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _impl_.default_constraint_),
-  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::ColumnDef, _impl_.semantic_type_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::RegionColumnDef, _impl_.column_def_),
+  PROTOBUF_FIELD_OFFSET(::greptime::v1::region::RegionColumnDef, _impl_.column_id_),
 };
 static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
   { 0, -1, -1, sizeof(::greptime::v1::region::RegionRequestHeader)},
@@ -559,10 +549,10 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
   { 141, -1, -1, sizeof(::greptime::v1::region::AddColumns)},
   { 148, -1, -1, sizeof(::greptime::v1::region::DropColumns)},
   { 155, -1, -1, sizeof(::greptime::v1::region::AddColumn)},
-  { 164, -1, -1, sizeof(::greptime::v1::region::DropColumn)},
-  { 171, -1, -1, sizeof(::greptime::v1::region::FlushRequest)},
-  { 178, -1, -1, sizeof(::greptime::v1::region::CompactRequest)},
-  { 185, -1, -1, sizeof(::greptime::v1::region::ColumnDef)},
+  { 163, -1, -1, sizeof(::greptime::v1::region::DropColumn)},
+  { 170, -1, -1, sizeof(::greptime::v1::region::FlushRequest)},
+  { 177, -1, -1, sizeof(::greptime::v1::region::CompactRequest)},
+  { 184, -1, -1, sizeof(::greptime::v1::region::RegionColumnDef)},
 };
 
 static const ::_pb::Message* const file_default_instances[] = {
@@ -587,7 +577,7 @@ static const ::_pb::Message* const file_default_instances[] = {
   &::greptime::v1::region::_DropColumn_default_instance_._instance,
   &::greptime::v1::region::_FlushRequest_default_instance_._instance,
   &::greptime::v1::region::_CompactRequest_default_instance_._instance,
-  &::greptime::v1::region::_ColumnDef_default_instance_._instance,
+  &::greptime::v1::region::_RegionColumnDef_default_instance_._instance,
 };
 
 const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
@@ -619,45 +609,42 @@ const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] P
   "\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"C\n\rDele"
   "teRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001"
   "(\0132\021.greptime.v1.Rows\"/\n\014QueryRequest\022\021\n"
-  "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\253\002\n\rCreat"
+  "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\261\002\n\rCreat"
   "eRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 "
-  "\001(\t\0222\n\013column_defs\030\003 \003(\0132\035.greptime.v1.r"
-  "egion.ColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\034\n\024"
-  "create_if_not_exists\030\005 \001(\010\022\017\n\007catalog\030\006 "
-  "\001(\t\022\016\n\006schema\030\007 \001(\t\022\?\n\007options\030\010 \003(\0132..g"
-  "reptime.v1.region.CreateRequest.OptionsE"
-  "ntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val"
-  "ue\030\002 \001(\t:\0028\001\" \n\013DropRequest\022\021\n\tregion_id"
-  "\030\001 \001(\004\"\300\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001("
-  "\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007catalog\030\003 \001(\t\022\016\n\006sc"
-  "hema\030\004 \001(\t\022=\n\007options\030\005 \003(\0132,.greptime.v"
-  "1.region.OpenRequest.OptionsEntry\032.\n\014Opt"
-  "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028"
-  "\001\"!\n\014CloseRequest\022\021\n\tregion_id\030\001 \001(\004\"\261\001\n"
-  "\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\0225\n\013add_"
-  "columns\030\002 \001(\0132\036.greptime.v1.region.AddCo"
-  "lumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037.greptime"
-  ".v1.region.DropColumnsH\000\022\026\n\016schema_versi"
-  "on\030\004 \001(\004B\006\n\004kind\"@\n\nAddColumns\0222\n\013add_co"
-  "lumns\030\001 \003(\0132\035.greptime.v1.region.AddColu"
-  "mn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(\0132"
-  "\036.greptime.v1.region.DropColumn\"\200\001\n\tAddC"
-  "olumn\0221\n\ncolumn_def\030\001 \001(\0132\035.greptime.v1."
-  "region.ColumnDef\022\016\n\006is_key\030\002 \001(\010\0220\n\010loca"
-  "tion\030\003 \001(\0132\036.greptime.v1.AddColumnLocati"
-  "on\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"!\n\014FlushR"
-  "equest\022\021\n\tregion_id\030\001 \001(\004\"#\n\016CompactRequ"
-  "est\022\021\n\tregion_id\030\001 \001(\004\"\276\001\n\tColumnDef\022\014\n\004"
-  "name\030\001 \001(\t\022\021\n\tcolumn_id\030\002 \001(\r\022-\n\010datatyp"
-  "e\030\003 \001(\0162\033.greptime.v1.ColumnDataType\022\023\n\013"
-  "is_nullable\030\004 \001(\010\022\032\n\022default_constraint\030"
-  "\005 \001(\014\0220\n\rsemantic_type\030\006 \001(\0162\031.greptime."
-  "v1.SemanticType2Y\n\006Region\022O\n\006Handle\022!.gr"
-  "eptime.v1.region.RegionRequest\032\".greptim"
-  "e.v1.region.RegionResponseB]\n\025io.greptim"
-  "e.v1.regionB\006ServerZ(tag) == 26)) {
           ptr -= 1;
@@ -3219,7 +3206,7 @@ uint8_t* CreateRequest::_InternalSerialize(
         2, this->_internal_engine(), target);
   }
 
-  // repeated .greptime.v1.region.ColumnDef column_defs = 3;
+  // repeated .greptime.v1.region.RegionColumnDef column_defs = 3;
   for (unsigned i = 0,
       n = static_cast(this->_internal_column_defs_size()); i < n; i++) {
     const auto& repfield = this->_internal_column_defs(i);
@@ -3308,7 +3295,7 @@ size_t CreateRequest::ByteSizeLong() const {
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  // repeated .greptime.v1.region.ColumnDef column_defs = 3;
+  // repeated .greptime.v1.region.RegionColumnDef column_defs = 3;
   total_size += 1UL * this->_internal_column_defs_size();
   for (const auto& msg : this->_impl_.column_defs_) {
     total_size +=
@@ -4960,11 +4947,11 @@ ::PROTOBUF_NAMESPACE_ID::Metadata DropColumns::GetMetadata() const {
 
 class AddColumn::_Internal {
  public:
-  static const ::greptime::v1::region::ColumnDef& column_def(const AddColumn* msg);
+  static const ::greptime::v1::region::RegionColumnDef& column_def(const AddColumn* msg);
   static const ::greptime::v1::AddColumnLocation& location(const AddColumn* msg);
 };
 
-const ::greptime::v1::region::ColumnDef&
+const ::greptime::v1::region::RegionColumnDef&
 AddColumn::_Internal::column_def(const AddColumn* msg) {
   return *msg->_impl_.column_def_;
 }
@@ -4990,17 +4977,15 @@ AddColumn::AddColumn(const AddColumn& from)
   new (&_impl_) Impl_{
       decltype(_impl_.column_def_){nullptr}
     , decltype(_impl_.location_){nullptr}
-    , decltype(_impl_.is_key_){}
     , /*decltype(_impl_._cached_size_)*/{}};
 
   _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
   if (from._internal_has_column_def()) {
-    _this->_impl_.column_def_ = new ::greptime::v1::region::ColumnDef(*from._impl_.column_def_);
+    _this->_impl_.column_def_ = new ::greptime::v1::region::RegionColumnDef(*from._impl_.column_def_);
   }
   if (from._internal_has_location()) {
     _this->_impl_.location_ = new ::greptime::v1::AddColumnLocation(*from._impl_.location_);
   }
-  _this->_impl_.is_key_ = from._impl_.is_key_;
   // @@protoc_insertion_point(copy_constructor:greptime.v1.region.AddColumn)
 }
 
@@ -5011,7 +4996,6 @@ inline void AddColumn::SharedCtor(
   new (&_impl_) Impl_{
       decltype(_impl_.column_def_){nullptr}
     , decltype(_impl_.location_){nullptr}
-    , decltype(_impl_.is_key_){false}
     , /*decltype(_impl_._cached_size_)*/{}
   };
 }
@@ -5049,7 +5033,6 @@ void AddColumn::Clear() {
     delete _impl_.location_;
   }
   _impl_.location_ = nullptr;
-  _impl_.is_key_ = false;
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
@@ -5059,7 +5042,7 @@ const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
     uint32_t tag;
     ptr = ::_pbi::ReadTag(ptr, &tag);
     switch (tag >> 3) {
-      // .greptime.v1.region.ColumnDef column_def = 1;
+      // .greptime.v1.region.RegionColumnDef column_def = 1;
       case 1:
         if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) {
           ptr = ctx->ParseMessage(_internal_mutable_column_def(), ptr);
@@ -5067,14 +5050,6 @@ const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
         } else
           goto handle_unusual;
         continue;
-      // bool is_key = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) {
-          _impl_.is_key_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
       // .greptime.v1.AddColumnLocation location = 3;
       case 3:
         if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) {
@@ -5112,19 +5087,13 @@ uint8_t* AddColumn::_InternalSerialize(
   uint32_t cached_has_bits = 0;
   (void) cached_has_bits;
 
-  // .greptime.v1.region.ColumnDef column_def = 1;
+  // .greptime.v1.region.RegionColumnDef column_def = 1;
   if (this->_internal_has_column_def()) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
       InternalWriteMessage(1, _Internal::column_def(this),
         _Internal::column_def(this).GetCachedSize(), target, stream);
   }
 
-  // bool is_key = 2;
-  if (this->_internal_is_key() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_key(), target);
-  }
-
   // .greptime.v1.AddColumnLocation location = 3;
   if (this->_internal_has_location()) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
@@ -5148,7 +5117,7 @@ size_t AddColumn::ByteSizeLong() const {
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  // .greptime.v1.region.ColumnDef column_def = 1;
+  // .greptime.v1.region.RegionColumnDef column_def = 1;
   if (this->_internal_has_column_def()) {
     total_size += 1 +
       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
@@ -5162,11 +5131,6 @@ size_t AddColumn::ByteSizeLong() const {
         *_impl_.location_);
   }
 
-  // bool is_key = 2;
-  if (this->_internal_is_key() != 0) {
-    total_size += 1 + 1;
-  }
-
   return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
 }
 
@@ -5186,16 +5150,13 @@ void AddColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT
   (void) cached_has_bits;
 
   if (from._internal_has_column_def()) {
-    _this->_internal_mutable_column_def()->::greptime::v1::region::ColumnDef::MergeFrom(
+    _this->_internal_mutable_column_def()->::greptime::v1::region::RegionColumnDef::MergeFrom(
         from._internal_column_def());
   }
   if (from._internal_has_location()) {
     _this->_internal_mutable_location()->::greptime::v1::AddColumnLocation::MergeFrom(
         from._internal_location());
   }
-  if (from._internal_is_key() != 0) {
-    _this->_internal_set_is_key(from._internal_is_key());
-  }
   _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
 }
 
@@ -5214,8 +5175,8 @@ void AddColumn::InternalSwap(AddColumn* other) {
   using std::swap;
   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.is_key_)
-      + sizeof(AddColumn::_impl_.is_key_)
+      PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.location_)
+      + sizeof(AddColumn::_impl_.location_)
       - PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.column_def_)>(
           reinterpret_cast(&_impl_.column_def_),
           reinterpret_cast(&other->_impl_.column_def_));
@@ -5788,76 +5749,56 @@ ::PROTOBUF_NAMESPACE_ID::Metadata CompactRequest::GetMetadata() const {
 
 // ===================================================================
 
-class ColumnDef::_Internal {
+class RegionColumnDef::_Internal {
  public:
+  static const ::greptime::v1::ColumnDef& column_def(const RegionColumnDef* msg);
 };
 
-ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+const ::greptime::v1::ColumnDef&
+RegionColumnDef::_Internal::column_def(const RegionColumnDef* msg) {
+  return *msg->_impl_.column_def_;
+}
+void RegionColumnDef::clear_column_def() {
+  if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) {
+    delete _impl_.column_def_;
+  }
+  _impl_.column_def_ = nullptr;
+}
+RegionColumnDef::RegionColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                          bool is_message_owned)
   : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
   SharedCtor(arena, is_message_owned);
-  // @@protoc_insertion_point(arena_constructor:greptime.v1.region.ColumnDef)
+  // @@protoc_insertion_point(arena_constructor:greptime.v1.region.RegionColumnDef)
 }
-ColumnDef::ColumnDef(const ColumnDef& from)
+RegionColumnDef::RegionColumnDef(const RegionColumnDef& from)
   : ::PROTOBUF_NAMESPACE_ID::Message() {
-  ColumnDef* const _this = this; (void)_this;
+  RegionColumnDef* const _this = this; (void)_this;
   new (&_impl_) Impl_{
-      decltype(_impl_.name_){}
-    , decltype(_impl_.default_constraint_){}
+      decltype(_impl_.column_def_){nullptr}
     , decltype(_impl_.column_id_){}
-    , decltype(_impl_.datatype_){}
-    , decltype(_impl_.is_nullable_){}
-    , decltype(_impl_.semantic_type_){}
     , /*decltype(_impl_._cached_size_)*/{}};
 
   _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  _impl_.name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (!from._internal_name().empty()) {
-    _this->_impl_.name_.Set(from._internal_name(), 
-      _this->GetArenaForAllocation());
-  }
-  _impl_.default_constraint_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.default_constraint_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (!from._internal_default_constraint().empty()) {
-    _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), 
-      _this->GetArenaForAllocation());
+  if (from._internal_has_column_def()) {
+    _this->_impl_.column_def_ = new ::greptime::v1::ColumnDef(*from._impl_.column_def_);
   }
-  ::memcpy(&_impl_.column_id_, &from._impl_.column_id_,
-    static_cast(reinterpret_cast(&_impl_.semantic_type_) -
-    reinterpret_cast(&_impl_.column_id_)) + sizeof(_impl_.semantic_type_));
-  // @@protoc_insertion_point(copy_constructor:greptime.v1.region.ColumnDef)
+  _this->_impl_.column_id_ = from._impl_.column_id_;
+  // @@protoc_insertion_point(copy_constructor:greptime.v1.region.RegionColumnDef)
 }
 
-inline void ColumnDef::SharedCtor(
+inline void RegionColumnDef::SharedCtor(
     ::_pb::Arena* arena, bool is_message_owned) {
   (void)arena;
   (void)is_message_owned;
   new (&_impl_) Impl_{
-      decltype(_impl_.name_){}
-    , decltype(_impl_.default_constraint_){}
+      decltype(_impl_.column_def_){nullptr}
     , decltype(_impl_.column_id_){0u}
-    , decltype(_impl_.datatype_){0}
-    , decltype(_impl_.is_nullable_){false}
-    , decltype(_impl_.semantic_type_){0}
     , /*decltype(_impl_._cached_size_)*/{}
   };
-  _impl_.name_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.name_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  _impl_.default_constraint_.InitDefault();
-  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-    _impl_.default_constraint_.Set("", GetArenaForAllocation());
-  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
 }
 
-ColumnDef::~ColumnDef() {
-  // @@protoc_insertion_point(destructor:greptime.v1.region.ColumnDef)
+RegionColumnDef::~RegionColumnDef() {
+  // @@protoc_insertion_point(destructor:greptime.v1.region.RegionColumnDef)
   if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
   (void)arena;
     return;
@@ -5865,43 +5806,40 @@ ColumnDef::~ColumnDef() {
   SharedDtor();
 }
 
-inline void ColumnDef::SharedDtor() {
+inline void RegionColumnDef::SharedDtor() {
   GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
-  _impl_.name_.Destroy();
-  _impl_.default_constraint_.Destroy();
+  if (this != internal_default_instance()) delete _impl_.column_def_;
 }
 
-void ColumnDef::SetCachedSize(int size) const {
+void RegionColumnDef::SetCachedSize(int size) const {
   _impl_._cached_size_.Set(size);
 }
 
-void ColumnDef::Clear() {
-// @@protoc_insertion_point(message_clear_start:greptime.v1.region.ColumnDef)
+void RegionColumnDef::Clear() {
+// @@protoc_insertion_point(message_clear_start:greptime.v1.region.RegionColumnDef)
   uint32_t cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  _impl_.name_.ClearToEmpty();
-  _impl_.default_constraint_.ClearToEmpty();
-  ::memset(&_impl_.column_id_, 0, static_cast(
-      reinterpret_cast(&_impl_.semantic_type_) -
-      reinterpret_cast(&_impl_.column_id_)) + sizeof(_impl_.semantic_type_));
+  if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) {
+    delete _impl_.column_def_;
+  }
+  _impl_.column_def_ = nullptr;
+  _impl_.column_id_ = 0u;
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
+const char* RegionColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
   while (!ctx->Done(&ptr)) {
     uint32_t tag;
     ptr = ::_pbi::ReadTag(ptr, &tag);
     switch (tag >> 3) {
-      // string name = 1;
+      // .greptime.v1.ColumnDef column_def = 1;
       case 1:
         if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) {
-          auto str = _internal_mutable_name();
-          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
+          ptr = ctx->ParseMessage(_internal_mutable_column_def(), ptr);
           CHK_(ptr);
-          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.region.ColumnDef.name"));
         } else
           goto handle_unusual;
         continue;
@@ -5913,41 +5851,6 @@ const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
         } else
           goto handle_unusual;
         continue;
-      // .greptime.v1.ColumnDataType datatype = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) {
-          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_datatype(static_cast<::greptime::v1::ColumnDataType>(val));
-        } else
-          goto handle_unusual;
-        continue;
-      // bool is_nullable = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) {
-          _impl_.is_nullable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
-      // bytes default_constraint = 5;
-      case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) {
-          auto str = _internal_mutable_default_constraint();
-          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else
-          goto handle_unusual;
-        continue;
-      // .greptime.v1.SemanticType semantic_type = 6;
-      case 6:
-        if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) {
-          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_semantic_type(static_cast<::greptime::v1::SemanticType>(val));
-        } else
-          goto handle_unusual;
-        continue;
       default:
         goto handle_unusual;
     }  // switch
@@ -5971,20 +5874,17 @@ const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx
 #undef CHK_
 }
 
-uint8_t* ColumnDef::_InternalSerialize(
+uint8_t* RegionColumnDef::_InternalSerialize(
     uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.ColumnDef)
+  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.region.RegionColumnDef)
   uint32_t cached_has_bits = 0;
   (void) cached_has_bits;
 
-  // string name = 1;
-  if (!this->_internal_name().empty()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_name().data(), static_cast(this->_internal_name().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "greptime.v1.region.ColumnDef.name");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_name(), target);
+  // .greptime.v1.ColumnDef column_def = 1;
+  if (this->_internal_has_column_def()) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessage(1, _Internal::column_def(this),
+        _Internal::column_def(this).GetCachedSize(), target, stream);
   }
 
   // uint32 column_id = 2;
@@ -5993,60 +5893,27 @@ uint8_t* ColumnDef::_InternalSerialize(
     target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_column_id(), target);
   }
 
-  // .greptime.v1.ColumnDataType datatype = 3;
-  if (this->_internal_datatype() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteEnumToArray(
-      3, this->_internal_datatype(), target);
-  }
-
-  // bool is_nullable = 4;
-  if (this->_internal_is_nullable() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_is_nullable(), target);
-  }
-
-  // bytes default_constraint = 5;
-  if (!this->_internal_default_constraint().empty()) {
-    target = stream->WriteBytesMaybeAliased(
-        5, this->_internal_default_constraint(), target);
-  }
-
-  // .greptime.v1.SemanticType semantic_type = 6;
-  if (this->_internal_semantic_type() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::_pbi::WireFormatLite::WriteEnumToArray(
-      6, this->_internal_semantic_type(), target);
-  }
-
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.ColumnDef)
+  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.region.RegionColumnDef)
   return target;
 }
 
-size_t ColumnDef::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.ColumnDef)
+size_t RegionColumnDef::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:greptime.v1.region.RegionColumnDef)
   size_t total_size = 0;
 
   uint32_t cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  // string name = 1;
-  if (!this->_internal_name().empty()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_name());
-  }
-
-  // bytes default_constraint = 5;
-  if (!this->_internal_default_constraint().empty()) {
+  // .greptime.v1.ColumnDef column_def = 1;
+  if (this->_internal_has_column_def()) {
     total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-        this->_internal_default_constraint());
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+        *_impl_.column_def_);
   }
 
   // uint32 column_id = 2;
@@ -6054,95 +5921,57 @@ size_t ColumnDef::ByteSizeLong() const {
     total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_column_id());
   }
 
-  // .greptime.v1.ColumnDataType datatype = 3;
-  if (this->_internal_datatype() != 0) {
-    total_size += 1 +
-      ::_pbi::WireFormatLite::EnumSize(this->_internal_datatype());
-  }
-
-  // bool is_nullable = 4;
-  if (this->_internal_is_nullable() != 0) {
-    total_size += 1 + 1;
-  }
-
-  // .greptime.v1.SemanticType semantic_type = 6;
-  if (this->_internal_semantic_type() != 0) {
-    total_size += 1 +
-      ::_pbi::WireFormatLite::EnumSize(this->_internal_semantic_type());
-  }
-
   return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
 }
 
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnDef::_class_data_ = {
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RegionColumnDef::_class_data_ = {
     ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
-    ColumnDef::MergeImpl
+    RegionColumnDef::MergeImpl
 };
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnDef::GetClassData() const { return &_class_data_; }
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RegionColumnDef::GetClassData() const { return &_class_data_; }
 
 
-void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
-  auto* const _this = static_cast(&to_msg);
-  auto& from = static_cast(from_msg);
-  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.ColumnDef)
+void RegionColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
+  auto* const _this = static_cast(&to_msg);
+  auto& from = static_cast(from_msg);
+  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.region.RegionColumnDef)
   GOOGLE_DCHECK_NE(&from, _this);
   uint32_t cached_has_bits = 0;
   (void) cached_has_bits;
 
-  if (!from._internal_name().empty()) {
-    _this->_internal_set_name(from._internal_name());
-  }
-  if (!from._internal_default_constraint().empty()) {
-    _this->_internal_set_default_constraint(from._internal_default_constraint());
+  if (from._internal_has_column_def()) {
+    _this->_internal_mutable_column_def()->::greptime::v1::ColumnDef::MergeFrom(
+        from._internal_column_def());
   }
   if (from._internal_column_id() != 0) {
     _this->_internal_set_column_id(from._internal_column_id());
   }
-  if (from._internal_datatype() != 0) {
-    _this->_internal_set_datatype(from._internal_datatype());
-  }
-  if (from._internal_is_nullable() != 0) {
-    _this->_internal_set_is_nullable(from._internal_is_nullable());
-  }
-  if (from._internal_semantic_type() != 0) {
-    _this->_internal_set_semantic_type(from._internal_semantic_type());
-  }
   _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
 }
 
-void ColumnDef::CopyFrom(const ColumnDef& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.ColumnDef)
+void RegionColumnDef::CopyFrom(const RegionColumnDef& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.region.RegionColumnDef)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-bool ColumnDef::IsInitialized() const {
+bool RegionColumnDef::IsInitialized() const {
   return true;
 }
 
-void ColumnDef::InternalSwap(ColumnDef* other) {
+void RegionColumnDef::InternalSwap(RegionColumnDef* other) {
   using std::swap;
-  auto* lhs_arena = GetArenaForAllocation();
-  auto* rhs_arena = other->GetArenaForAllocation();
   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &_impl_.name_, lhs_arena,
-      &other->_impl_.name_, rhs_arena
-  );
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &_impl_.default_constraint_, lhs_arena,
-      &other->_impl_.default_constraint_, rhs_arena
-  );
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.semantic_type_)
-      + sizeof(ColumnDef::_impl_.semantic_type_)
-      - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.column_id_)>(
-          reinterpret_cast(&_impl_.column_id_),
-          reinterpret_cast(&other->_impl_.column_id_));
+      PROTOBUF_FIELD_OFFSET(RegionColumnDef, _impl_.column_id_)
+      + sizeof(RegionColumnDef::_impl_.column_id_)
+      - PROTOBUF_FIELD_OFFSET(RegionColumnDef, _impl_.column_def_)>(
+          reinterpret_cast(&_impl_.column_def_),
+          reinterpret_cast(&other->_impl_.column_def_));
 }
 
-::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
+::PROTOBUF_NAMESPACE_ID::Metadata RegionColumnDef::GetMetadata() const {
   return ::_pbi::AssignDescriptors(
       &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_getter, &descriptor_table_greptime_2fv1_2fregion_2fserver_2eproto_once,
       file_level_metadata_greptime_2fv1_2fregion_2fserver_2eproto[21]);
@@ -6237,9 +6066,9 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::region::CompactRequest*
 Arena::CreateMaybeMessage< ::greptime::v1::region::CompactRequest >(Arena* arena) {
   return Arena::CreateMessageInternal< ::greptime::v1::region::CompactRequest >(arena);
 }
-template<> PROTOBUF_NOINLINE ::greptime::v1::region::ColumnDef*
-Arena::CreateMaybeMessage< ::greptime::v1::region::ColumnDef >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::greptime::v1::region::ColumnDef >(arena);
+template<> PROTOBUF_NOINLINE ::greptime::v1::region::RegionColumnDef*
+Arena::CreateMaybeMessage< ::greptime::v1::region::RegionColumnDef >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::greptime::v1::region::RegionColumnDef >(arena);
 }
 PROTOBUF_NAMESPACE_CLOSE
 
diff --git a/c++/greptime/v1/region/server.pb.h b/c++/greptime/v1/region/server.pb.h
index 9e600f02..59f5aa0a 100644
--- a/c++/greptime/v1/region/server.pb.h
+++ b/c++/greptime/v1/region/server.pb.h
@@ -65,9 +65,6 @@ extern AlterRequestDefaultTypeInternal _AlterRequest_default_instance_;
 class CloseRequest;
 struct CloseRequestDefaultTypeInternal;
 extern CloseRequestDefaultTypeInternal _CloseRequest_default_instance_;
-class ColumnDef;
-struct ColumnDefDefaultTypeInternal;
-extern ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
 class CompactRequest;
 struct CompactRequestDefaultTypeInternal;
 extern CompactRequestDefaultTypeInternal _CompactRequest_default_instance_;
@@ -110,6 +107,9 @@ extern OpenRequest_OptionsEntry_DoNotUseDefaultTypeInternal _OpenRequest_Options
 class QueryRequest;
 struct QueryRequestDefaultTypeInternal;
 extern QueryRequestDefaultTypeInternal _QueryRequest_default_instance_;
+class RegionColumnDef;
+struct RegionColumnDefDefaultTypeInternal;
+extern RegionColumnDefDefaultTypeInternal _RegionColumnDef_default_instance_;
 class RegionRequest;
 struct RegionRequestDefaultTypeInternal;
 extern RegionRequestDefaultTypeInternal _RegionRequest_default_instance_;
@@ -127,7 +127,6 @@ template<> ::greptime::v1::region::AddColumn* Arena::CreateMaybeMessage<::grepti
 template<> ::greptime::v1::region::AddColumns* Arena::CreateMaybeMessage<::greptime::v1::region::AddColumns>(Arena*);
 template<> ::greptime::v1::region::AlterRequest* Arena::CreateMaybeMessage<::greptime::v1::region::AlterRequest>(Arena*);
 template<> ::greptime::v1::region::CloseRequest* Arena::CreateMaybeMessage<::greptime::v1::region::CloseRequest>(Arena*);
-template<> ::greptime::v1::region::ColumnDef* Arena::CreateMaybeMessage<::greptime::v1::region::ColumnDef>(Arena*);
 template<> ::greptime::v1::region::CompactRequest* Arena::CreateMaybeMessage<::greptime::v1::region::CompactRequest>(Arena*);
 template<> ::greptime::v1::region::CreateRequest* Arena::CreateMaybeMessage<::greptime::v1::region::CreateRequest>(Arena*);
 template<> ::greptime::v1::region::CreateRequest_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::region::CreateRequest_OptionsEntry_DoNotUse>(Arena*);
@@ -142,6 +141,7 @@ template<> ::greptime::v1::region::InsertRequests* Arena::CreateMaybeMessage<::g
 template<> ::greptime::v1::region::OpenRequest* Arena::CreateMaybeMessage<::greptime::v1::region::OpenRequest>(Arena*);
 template<> ::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse>(Arena*);
 template<> ::greptime::v1::region::QueryRequest* Arena::CreateMaybeMessage<::greptime::v1::region::QueryRequest>(Arena*);
+template<> ::greptime::v1::region::RegionColumnDef* Arena::CreateMaybeMessage<::greptime::v1::region::RegionColumnDef>(Arena*);
 template<> ::greptime::v1::region::RegionRequest* Arena::CreateMaybeMessage<::greptime::v1::region::RegionRequest>(Arena*);
 template<> ::greptime::v1::region::RegionRequestHeader* Arena::CreateMaybeMessage<::greptime::v1::region::RegionRequestHeader>(Arena*);
 template<> ::greptime::v1::region::RegionResponse* Arena::CreateMaybeMessage<::greptime::v1::region::RegionResponse>(Arena*);
@@ -1824,22 +1824,22 @@ class CreateRequest final :
     kRegionIdFieldNumber = 1,
     kCreateIfNotExistsFieldNumber = 5,
   };
-  // repeated .greptime.v1.region.ColumnDef column_defs = 3;
+  // repeated .greptime.v1.region.RegionColumnDef column_defs = 3;
   int column_defs_size() const;
   private:
   int _internal_column_defs_size() const;
   public:
   void clear_column_defs();
-  ::greptime::v1::region::ColumnDef* mutable_column_defs(int index);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::ColumnDef >*
+  ::greptime::v1::region::RegionColumnDef* mutable_column_defs(int index);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::RegionColumnDef >*
       mutable_column_defs();
   private:
-  const ::greptime::v1::region::ColumnDef& _internal_column_defs(int index) const;
-  ::greptime::v1::region::ColumnDef* _internal_add_column_defs();
+  const ::greptime::v1::region::RegionColumnDef& _internal_column_defs(int index) const;
+  ::greptime::v1::region::RegionColumnDef* _internal_add_column_defs();
   public:
-  const ::greptime::v1::region::ColumnDef& column_defs(int index) const;
-  ::greptime::v1::region::ColumnDef* add_column_defs();
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::ColumnDef >&
+  const ::greptime::v1::region::RegionColumnDef& column_defs(int index) const;
+  ::greptime::v1::region::RegionColumnDef* add_column_defs();
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::RegionColumnDef >&
       column_defs() const;
 
   // repeated uint32 primary_key = 4;
@@ -1949,7 +1949,7 @@ class CreateRequest final :
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
   struct Impl_ {
-    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::ColumnDef > column_defs_;
+    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::RegionColumnDef > column_defs_;
     ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > primary_key_;
     mutable std::atomic _primary_key_cached_byte_size_;
     ::PROTOBUF_NAMESPACE_ID::internal::MapField<
@@ -3170,25 +3170,24 @@ class AddColumn final :
   enum : int {
     kColumnDefFieldNumber = 1,
     kLocationFieldNumber = 3,
-    kIsKeyFieldNumber = 2,
   };
-  // .greptime.v1.region.ColumnDef column_def = 1;
+  // .greptime.v1.region.RegionColumnDef column_def = 1;
   bool has_column_def() const;
   private:
   bool _internal_has_column_def() const;
   public:
   void clear_column_def();
-  const ::greptime::v1::region::ColumnDef& column_def() const;
-  PROTOBUF_NODISCARD ::greptime::v1::region::ColumnDef* release_column_def();
-  ::greptime::v1::region::ColumnDef* mutable_column_def();
-  void set_allocated_column_def(::greptime::v1::region::ColumnDef* column_def);
+  const ::greptime::v1::region::RegionColumnDef& column_def() const;
+  PROTOBUF_NODISCARD ::greptime::v1::region::RegionColumnDef* release_column_def();
+  ::greptime::v1::region::RegionColumnDef* mutable_column_def();
+  void set_allocated_column_def(::greptime::v1::region::RegionColumnDef* column_def);
   private:
-  const ::greptime::v1::region::ColumnDef& _internal_column_def() const;
-  ::greptime::v1::region::ColumnDef* _internal_mutable_column_def();
+  const ::greptime::v1::region::RegionColumnDef& _internal_column_def() const;
+  ::greptime::v1::region::RegionColumnDef* _internal_mutable_column_def();
   public:
   void unsafe_arena_set_allocated_column_def(
-      ::greptime::v1::region::ColumnDef* column_def);
-  ::greptime::v1::region::ColumnDef* unsafe_arena_release_column_def();
+      ::greptime::v1::region::RegionColumnDef* column_def);
+  ::greptime::v1::region::RegionColumnDef* unsafe_arena_release_column_def();
 
   // .greptime.v1.AddColumnLocation location = 3;
   bool has_location() const;
@@ -3208,15 +3207,6 @@ class AddColumn final :
       ::greptime::v1::AddColumnLocation* location);
   ::greptime::v1::AddColumnLocation* unsafe_arena_release_location();
 
-  // bool is_key = 2;
-  void clear_is_key();
-  bool is_key() const;
-  void set_is_key(bool value);
-  private:
-  bool _internal_is_key() const;
-  void _internal_set_is_key(bool value);
-  public:
-
   // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn)
  private:
   class _Internal;
@@ -3225,9 +3215,8 @@ class AddColumn final :
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
   struct Impl_ {
-    ::greptime::v1::region::ColumnDef* column_def_;
+    ::greptime::v1::region::RegionColumnDef* column_def_;
     ::greptime::v1::AddColumnLocation* location_;
-    bool is_key_;
     mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   };
   union { Impl_ _impl_; };
@@ -3684,24 +3673,24 @@ class CompactRequest final :
 };
 // -------------------------------------------------------------------
 
-class ColumnDef final :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.ColumnDef) */ {
+class RegionColumnDef final :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.region.RegionColumnDef) */ {
  public:
-  inline ColumnDef() : ColumnDef(nullptr) {}
-  ~ColumnDef() override;
-  explicit PROTOBUF_CONSTEXPR ColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+  inline RegionColumnDef() : RegionColumnDef(nullptr) {}
+  ~RegionColumnDef() override;
+  explicit PROTOBUF_CONSTEXPR RegionColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
 
-  ColumnDef(const ColumnDef& from);
-  ColumnDef(ColumnDef&& from) noexcept
-    : ColumnDef() {
+  RegionColumnDef(const RegionColumnDef& from);
+  RegionColumnDef(RegionColumnDef&& from) noexcept
+    : RegionColumnDef() {
     *this = ::std::move(from);
   }
 
-  inline ColumnDef& operator=(const ColumnDef& from) {
+  inline RegionColumnDef& operator=(const RegionColumnDef& from) {
     CopyFrom(from);
     return *this;
   }
-  inline ColumnDef& operator=(ColumnDef&& from) noexcept {
+  inline RegionColumnDef& operator=(RegionColumnDef&& from) noexcept {
     if (this == &from) return *this;
     if (GetOwningArena() == from.GetOwningArena()
   #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
@@ -3724,20 +3713,20 @@ class ColumnDef final :
   static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
     return default_instance().GetMetadata().reflection;
   }
-  static const ColumnDef& default_instance() {
+  static const RegionColumnDef& default_instance() {
     return *internal_default_instance();
   }
-  static inline const ColumnDef* internal_default_instance() {
-    return reinterpret_cast(
-               &_ColumnDef_default_instance_);
+  static inline const RegionColumnDef* internal_default_instance() {
+    return reinterpret_cast(
+               &_RegionColumnDef_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
     21;
 
-  friend void swap(ColumnDef& a, ColumnDef& b) {
+  friend void swap(RegionColumnDef& a, RegionColumnDef& b) {
     a.Swap(&b);
   }
-  inline void Swap(ColumnDef* other) {
+  inline void Swap(RegionColumnDef* other) {
     if (other == this) return;
   #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
     if (GetOwningArena() != nullptr &&
@@ -3750,7 +3739,7 @@ class ColumnDef final :
       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
     }
   }
-  void UnsafeArenaSwap(ColumnDef* other) {
+  void UnsafeArenaSwap(RegionColumnDef* other) {
     if (other == this) return;
     GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
     InternalSwap(other);
@@ -3758,14 +3747,14 @@ class ColumnDef final :
 
   // implements Message ----------------------------------------------
 
-  ColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
-    return CreateMaybeMessage(arena);
+  RegionColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
+    return CreateMaybeMessage(arena);
   }
   using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
-  void CopyFrom(const ColumnDef& from);
+  void CopyFrom(const RegionColumnDef& from);
   using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
-  void MergeFrom( const ColumnDef& from) {
-    ColumnDef::MergeImpl(*this, from);
+  void MergeFrom( const RegionColumnDef& from) {
+    RegionColumnDef::MergeImpl(*this, from);
   }
   private:
   static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
@@ -3783,15 +3772,15 @@ class ColumnDef final :
   void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
   void SharedDtor();
   void SetCachedSize(int size) const final;
-  void InternalSwap(ColumnDef* other);
+  void InternalSwap(RegionColumnDef* other);
 
   private:
   friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
   static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "greptime.v1.region.ColumnDef";
+    return "greptime.v1.region.RegionColumnDef";
   }
   protected:
-  explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+  explicit RegionColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                        bool is_message_owned = false);
   public:
 
@@ -3805,40 +3794,26 @@ class ColumnDef final :
   // accessors -------------------------------------------------------
 
   enum : int {
-    kNameFieldNumber = 1,
-    kDefaultConstraintFieldNumber = 5,
+    kColumnDefFieldNumber = 1,
     kColumnIdFieldNumber = 2,
-    kDatatypeFieldNumber = 3,
-    kIsNullableFieldNumber = 4,
-    kSemanticTypeFieldNumber = 6,
   };
-  // string name = 1;
-  void clear_name();
-  const std::string& name() const;
-  template 
-  void set_name(ArgT0&& arg0, ArgT... args);
-  std::string* mutable_name();
-  PROTOBUF_NODISCARD std::string* release_name();
-  void set_allocated_name(std::string* name);
+  // .greptime.v1.ColumnDef column_def = 1;
+  bool has_column_def() const;
   private:
-  const std::string& _internal_name() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
-  std::string* _internal_mutable_name();
+  bool _internal_has_column_def() const;
   public:
-
-  // bytes default_constraint = 5;
-  void clear_default_constraint();
-  const std::string& default_constraint() const;
-  template 
-  void set_default_constraint(ArgT0&& arg0, ArgT... args);
-  std::string* mutable_default_constraint();
-  PROTOBUF_NODISCARD std::string* release_default_constraint();
-  void set_allocated_default_constraint(std::string* default_constraint);
-  private:
-  const std::string& _internal_default_constraint() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_constraint(const std::string& value);
-  std::string* _internal_mutable_default_constraint();
+  void clear_column_def();
+  const ::greptime::v1::ColumnDef& column_def() const;
+  PROTOBUF_NODISCARD ::greptime::v1::ColumnDef* release_column_def();
+  ::greptime::v1::ColumnDef* mutable_column_def();
+  void set_allocated_column_def(::greptime::v1::ColumnDef* column_def);
+  private:
+  const ::greptime::v1::ColumnDef& _internal_column_def() const;
+  ::greptime::v1::ColumnDef* _internal_mutable_column_def();
   public:
+  void unsafe_arena_set_allocated_column_def(
+      ::greptime::v1::ColumnDef* column_def);
+  ::greptime::v1::ColumnDef* unsafe_arena_release_column_def();
 
   // uint32 column_id = 2;
   void clear_column_id();
@@ -3849,34 +3824,7 @@ class ColumnDef final :
   void _internal_set_column_id(uint32_t value);
   public:
 
-  // .greptime.v1.ColumnDataType datatype = 3;
-  void clear_datatype();
-  ::greptime::v1::ColumnDataType datatype() const;
-  void set_datatype(::greptime::v1::ColumnDataType value);
-  private:
-  ::greptime::v1::ColumnDataType _internal_datatype() const;
-  void _internal_set_datatype(::greptime::v1::ColumnDataType value);
-  public:
-
-  // bool is_nullable = 4;
-  void clear_is_nullable();
-  bool is_nullable() const;
-  void set_is_nullable(bool value);
-  private:
-  bool _internal_is_nullable() const;
-  void _internal_set_is_nullable(bool value);
-  public:
-
-  // .greptime.v1.SemanticType semantic_type = 6;
-  void clear_semantic_type();
-  ::greptime::v1::SemanticType semantic_type() const;
-  void set_semantic_type(::greptime::v1::SemanticType value);
-  private:
-  ::greptime::v1::SemanticType _internal_semantic_type() const;
-  void _internal_set_semantic_type(::greptime::v1::SemanticType value);
-  public:
-
-  // @@protoc_insertion_point(class_scope:greptime.v1.region.ColumnDef)
+  // @@protoc_insertion_point(class_scope:greptime.v1.region.RegionColumnDef)
  private:
   class _Internal;
 
@@ -3884,12 +3832,8 @@ class ColumnDef final :
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
   struct Impl_ {
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_;
+    ::greptime::v1::ColumnDef* column_def_;
     uint32_t column_id_;
-    int datatype_;
-    bool is_nullable_;
-    int semantic_type_;
     mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   };
   union { Impl_ _impl_; };
@@ -5280,7 +5224,7 @@ inline void CreateRequest::set_allocated_engine(std::string* engine) {
   // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.CreateRequest.engine)
 }
 
-// repeated .greptime.v1.region.ColumnDef column_defs = 3;
+// repeated .greptime.v1.region.RegionColumnDef column_defs = 3;
 inline int CreateRequest::_internal_column_defs_size() const {
   return _impl_.column_defs_.size();
 }
@@ -5290,31 +5234,31 @@ inline int CreateRequest::column_defs_size() const {
 inline void CreateRequest::clear_column_defs() {
   _impl_.column_defs_.Clear();
 }
-inline ::greptime::v1::region::ColumnDef* CreateRequest::mutable_column_defs(int index) {
+inline ::greptime::v1::region::RegionColumnDef* CreateRequest::mutable_column_defs(int index) {
   // @@protoc_insertion_point(field_mutable:greptime.v1.region.CreateRequest.column_defs)
   return _impl_.column_defs_.Mutable(index);
 }
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::ColumnDef >*
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::RegionColumnDef >*
 CreateRequest::mutable_column_defs() {
   // @@protoc_insertion_point(field_mutable_list:greptime.v1.region.CreateRequest.column_defs)
   return &_impl_.column_defs_;
 }
-inline const ::greptime::v1::region::ColumnDef& CreateRequest::_internal_column_defs(int index) const {
+inline const ::greptime::v1::region::RegionColumnDef& CreateRequest::_internal_column_defs(int index) const {
   return _impl_.column_defs_.Get(index);
 }
-inline const ::greptime::v1::region::ColumnDef& CreateRequest::column_defs(int index) const {
+inline const ::greptime::v1::region::RegionColumnDef& CreateRequest::column_defs(int index) const {
   // @@protoc_insertion_point(field_get:greptime.v1.region.CreateRequest.column_defs)
   return _internal_column_defs(index);
 }
-inline ::greptime::v1::region::ColumnDef* CreateRequest::_internal_add_column_defs() {
+inline ::greptime::v1::region::RegionColumnDef* CreateRequest::_internal_add_column_defs() {
   return _impl_.column_defs_.Add();
 }
-inline ::greptime::v1::region::ColumnDef* CreateRequest::add_column_defs() {
-  ::greptime::v1::region::ColumnDef* _add = _internal_add_column_defs();
+inline ::greptime::v1::region::RegionColumnDef* CreateRequest::add_column_defs() {
+  ::greptime::v1::region::RegionColumnDef* _add = _internal_add_column_defs();
   // @@protoc_insertion_point(field_add:greptime.v1.region.CreateRequest.column_defs)
   return _add;
 }
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::ColumnDef >&
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::region::RegionColumnDef >&
 CreateRequest::column_defs() const {
   // @@protoc_insertion_point(field_list:greptime.v1.region.CreateRequest.column_defs)
   return _impl_.column_defs_;
@@ -6062,7 +6006,7 @@ DropColumns::drop_columns() const {
 
 // AddColumn
 
-// .greptime.v1.region.ColumnDef column_def = 1;
+// .greptime.v1.region.RegionColumnDef column_def = 1;
 inline bool AddColumn::_internal_has_column_def() const {
   return this != internal_default_instance() && _impl_.column_def_ != nullptr;
 }
@@ -6075,17 +6019,17 @@ inline void AddColumn::clear_column_def() {
   }
   _impl_.column_def_ = nullptr;
 }
-inline const ::greptime::v1::region::ColumnDef& AddColumn::_internal_column_def() const {
-  const ::greptime::v1::region::ColumnDef* p = _impl_.column_def_;
-  return p != nullptr ? *p : reinterpret_cast(
-      ::greptime::v1::region::_ColumnDef_default_instance_);
+inline const ::greptime::v1::region::RegionColumnDef& AddColumn::_internal_column_def() const {
+  const ::greptime::v1::region::RegionColumnDef* p = _impl_.column_def_;
+  return p != nullptr ? *p : reinterpret_cast(
+      ::greptime::v1::region::_RegionColumnDef_default_instance_);
 }
-inline const ::greptime::v1::region::ColumnDef& AddColumn::column_def() const {
+inline const ::greptime::v1::region::RegionColumnDef& AddColumn::column_def() const {
   // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.column_def)
   return _internal_column_def();
 }
 inline void AddColumn::unsafe_arena_set_allocated_column_def(
-    ::greptime::v1::region::ColumnDef* column_def) {
+    ::greptime::v1::region::RegionColumnDef* column_def) {
   if (GetArenaForAllocation() == nullptr) {
     delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.column_def_);
   }
@@ -6097,9 +6041,9 @@ inline void AddColumn::unsafe_arena_set_allocated_column_def(
   }
   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.AddColumn.column_def)
 }
-inline ::greptime::v1::region::ColumnDef* AddColumn::release_column_def() {
+inline ::greptime::v1::region::RegionColumnDef* AddColumn::release_column_def() {
   
-  ::greptime::v1::region::ColumnDef* temp = _impl_.column_def_;
+  ::greptime::v1::region::RegionColumnDef* temp = _impl_.column_def_;
   _impl_.column_def_ = nullptr;
 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
   auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
@@ -6112,27 +6056,27 @@ inline ::greptime::v1::region::ColumnDef* AddColumn::release_column_def() {
 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
   return temp;
 }
-inline ::greptime::v1::region::ColumnDef* AddColumn::unsafe_arena_release_column_def() {
+inline ::greptime::v1::region::RegionColumnDef* AddColumn::unsafe_arena_release_column_def() {
   // @@protoc_insertion_point(field_release:greptime.v1.region.AddColumn.column_def)
   
-  ::greptime::v1::region::ColumnDef* temp = _impl_.column_def_;
+  ::greptime::v1::region::RegionColumnDef* temp = _impl_.column_def_;
   _impl_.column_def_ = nullptr;
   return temp;
 }
-inline ::greptime::v1::region::ColumnDef* AddColumn::_internal_mutable_column_def() {
+inline ::greptime::v1::region::RegionColumnDef* AddColumn::_internal_mutable_column_def() {
   
   if (_impl_.column_def_ == nullptr) {
-    auto* p = CreateMaybeMessage<::greptime::v1::region::ColumnDef>(GetArenaForAllocation());
+    auto* p = CreateMaybeMessage<::greptime::v1::region::RegionColumnDef>(GetArenaForAllocation());
     _impl_.column_def_ = p;
   }
   return _impl_.column_def_;
 }
-inline ::greptime::v1::region::ColumnDef* AddColumn::mutable_column_def() {
-  ::greptime::v1::region::ColumnDef* _msg = _internal_mutable_column_def();
+inline ::greptime::v1::region::RegionColumnDef* AddColumn::mutable_column_def() {
+  ::greptime::v1::region::RegionColumnDef* _msg = _internal_mutable_column_def();
   // @@protoc_insertion_point(field_mutable:greptime.v1.region.AddColumn.column_def)
   return _msg;
 }
-inline void AddColumn::set_allocated_column_def(::greptime::v1::region::ColumnDef* column_def) {
+inline void AddColumn::set_allocated_column_def(::greptime::v1::region::RegionColumnDef* column_def) {
   ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
   if (message_arena == nullptr) {
     delete _impl_.column_def_;
@@ -6152,26 +6096,6 @@ inline void AddColumn::set_allocated_column_def(::greptime::v1::region::ColumnDe
   // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.AddColumn.column_def)
 }
 
-// bool is_key = 2;
-inline void AddColumn::clear_is_key() {
-  _impl_.is_key_ = false;
-}
-inline bool AddColumn::_internal_is_key() const {
-  return _impl_.is_key_;
-}
-inline bool AddColumn::is_key() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.AddColumn.is_key)
-  return _internal_is_key();
-}
-inline void AddColumn::_internal_set_is_key(bool value) {
-  
-  _impl_.is_key_ = value;
-}
-inline void AddColumn::set_is_key(bool value) {
-  _internal_set_is_key(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.region.AddColumn.is_key)
-}
-
 // .greptime.v1.AddColumnLocation location = 3;
 inline bool AddColumn::_internal_has_location() const {
   return this != internal_default_instance() && _impl_.location_ != nullptr;
@@ -6361,186 +6285,111 @@ inline void CompactRequest::set_region_id(uint64_t value) {
 
 // -------------------------------------------------------------------
 
-// ColumnDef
+// RegionColumnDef
 
-// string name = 1;
-inline void ColumnDef::clear_name() {
-  _impl_.name_.ClearToEmpty();
-}
-inline const std::string& ColumnDef::name() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.ColumnDef.name)
-  return _internal_name();
-}
-template 
-inline PROTOBUF_ALWAYS_INLINE
-void ColumnDef::set_name(ArgT0&& arg0, ArgT... args) {
- 
- _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation());
-  // @@protoc_insertion_point(field_set:greptime.v1.region.ColumnDef.name)
-}
-inline std::string* ColumnDef::mutable_name() {
-  std::string* _s = _internal_mutable_name();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.region.ColumnDef.name)
-  return _s;
-}
-inline const std::string& ColumnDef::_internal_name() const {
-  return _impl_.name_.Get();
+// .greptime.v1.ColumnDef column_def = 1;
+inline bool RegionColumnDef::_internal_has_column_def() const {
+  return this != internal_default_instance() && _impl_.column_def_ != nullptr;
 }
-inline void ColumnDef::_internal_set_name(const std::string& value) {
-  
-  _impl_.name_.Set(value, GetArenaForAllocation());
+inline bool RegionColumnDef::has_column_def() const {
+  return _internal_has_column_def();
 }
-inline std::string* ColumnDef::_internal_mutable_name() {
-  
-  return _impl_.name_.Mutable(GetArenaForAllocation());
+inline const ::greptime::v1::ColumnDef& RegionColumnDef::_internal_column_def() const {
+  const ::greptime::v1::ColumnDef* p = _impl_.column_def_;
+  return p != nullptr ? *p : reinterpret_cast(
+      ::greptime::v1::_ColumnDef_default_instance_);
 }
-inline std::string* ColumnDef::release_name() {
-  // @@protoc_insertion_point(field_release:greptime.v1.region.ColumnDef.name)
-  return _impl_.name_.Release();
+inline const ::greptime::v1::ColumnDef& RegionColumnDef::column_def() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.region.RegionColumnDef.column_def)
+  return _internal_column_def();
 }
-inline void ColumnDef::set_allocated_name(std::string* name) {
-  if (name != nullptr) {
+inline void RegionColumnDef::unsafe_arena_set_allocated_column_def(
+    ::greptime::v1::ColumnDef* column_def) {
+  if (GetArenaForAllocation() == nullptr) {
+    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.column_def_);
+  }
+  _impl_.column_def_ = column_def;
+  if (column_def) {
     
   } else {
     
   }
-  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (_impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArenaForAllocation());
-  }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.ColumnDef.name)
+  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.RegionColumnDef.column_def)
 }
-
-// uint32 column_id = 2;
-inline void ColumnDef::clear_column_id() {
-  _impl_.column_id_ = 0u;
-}
-inline uint32_t ColumnDef::_internal_column_id() const {
-  return _impl_.column_id_;
-}
-inline uint32_t ColumnDef::column_id() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.ColumnDef.column_id)
-  return _internal_column_id();
-}
-inline void ColumnDef::_internal_set_column_id(uint32_t value) {
+inline ::greptime::v1::ColumnDef* RegionColumnDef::release_column_def() {
   
-  _impl_.column_id_ = value;
-}
-inline void ColumnDef::set_column_id(uint32_t value) {
-  _internal_set_column_id(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.region.ColumnDef.column_id)
-}
-
-// .greptime.v1.ColumnDataType datatype = 3;
-inline void ColumnDef::clear_datatype() {
-  _impl_.datatype_ = 0;
-}
-inline ::greptime::v1::ColumnDataType ColumnDef::_internal_datatype() const {
-  return static_cast< ::greptime::v1::ColumnDataType >(_impl_.datatype_);
-}
-inline ::greptime::v1::ColumnDataType ColumnDef::datatype() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.ColumnDef.datatype)
-  return _internal_datatype();
-}
-inline void ColumnDef::_internal_set_datatype(::greptime::v1::ColumnDataType value) {
-  
-  _impl_.datatype_ = value;
-}
-inline void ColumnDef::set_datatype(::greptime::v1::ColumnDataType value) {
-  _internal_set_datatype(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.region.ColumnDef.datatype)
-}
-
-// bool is_nullable = 4;
-inline void ColumnDef::clear_is_nullable() {
-  _impl_.is_nullable_ = false;
-}
-inline bool ColumnDef::_internal_is_nullable() const {
-  return _impl_.is_nullable_;
-}
-inline bool ColumnDef::is_nullable() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.ColumnDef.is_nullable)
-  return _internal_is_nullable();
-}
-inline void ColumnDef::_internal_set_is_nullable(bool value) {
-  
-  _impl_.is_nullable_ = value;
-}
-inline void ColumnDef::set_is_nullable(bool value) {
-  _internal_set_is_nullable(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.region.ColumnDef.is_nullable)
-}
-
-// bytes default_constraint = 5;
-inline void ColumnDef::clear_default_constraint() {
-  _impl_.default_constraint_.ClearToEmpty();
-}
-inline const std::string& ColumnDef::default_constraint() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.ColumnDef.default_constraint)
-  return _internal_default_constraint();
-}
-template 
-inline PROTOBUF_ALWAYS_INLINE
-void ColumnDef::set_default_constraint(ArgT0&& arg0, ArgT... args) {
- 
- _impl_.default_constraint_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation());
-  // @@protoc_insertion_point(field_set:greptime.v1.region.ColumnDef.default_constraint)
-}
-inline std::string* ColumnDef::mutable_default_constraint() {
-  std::string* _s = _internal_mutable_default_constraint();
-  // @@protoc_insertion_point(field_mutable:greptime.v1.region.ColumnDef.default_constraint)
-  return _s;
-}
-inline const std::string& ColumnDef::_internal_default_constraint() const {
-  return _impl_.default_constraint_.Get();
+  ::greptime::v1::ColumnDef* temp = _impl_.column_def_;
+  _impl_.column_def_ = nullptr;
+#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
+  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
+  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
+  if (GetArenaForAllocation() == nullptr) { delete old; }
+#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
+  if (GetArenaForAllocation() != nullptr) {
+    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
+  }
+#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
+  return temp;
 }
-inline void ColumnDef::_internal_set_default_constraint(const std::string& value) {
+inline ::greptime::v1::ColumnDef* RegionColumnDef::unsafe_arena_release_column_def() {
+  // @@protoc_insertion_point(field_release:greptime.v1.region.RegionColumnDef.column_def)
   
-  _impl_.default_constraint_.Set(value, GetArenaForAllocation());
+  ::greptime::v1::ColumnDef* temp = _impl_.column_def_;
+  _impl_.column_def_ = nullptr;
+  return temp;
 }
-inline std::string* ColumnDef::_internal_mutable_default_constraint() {
+inline ::greptime::v1::ColumnDef* RegionColumnDef::_internal_mutable_column_def() {
   
-  return _impl_.default_constraint_.Mutable(GetArenaForAllocation());
+  if (_impl_.column_def_ == nullptr) {
+    auto* p = CreateMaybeMessage<::greptime::v1::ColumnDef>(GetArenaForAllocation());
+    _impl_.column_def_ = p;
+  }
+  return _impl_.column_def_;
 }
-inline std::string* ColumnDef::release_default_constraint() {
-  // @@protoc_insertion_point(field_release:greptime.v1.region.ColumnDef.default_constraint)
-  return _impl_.default_constraint_.Release();
+inline ::greptime::v1::ColumnDef* RegionColumnDef::mutable_column_def() {
+  ::greptime::v1::ColumnDef* _msg = _internal_mutable_column_def();
+  // @@protoc_insertion_point(field_mutable:greptime.v1.region.RegionColumnDef.column_def)
+  return _msg;
 }
-inline void ColumnDef::set_allocated_default_constraint(std::string* default_constraint) {
-  if (default_constraint != nullptr) {
+inline void RegionColumnDef::set_allocated_column_def(::greptime::v1::ColumnDef* column_def) {
+  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
+  if (message_arena == nullptr) {
+    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.column_def_);
+  }
+  if (column_def) {
+    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
+        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
+                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(column_def));
+    if (message_arena != submessage_arena) {
+      column_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
+          message_arena, column_def, submessage_arena);
+    }
     
   } else {
     
   }
-  _impl_.default_constraint_.SetAllocated(default_constraint, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  if (_impl_.default_constraint_.IsDefault()) {
-    _impl_.default_constraint_.Set("", GetArenaForAllocation());
-  }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-  // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.ColumnDef.default_constraint)
+  _impl_.column_def_ = column_def;
+  // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.RegionColumnDef.column_def)
 }
 
-// .greptime.v1.SemanticType semantic_type = 6;
-inline void ColumnDef::clear_semantic_type() {
-  _impl_.semantic_type_ = 0;
+// uint32 column_id = 2;
+inline void RegionColumnDef::clear_column_id() {
+  _impl_.column_id_ = 0u;
 }
-inline ::greptime::v1::SemanticType ColumnDef::_internal_semantic_type() const {
-  return static_cast< ::greptime::v1::SemanticType >(_impl_.semantic_type_);
+inline uint32_t RegionColumnDef::_internal_column_id() const {
+  return _impl_.column_id_;
 }
-inline ::greptime::v1::SemanticType ColumnDef::semantic_type() const {
-  // @@protoc_insertion_point(field_get:greptime.v1.region.ColumnDef.semantic_type)
-  return _internal_semantic_type();
+inline uint32_t RegionColumnDef::column_id() const {
+  // @@protoc_insertion_point(field_get:greptime.v1.region.RegionColumnDef.column_id)
+  return _internal_column_id();
 }
-inline void ColumnDef::_internal_set_semantic_type(::greptime::v1::SemanticType value) {
+inline void RegionColumnDef::_internal_set_column_id(uint32_t value) {
   
-  _impl_.semantic_type_ = value;
+  _impl_.column_id_ = value;
 }
-inline void ColumnDef::set_semantic_type(::greptime::v1::SemanticType value) {
-  _internal_set_semantic_type(value);
-  // @@protoc_insertion_point(field_set:greptime.v1.region.ColumnDef.semantic_type)
+inline void RegionColumnDef::set_column_id(uint32_t value) {
+  _internal_set_column_id(value);
+  // @@protoc_insertion_point(field_set:greptime.v1.region.RegionColumnDef.column_id)
 }
 
 #ifdef __GNUC__
diff --git a/go/greptime/v1/common.pb.go b/go/greptime/v1/common.pb.go
index c1266faf..66080bea 100644
--- a/go/greptime/v1/common.pb.go
+++ b/go/greptime/v1/common.pb.go
@@ -674,78 +674,6 @@ func (x *FlightMetadata) GetAffectedRows() *AffectedRows {
 	return nil
 }
 
-// TODO: deprecate this, and use the `ColumnDef` in region_server.proto instead
-type ColumnDef struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	Name              string         `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	Datatype          ColumnDataType `protobuf:"varint,2,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"`
-	IsNullable        bool           `protobuf:"varint,3,opt,name=is_nullable,json=isNullable,proto3" json:"is_nullable,omitempty"`
-	DefaultConstraint []byte         `protobuf:"bytes,4,opt,name=default_constraint,json=defaultConstraint,proto3" json:"default_constraint,omitempty"`
-}
-
-func (x *ColumnDef) Reset() {
-	*x = ColumnDef{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_greptime_v1_common_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *ColumnDef) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ColumnDef) ProtoMessage() {}
-
-func (x *ColumnDef) ProtoReflect() protoreflect.Message {
-	mi := &file_greptime_v1_common_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use ColumnDef.ProtoReflect.Descriptor instead.
-func (*ColumnDef) Descriptor() ([]byte, []int) {
-	return file_greptime_v1_common_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *ColumnDef) GetName() string {
-	if x != nil {
-		return x.Name
-	}
-	return ""
-}
-
-func (x *ColumnDef) GetDatatype() ColumnDataType {
-	if x != nil {
-		return x.Datatype
-	}
-	return ColumnDataType_BOOLEAN
-}
-
-func (x *ColumnDef) GetIsNullable() bool {
-	if x != nil {
-		return x.IsNullable
-	}
-	return false
-}
-
-func (x *ColumnDef) GetDefaultConstraint() []byte {
-	if x != nil {
-		return x.DefaultConstraint
-	}
-	return nil
-}
-
 type IntervalMonthDayNano struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -759,7 +687,7 @@ type IntervalMonthDayNano struct {
 func (x *IntervalMonthDayNano) Reset() {
 	*x = IntervalMonthDayNano{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_greptime_v1_common_proto_msgTypes[9]
+		mi := &file_greptime_v1_common_proto_msgTypes[8]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -772,7 +700,7 @@ func (x *IntervalMonthDayNano) String() string {
 func (*IntervalMonthDayNano) ProtoMessage() {}
 
 func (x *IntervalMonthDayNano) ProtoReflect() protoreflect.Message {
-	mi := &file_greptime_v1_common_proto_msgTypes[9]
+	mi := &file_greptime_v1_common_proto_msgTypes[8]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -785,7 +713,7 @@ func (x *IntervalMonthDayNano) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use IntervalMonthDayNano.ProtoReflect.Descriptor instead.
 func (*IntervalMonthDayNano) Descriptor() ([]byte, []int) {
-	return file_greptime_v1_common_proto_rawDescGZIP(), []int{9}
+	return file_greptime_v1_common_proto_rawDescGZIP(), []int{8}
 }
 
 func (x *IntervalMonthDayNano) GetMonths() int32 {
@@ -856,61 +784,51 @@ var file_greptime_v1_common_proto_rawDesc = []byte{
 	0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
 	0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x66, 0x66, 0x65,
 	0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x0c, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74,
-	0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
-	0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61,
-	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65,
-	0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44,
-	0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70,
-	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62,
-	0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f,
-	0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11,
-	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e,
-	0x74, 0x22, 0x64, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e,
-	0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x6e,
-	0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x6f, 0x6e, 0x74, 0x68,
-	0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
-	0x04, 0x64, 0x61, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63,
-	0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x61, 0x6e, 0x6f,
-	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x2a, 0x31, 0x0a, 0x0c, 0x53, 0x65, 0x6d, 0x61, 0x6e,
-	0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x47, 0x10, 0x00,
-	0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x54,
-	0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x2a, 0xc6, 0x03, 0x0a, 0x0e, 0x43,
-	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a,
-	0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e,
-	0x54, 0x38, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x02, 0x12,
-	0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e,
-	0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x05,
-	0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06,
-	0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54,
-	0x36, 0x34, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10,
-	0x09, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x0a, 0x12, 0x0a,
-	0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54,
-	0x52, 0x49, 0x4e, 0x47, 0x10, 0x0c, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0d,
-	0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0e, 0x12, 0x14,
-	0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x53, 0x45, 0x43, 0x4f,
-	0x4e, 0x44, 0x10, 0x0f, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d,
-	0x50, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x10, 0x12,
-	0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4d, 0x49, 0x43,
-	0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x11, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x49,
-	0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f,
-	0x4e, 0x44, 0x10, 0x12, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x43,
-	0x4f, 0x4e, 0x44, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4d, 0x49,
-	0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x14, 0x12, 0x14, 0x0a, 0x10, 0x54,
-	0x49, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10,
-	0x15, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45,
-	0x43, 0x4f, 0x4e, 0x44, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56,
-	0x41, 0x4c, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x17, 0x12,
-	0x15, 0x0a, 0x11, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x59, 0x5f,
-	0x54, 0x49, 0x4d, 0x45, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56,
-	0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, 0x44, 0x41, 0x59, 0x5f, 0x4e, 0x41, 0x4e,
-	0x4f, 0x10, 0x19, 0x42, 0x4f, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
-	0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5a, 0x35, 0x67,
-	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69,
-	0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
-	0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x22, 0x64, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76,
+	0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x12, 0x16,
+	0x0a, 0x06, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
+	0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61,
+	0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x2a, 0x31, 0x0a, 0x0c,
+	0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03,
+	0x54, 0x41, 0x47, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x01,
+	0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x2a,
+	0xc6, 0x03, 0x0a, 0x0e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79,
+	0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x00, 0x12,
+	0x08, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54,
+	0x31, 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x03, 0x12,
+	0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x49,
+	0x4e, 0x54, 0x38, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10,
+	0x06, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0a, 0x0a,
+	0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f,
+	0x41, 0x54, 0x33, 0x32, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36,
+	0x34, 0x10, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x0b, 0x12,
+	0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0c, 0x12, 0x08, 0x0a, 0x04, 0x44,
+	0x41, 0x54, 0x45, 0x10, 0x0d, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d,
+	0x45, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50,
+	0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x0f, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d,
+	0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f,
+	0x4e, 0x44, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d,
+	0x50, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x11, 0x12,
+	0x18, 0x0a, 0x14, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x41, 0x4e,
+	0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x12, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x49, 0x4d,
+	0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49,
+	0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x14,
+	0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45,
+	0x43, 0x4f, 0x4e, 0x44, 0x10, 0x15, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e,
+	0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x49,
+	0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x4d, 0x4f, 0x4e,
+	0x54, 0x48, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c,
+	0x5f, 0x44, 0x41, 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x49,
+	0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, 0x44, 0x41,
+	0x59, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x10, 0x19, 0x42, 0x4f, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67,
+	0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x06, 0x43, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47,
+	0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70,
+	0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72,
+	0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x33,
 }
 
 var (
@@ -926,7 +844,7 @@ func file_greptime_v1_common_proto_rawDescGZIP() []byte {
 }
 
 var file_greptime_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_greptime_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
+var file_greptime_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
 var file_greptime_v1_common_proto_goTypes = []interface{}{
 	(SemanticType)(0),            // 0: greptime.v1.SemanticType
 	(ColumnDataType)(0),          // 1: greptime.v1.ColumnDataType
@@ -938,8 +856,7 @@ var file_greptime_v1_common_proto_goTypes = []interface{}{
 	(*Token)(nil),                // 7: greptime.v1.Token
 	(*AffectedRows)(nil),         // 8: greptime.v1.AffectedRows
 	(*FlightMetadata)(nil),       // 9: greptime.v1.FlightMetadata
-	(*ColumnDef)(nil),            // 10: greptime.v1.ColumnDef
-	(*IntervalMonthDayNano)(nil), // 11: greptime.v1.IntervalMonthDayNano
+	(*IntervalMonthDayNano)(nil), // 10: greptime.v1.IntervalMonthDayNano
 }
 var file_greptime_v1_common_proto_depIdxs = []int32{
 	5, // 0: greptime.v1.RequestHeader.authorization:type_name -> greptime.v1.AuthHeader
@@ -947,12 +864,11 @@ var file_greptime_v1_common_proto_depIdxs = []int32{
 	6, // 2: greptime.v1.AuthHeader.basic:type_name -> greptime.v1.Basic
 	7, // 3: greptime.v1.AuthHeader.token:type_name -> greptime.v1.Token
 	8, // 4: greptime.v1.FlightMetadata.affected_rows:type_name -> greptime.v1.AffectedRows
-	1, // 5: greptime.v1.ColumnDef.datatype:type_name -> greptime.v1.ColumnDataType
-	6, // [6:6] is the sub-list for method output_type
-	6, // [6:6] is the sub-list for method input_type
-	6, // [6:6] is the sub-list for extension type_name
-	6, // [6:6] is the sub-list for extension extendee
-	0, // [0:6] is the sub-list for field type_name
+	5, // [5:5] is the sub-list for method output_type
+	5, // [5:5] is the sub-list for method input_type
+	5, // [5:5] is the sub-list for extension type_name
+	5, // [5:5] is the sub-list for extension extendee
+	0, // [0:5] is the sub-list for field type_name
 }
 
 func init() { file_greptime_v1_common_proto_init() }
@@ -1058,18 +974,6 @@ func file_greptime_v1_common_proto_init() {
 			}
 		}
 		file_greptime_v1_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ColumnDef); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_greptime_v1_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*IntervalMonthDayNano); i {
 			case 0:
 				return &v.state
@@ -1092,7 +996,7 @@ func file_greptime_v1_common_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_greptime_v1_common_proto_rawDesc,
 			NumEnums:      2,
-			NumMessages:   10,
+			NumMessages:   9,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go
index 7f4b385c..36e9a4f3 100644
--- a/go/greptime/v1/ddl.pb.go
+++ b/go/greptime/v1/ddl.pb.go
@@ -77,7 +77,7 @@ func (x AddColumnLocation_LocationType) Number() protoreflect.EnumNumber {
 
 // Deprecated: Use AddColumnLocation_LocationType.Descriptor instead.
 func (AddColumnLocation_LocationType) EnumDescriptor() ([]byte, []int) {
-	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12, 0}
+	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{13, 0}
 }
 
 // "Data Definition Language" requests, that create, modify or delete the
@@ -355,10 +355,7 @@ type AlterExpr struct {
 	//	*AlterExpr_AddColumns
 	//	*AlterExpr_DropColumns
 	//	*AlterExpr_RenameTable
-	Kind    isAlterExpr_Kind `protobuf_oneof:"kind"`
-	TableId *TableId         `protobuf:"bytes,7,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
-	// table version before altering.
-	TableVersion uint64 `protobuf:"varint,8,opt,name=table_version,json=tableVersion,proto3" json:"table_version,omitempty"`
+	Kind isAlterExpr_Kind `protobuf_oneof:"kind"`
 }
 
 func (x *AlterExpr) Reset() {
@@ -442,20 +439,6 @@ func (x *AlterExpr) GetRenameTable() *RenameTable {
 	return nil
 }
 
-func (x *AlterExpr) GetTableId() *TableId {
-	if x != nil {
-		return x.TableId
-	}
-	return nil
-}
-
-func (x *AlterExpr) GetTableVersion() uint64 {
-	if x != nil {
-		return x.TableVersion
-	}
-	return 0
-}
-
 type isAlterExpr_Kind interface {
 	isAlterExpr_Kind()
 }
@@ -830,7 +813,6 @@ type AddColumn struct {
 	unknownFields protoimpl.UnknownFields
 
 	ColumnDef *ColumnDef         `protobuf:"bytes,1,opt,name=column_def,json=columnDef,proto3" json:"column_def,omitempty"`
-	IsKey     bool               `protobuf:"varint,2,opt,name=is_key,json=isKey,proto3" json:"is_key,omitempty"`
 	Location  *AddColumnLocation `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
 }
 
@@ -873,13 +855,6 @@ func (x *AddColumn) GetColumnDef() *ColumnDef {
 	return nil
 }
 
-func (x *AddColumn) GetIsKey() bool {
-	if x != nil {
-		return x.IsKey
-	}
-	return false
-}
-
 func (x *AddColumn) GetLocation() *AddColumnLocation {
 	if x != nil {
 		return x.Location
@@ -981,6 +956,85 @@ func (x *TableId) GetId() uint32 {
 	return 0
 }
 
+type ColumnDef struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	Name              string         `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	Datatype          ColumnDataType `protobuf:"varint,2,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"`
+	IsNullable        bool           `protobuf:"varint,3,opt,name=is_nullable,json=isNullable,proto3" json:"is_nullable,omitempty"`
+	DefaultConstraint []byte         `protobuf:"bytes,4,opt,name=default_constraint,json=defaultConstraint,proto3" json:"default_constraint,omitempty"`
+	SemanticType      SemanticType   `protobuf:"varint,5,opt,name=semantic_type,json=semanticType,proto3,enum=greptime.v1.SemanticType" json:"semantic_type,omitempty"`
+}
+
+func (x *ColumnDef) Reset() {
+	*x = ColumnDef{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_greptime_v1_ddl_proto_msgTypes[12]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *ColumnDef) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ColumnDef) ProtoMessage() {}
+
+func (x *ColumnDef) ProtoReflect() protoreflect.Message {
+	mi := &file_greptime_v1_ddl_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ColumnDef.ProtoReflect.Descriptor instead.
+func (*ColumnDef) Descriptor() ([]byte, []int) {
+	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12}
+}
+
+func (x *ColumnDef) GetName() string {
+	if x != nil {
+		return x.Name
+	}
+	return ""
+}
+
+func (x *ColumnDef) GetDatatype() ColumnDataType {
+	if x != nil {
+		return x.Datatype
+	}
+	return ColumnDataType_BOOLEAN
+}
+
+func (x *ColumnDef) GetIsNullable() bool {
+	if x != nil {
+		return x.IsNullable
+	}
+	return false
+}
+
+func (x *ColumnDef) GetDefaultConstraint() []byte {
+	if x != nil {
+		return x.DefaultConstraint
+	}
+	return nil
+}
+
+func (x *ColumnDef) GetSemanticType() SemanticType {
+	if x != nil {
+		return x.SemanticType
+	}
+	return SemanticType_TAG
+}
+
 type AddColumnLocation struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -993,7 +1047,7 @@ type AddColumnLocation struct {
 func (x *AddColumnLocation) Reset() {
 	*x = AddColumnLocation{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_greptime_v1_ddl_proto_msgTypes[12]
+		mi := &file_greptime_v1_ddl_proto_msgTypes[13]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1006,7 +1060,7 @@ func (x *AddColumnLocation) String() string {
 func (*AddColumnLocation) ProtoMessage() {}
 
 func (x *AddColumnLocation) ProtoReflect() protoreflect.Message {
-	mi := &file_greptime_v1_ddl_proto_msgTypes[12]
+	mi := &file_greptime_v1_ddl_proto_msgTypes[13]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1019,7 +1073,7 @@ func (x *AddColumnLocation) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use AddColumnLocation.ProtoReflect.Descriptor instead.
 func (*AddColumnLocation) Descriptor() ([]byte, []int) {
-	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12}
+	return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{13}
 }
 
 func (x *AddColumnLocation) GetLocationType() AddColumnLocation_LocationType {
@@ -1100,7 +1154,7 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{
 	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
 	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
 	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
-	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x86, 0x03, 0x0a, 0x09, 0x41, 0x6c, 0x74, 0x65,
+	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb0, 0x02, 0x0a, 0x09, 0x41, 0x6c, 0x74, 0x65,
 	0x72, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
 	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74,
 	0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65,
@@ -1119,91 +1173,99 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{
 	0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70,
 	0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61,
 	0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62,
-	0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07,
-	0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
-	0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c,
-	0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72,
-	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c,
-	0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64,
-	0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78,
-	0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61,
-	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f,
-	0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
-	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
-	0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
-	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c,
-	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69,
-	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
-	0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74,
-	0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a,
-	0x0d, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4e, 0x61,
-	0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f,
-	0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
-	0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69,
-	0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
-	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
-	0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
-	0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
-	0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f,
-	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
-	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
-	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
-	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x75, 0x6e,
-	0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a,
-	0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65,
-	0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d,
-	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65,
-	0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31,
-	0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49,
-	0x64, 0x22, 0x45, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12,
-	0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01,
-	0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
-	0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64,
-	0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70,
-	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f,
-	0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
-	0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70,
-	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75,
-	0x6d, 0x6e, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62,
-	0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
-	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54,
-	0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64,
-	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
-	0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65,
-	0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44,
-	0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x15, 0x0a,
-	0x06, 0x69, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69,
-	0x73, 0x4b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
-	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f,
-	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-	0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12,
-	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
-	0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a,
-	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb7, 0x01,
-	0x0a, 0x11, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
-	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65,
-	0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75,
-	0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
-	0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63,
-	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d,
-	0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
-	0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
-	0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72,
-	0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35,
-	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74,
-	0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
-	0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
-	0x6d, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x44,
+	0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c,
+	0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+	0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65,
+	0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+	0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
+	0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64,
+	0x22, 0xee, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62,
+	0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x62,
+	0x61, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+	0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14,
+	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78,
+	0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61,
+	0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a,
+	0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
+	0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
+	0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e,
+	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+	0x01, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61,
+	0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c,
+	0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63,
+	0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
+	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74,
+	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61,
+	0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
+	0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+	0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x0a, 0x41,
+	0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64,
+	0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
+	0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64,
+	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
+	0x6e, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+	0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
+	0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+	0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x33, 0x0a,
+	0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e,
+	0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61,
+	0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12,
+	0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76,
+	0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c,
+	0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74,
+	0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+	0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12,
+	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22,
+	0xe8, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a,
+	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+	0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76,
+	0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65,
+	0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73,
+	0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
+	0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64,
+	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e,
+	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+	0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65,
+	0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+	0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
+	0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65,
+	0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x41,
+	0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
+	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
+	0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c,
+	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
+	0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75,
+	0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61,
+	0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24,
+	0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09,
+	0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54,
+	0x45, 0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74,
+	0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35, 0x67, 0x69, 0x74,
+	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
+	0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f,
+	0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -1219,7 +1281,7 @@ func file_greptime_v1_ddl_proto_rawDescGZIP() []byte {
 }
 
 var file_greptime_v1_ddl_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
+var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
 var file_greptime_v1_ddl_proto_goTypes = []interface{}{
 	(AddColumnLocation_LocationType)(0), // 0: greptime.v1.AddColumnLocation.LocationType
 	(*DdlRequest)(nil),                  // 1: greptime.v1.DdlRequest
@@ -1234,10 +1296,12 @@ var file_greptime_v1_ddl_proto_goTypes = []interface{}{
 	(*AddColumn)(nil),                   // 10: greptime.v1.AddColumn
 	(*DropColumn)(nil),                  // 11: greptime.v1.DropColumn
 	(*TableId)(nil),                     // 12: greptime.v1.TableId
-	(*AddColumnLocation)(nil),           // 13: greptime.v1.AddColumnLocation
-	nil,                                 // 14: greptime.v1.CreateTableExpr.TableOptionsEntry
-	nil,                                 // 15: greptime.v1.CreateDatabaseExpr.OptionsEntry
-	(*ColumnDef)(nil),                   // 16: greptime.v1.ColumnDef
+	(*ColumnDef)(nil),                   // 13: greptime.v1.ColumnDef
+	(*AddColumnLocation)(nil),           // 14: greptime.v1.AddColumnLocation
+	nil,                                 // 15: greptime.v1.CreateTableExpr.TableOptionsEntry
+	nil,                                 // 16: greptime.v1.CreateDatabaseExpr.OptionsEntry
+	(ColumnDataType)(0),                 // 17: greptime.v1.ColumnDataType
+	(SemanticType)(0),                   // 18: greptime.v1.SemanticType
 }
 var file_greptime_v1_ddl_proto_depIdxs = []int32{
 	5,  // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr
@@ -1245,26 +1309,27 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{
 	3,  // 2: greptime.v1.DdlRequest.alter:type_name -> greptime.v1.AlterExpr
 	4,  // 3: greptime.v1.DdlRequest.drop_table:type_name -> greptime.v1.DropTableExpr
 	6,  // 4: greptime.v1.DdlRequest.truncate_table:type_name -> greptime.v1.TruncateTableExpr
-	16, // 5: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef
-	14, // 6: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry
+	13, // 5: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef
+	15, // 6: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry
 	12, // 7: greptime.v1.CreateTableExpr.table_id:type_name -> greptime.v1.TableId
 	7,  // 8: greptime.v1.AlterExpr.add_columns:type_name -> greptime.v1.AddColumns
 	8,  // 9: greptime.v1.AlterExpr.drop_columns:type_name -> greptime.v1.DropColumns
 	9,  // 10: greptime.v1.AlterExpr.rename_table:type_name -> greptime.v1.RenameTable
-	12, // 11: greptime.v1.AlterExpr.table_id:type_name -> greptime.v1.TableId
-	12, // 12: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId
-	15, // 13: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry
-	12, // 14: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId
-	10, // 15: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn
-	11, // 16: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn
-	16, // 17: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef
-	13, // 18: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation
-	0,  // 19: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType
-	20, // [20:20] is the sub-list for method output_type
-	20, // [20:20] is the sub-list for method input_type
-	20, // [20:20] is the sub-list for extension type_name
-	20, // [20:20] is the sub-list for extension extendee
-	0,  // [0:20] is the sub-list for field type_name
+	12, // 11: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId
+	16, // 12: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry
+	12, // 13: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId
+	10, // 14: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn
+	11, // 15: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn
+	13, // 16: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef
+	14, // 17: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation
+	17, // 18: greptime.v1.ColumnDef.datatype:type_name -> greptime.v1.ColumnDataType
+	18, // 19: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType
+	0,  // 20: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType
+	21, // [21:21] is the sub-list for method output_type
+	21, // [21:21] is the sub-list for method input_type
+	21, // [21:21] is the sub-list for extension type_name
+	21, // [21:21] is the sub-list for extension extendee
+	0,  // [0:21] is the sub-list for field type_name
 }
 
 func init() { file_greptime_v1_ddl_proto_init() }
@@ -1419,6 +1484,18 @@ func file_greptime_v1_ddl_proto_init() {
 			}
 		}
 		file_greptime_v1_ddl_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*ColumnDef); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_greptime_v1_ddl_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*AddColumnLocation); i {
 			case 0:
 				return &v.state
@@ -1449,7 +1526,7 @@ func file_greptime_v1_ddl_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_greptime_v1_ddl_proto_rawDesc,
 			NumEnums:      1,
-			NumMessages:   15,
+			NumMessages:   16,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
diff --git a/java/src/main/java/io/greptime/v1/Common.java b/java/src/main/java/io/greptime/v1/Common.java
index 30e04911..b240e70d 100644
--- a/java/src/main/java/io/greptime/v1/Common.java
+++ b/java/src/main/java/io/greptime/v1/Common.java
@@ -6515,836 +6515,6 @@ public io.greptime.v1.Common.FlightMetadata getDefaultInstanceForType() {
 
   }
 
-  public interface ColumnDefOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:greptime.v1.ColumnDef)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * string name = 1;
-     * @return The name.
-     */
-    java.lang.String getName();
-    /**
-     * string name = 1;
-     * @return The bytes for name.
-     */
-    com.google.protobuf.ByteString
-        getNameBytes();
-
-    /**
-     * .greptime.v1.ColumnDataType datatype = 2;
-     * @return The enum numeric value on the wire for datatype.
-     */
-    int getDatatypeValue();
-    /**
-     * .greptime.v1.ColumnDataType datatype = 2;
-     * @return The datatype.
-     */
-    io.greptime.v1.Common.ColumnDataType getDatatype();
-
-    /**
-     * bool is_nullable = 3;
-     * @return The isNullable.
-     */
-    boolean getIsNullable();
-
-    /**
-     * bytes default_constraint = 4;
-     * @return The defaultConstraint.
-     */
-    com.google.protobuf.ByteString getDefaultConstraint();
-  }
-  /**
-   * 
-   * TODO: deprecate this, and use the `ColumnDef` in region_server.proto instead
-   * 
- * - * Protobuf type {@code greptime.v1.ColumnDef} - */ - public static final class ColumnDef extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:greptime.v1.ColumnDef) - ColumnDefOrBuilder { - private static final long serialVersionUID = 0L; - // Use ColumnDef.newBuilder() to construct. - private ColumnDef(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ColumnDef() { - name_ = ""; - datatype_ = 0; - defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ColumnDef(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ColumnDef( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - name_ = s; - break; - } - case 16: { - int rawValue = input.readEnum(); - - datatype_ = rawValue; - break; - } - case 24: { - - isNullable_ = input.readBool(); - break; - } - case 34: { - - defaultConstraint_ = input.readBytes(); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return io.greptime.v1.Common.internal_static_greptime_v1_ColumnDef_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return io.greptime.v1.Common.internal_static_greptime_v1_ColumnDef_fieldAccessorTable - .ensureFieldAccessorsInitialized( - io.greptime.v1.Common.ColumnDef.class, io.greptime.v1.Common.ColumnDef.Builder.class); - } - - public static final int NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object name_; - /** - * string name = 1; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } - } - /** - * string name = 1; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int DATATYPE_FIELD_NUMBER = 2; - private int datatype_; - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The enum numeric value on the wire for datatype. - */ - @java.lang.Override public int getDatatypeValue() { - return datatype_; - } - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The datatype. - */ - @java.lang.Override public io.greptime.v1.Common.ColumnDataType getDatatype() { - @SuppressWarnings("deprecation") - io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); - return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; - } - - public static final int IS_NULLABLE_FIELD_NUMBER = 3; - private boolean isNullable_; - /** - * bool is_nullable = 3; - * @return The isNullable. - */ - @java.lang.Override - public boolean getIsNullable() { - return isNullable_; - } - - public static final int DEFAULT_CONSTRAINT_FIELD_NUMBER = 4; - private com.google.protobuf.ByteString defaultConstraint_; - /** - * bytes default_constraint = 4; - * @return The defaultConstraint. - */ - @java.lang.Override - public com.google.protobuf.ByteString getDefaultConstraint() { - return defaultConstraint_; - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); - } - if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { - output.writeEnum(2, datatype_); - } - if (isNullable_ != false) { - output.writeBool(3, isNullable_); - } - if (!defaultConstraint_.isEmpty()) { - output.writeBytes(4, defaultConstraint_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); - } - if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, datatype_); - } - if (isNullable_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, isNullable_); - } - if (!defaultConstraint_.isEmpty()) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(4, defaultConstraint_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof io.greptime.v1.Common.ColumnDef)) { - return super.equals(obj); - } - io.greptime.v1.Common.ColumnDef other = (io.greptime.v1.Common.ColumnDef) obj; - - if (!getName() - .equals(other.getName())) return false; - if (datatype_ != other.datatype_) return false; - if (getIsNullable() - != other.getIsNullable()) return false; - if (!getDefaultConstraint() - .equals(other.getDefaultConstraint())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + DATATYPE_FIELD_NUMBER; - hash = (53 * hash) + datatype_; - hash = (37 * hash) + IS_NULLABLE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsNullable()); - hash = (37 * hash) + DEFAULT_CONSTRAINT_FIELD_NUMBER; - hash = (53 * hash) + getDefaultConstraint().hashCode(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static io.greptime.v1.Common.ColumnDef parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static io.greptime.v1.Common.ColumnDef parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static io.greptime.v1.Common.ColumnDef parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static io.greptime.v1.Common.ColumnDef parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static io.greptime.v1.Common.ColumnDef parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static io.greptime.v1.Common.ColumnDef parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(io.greptime.v1.Common.ColumnDef prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * TODO: deprecate this, and use the `ColumnDef` in region_server.proto instead
-     * 
- * - * Protobuf type {@code greptime.v1.ColumnDef} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:greptime.v1.ColumnDef) - io.greptime.v1.Common.ColumnDefOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return io.greptime.v1.Common.internal_static_greptime_v1_ColumnDef_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return io.greptime.v1.Common.internal_static_greptime_v1_ColumnDef_fieldAccessorTable - .ensureFieldAccessorsInitialized( - io.greptime.v1.Common.ColumnDef.class, io.greptime.v1.Common.ColumnDef.Builder.class); - } - - // Construct using io.greptime.v1.Common.ColumnDef.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - name_ = ""; - - datatype_ = 0; - - isNullable_ = false; - - defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; - - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return io.greptime.v1.Common.internal_static_greptime_v1_ColumnDef_descriptor; - } - - @java.lang.Override - public io.greptime.v1.Common.ColumnDef getDefaultInstanceForType() { - return io.greptime.v1.Common.ColumnDef.getDefaultInstance(); - } - - @java.lang.Override - public io.greptime.v1.Common.ColumnDef build() { - io.greptime.v1.Common.ColumnDef result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public io.greptime.v1.Common.ColumnDef buildPartial() { - io.greptime.v1.Common.ColumnDef result = new io.greptime.v1.Common.ColumnDef(this); - result.name_ = name_; - result.datatype_ = datatype_; - result.isNullable_ = isNullable_; - result.defaultConstraint_ = defaultConstraint_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.greptime.v1.Common.ColumnDef) { - return mergeFrom((io.greptime.v1.Common.ColumnDef)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(io.greptime.v1.Common.ColumnDef other) { - if (other == io.greptime.v1.Common.ColumnDef.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - onChanged(); - } - if (other.datatype_ != 0) { - setDatatypeValue(other.getDatatypeValue()); - } - if (other.getIsNullable() != false) { - setIsNullable(other.getIsNullable()); - } - if (other.getDefaultConstraint() != com.google.protobuf.ByteString.EMPTY) { - setDefaultConstraint(other.getDefaultConstraint()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - io.greptime.v1.Common.ColumnDef parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (io.greptime.v1.Common.ColumnDef) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private java.lang.Object name_ = ""; - /** - * string name = 1; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 1; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 1; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - name_ = value; - onChanged(); - return this; - } - /** - * string name = 1; - * @return This builder for chaining. - */ - public Builder clearName() { - - name_ = getDefaultInstance().getName(); - onChanged(); - return this; - } - /** - * string name = 1; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - name_ = value; - onChanged(); - return this; - } - - private int datatype_ = 0; - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The enum numeric value on the wire for datatype. - */ - @java.lang.Override public int getDatatypeValue() { - return datatype_; - } - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @param value The enum numeric value on the wire for datatype to set. - * @return This builder for chaining. - */ - public Builder setDatatypeValue(int value) { - - datatype_ = value; - onChanged(); - return this; - } - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The datatype. - */ - @java.lang.Override - public io.greptime.v1.Common.ColumnDataType getDatatype() { - @SuppressWarnings("deprecation") - io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); - return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; - } - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @param value The datatype to set. - * @return This builder for chaining. - */ - public Builder setDatatype(io.greptime.v1.Common.ColumnDataType value) { - if (value == null) { - throw new NullPointerException(); - } - - datatype_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return This builder for chaining. - */ - public Builder clearDatatype() { - - datatype_ = 0; - onChanged(); - return this; - } - - private boolean isNullable_ ; - /** - * bool is_nullable = 3; - * @return The isNullable. - */ - @java.lang.Override - public boolean getIsNullable() { - return isNullable_; - } - /** - * bool is_nullable = 3; - * @param value The isNullable to set. - * @return This builder for chaining. - */ - public Builder setIsNullable(boolean value) { - - isNullable_ = value; - onChanged(); - return this; - } - /** - * bool is_nullable = 3; - * @return This builder for chaining. - */ - public Builder clearIsNullable() { - - isNullable_ = false; - onChanged(); - return this; - } - - private com.google.protobuf.ByteString defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; - /** - * bytes default_constraint = 4; - * @return The defaultConstraint. - */ - @java.lang.Override - public com.google.protobuf.ByteString getDefaultConstraint() { - return defaultConstraint_; - } - /** - * bytes default_constraint = 4; - * @param value The defaultConstraint to set. - * @return This builder for chaining. - */ - public Builder setDefaultConstraint(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - - defaultConstraint_ = value; - onChanged(); - return this; - } - /** - * bytes default_constraint = 4; - * @return This builder for chaining. - */ - public Builder clearDefaultConstraint() { - - defaultConstraint_ = getDefaultInstance().getDefaultConstraint(); - onChanged(); - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:greptime.v1.ColumnDef) - } - - // @@protoc_insertion_point(class_scope:greptime.v1.ColumnDef) - private static final io.greptime.v1.Common.ColumnDef DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new io.greptime.v1.Common.ColumnDef(); - } - - public static io.greptime.v1.Common.ColumnDef getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ColumnDef parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ColumnDef(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public io.greptime.v1.Common.ColumnDef getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - public interface IntervalMonthDayNanoOrBuilder extends // @@protoc_insertion_point(interface_extends:greptime.v1.IntervalMonthDayNano) com.google.protobuf.MessageOrBuilder { @@ -8016,11 +7186,6 @@ public io.greptime.v1.Common.IntervalMonthDayNano getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_FlightMetadata_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_ColumnDef_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_ColumnDef_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_greptime_v1_IntervalMonthDayNano_descriptor; private static final @@ -8049,26 +7214,23 @@ public io.greptime.v1.Common.IntervalMonthDayNano getDefaultInstanceForType() { "\"\026\n\005Token\022\r\n\005token\030\001 \001(\t\"\035\n\014AffectedRows" + "\022\r\n\005value\030\001 \001(\r\"B\n\016FlightMetadata\0220\n\raff" + "ected_rows\030\001 \001(\0132\031.greptime.v1.AffectedR" + - "ows\"y\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022-\n\010dataty" + - "pe\030\002 \001(\0162\033.greptime.v1.ColumnDataType\022\023\n" + - "\013is_nullable\030\003 \001(\010\022\032\n\022default_constraint" + - "\030\004 \001(\014\"I\n\024IntervalMonthDayNano\022\016\n\006months" + - "\030\001 \001(\005\022\014\n\004days\030\002 \001(\005\022\023\n\013nanoseconds\030\003 \001(" + - "\003*1\n\014SemanticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n" + - "\tTIMESTAMP\020\002*\306\003\n\016ColumnDataType\022\013\n\007BOOLE" + - "AN\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005" + - "INT64\020\004\022\t\n\005UINT8\020\005\022\n\n\006UINT16\020\006\022\n\n\006UINT32" + - "\020\007\022\n\n\006UINT64\020\010\022\013\n\007FLOAT32\020\t\022\013\n\007FLOAT64\020\n" + - "\022\n\n\006BINARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DA" + - "TETIME\020\016\022\024\n\020TIMESTAMP_SECOND\020\017\022\031\n\025TIMEST" + - "AMP_MILLISECOND\020\020\022\031\n\025TIMESTAMP_MICROSECO" + - "ND\020\021\022\030\n\024TIMESTAMP_NANOSECOND\020\022\022\017\n\013TIME_S" + - "ECOND\020\023\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MI" + - "CROSECOND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTE" + - "RVAL_YEAR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030" + - "\022\033\n\027INTERVAL_MONTH_DAY_NANO\020\031BO\n\016io.grep" + - "time.v1B\006CommonZ5github.com/GreptimeTeam" + - "/greptime-proto/go/greptime/v1b\006proto3" + "ows\"I\n\024IntervalMonthDayNano\022\016\n\006months\030\001 " + + "\001(\005\022\014\n\004days\030\002 \001(\005\022\023\n\013nanoseconds\030\003 \001(\003*1" + + "\n\014SemanticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n\tTI" + + "MESTAMP\020\002*\306\003\n\016ColumnDataType\022\013\n\007BOOLEAN\020" + + "\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005INT" + + "64\020\004\022\t\n\005UINT8\020\005\022\n\n\006UINT16\020\006\022\n\n\006UINT32\020\007\022" + + "\n\n\006UINT64\020\010\022\013\n\007FLOAT32\020\t\022\013\n\007FLOAT64\020\n\022\n\n" + + "\006BINARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DATET" + + "IME\020\016\022\024\n\020TIMESTAMP_SECOND\020\017\022\031\n\025TIMESTAMP" + + "_MILLISECOND\020\020\022\031\n\025TIMESTAMP_MICROSECOND\020" + + "\021\022\030\n\024TIMESTAMP_NANOSECOND\020\022\022\017\n\013TIME_SECO" + + "ND\020\023\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MICRO" + + "SECOND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTERVA" + + "L_YEAR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030\022\033\n" + + "\027INTERVAL_MONTH_DAY_NANO\020\031BO\n\016io.greptim" + + "e.v1B\006CommonZ5github.com/GreptimeTeam/gr" + + "eptime-proto/go/greptime/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -8122,14 +7284,8 @@ public io.greptime.v1.Common.IntervalMonthDayNano getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_FlightMetadata_descriptor, new java.lang.String[] { "AffectedRows", }); - internal_static_greptime_v1_ColumnDef_descriptor = - getDescriptor().getMessageTypes().get(8); - internal_static_greptime_v1_ColumnDef_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_ColumnDef_descriptor, - new java.lang.String[] { "Name", "Datatype", "IsNullable", "DefaultConstraint", }); internal_static_greptime_v1_IntervalMonthDayNano_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(8); internal_static_greptime_v1_IntervalMonthDayNano_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_IntervalMonthDayNano_descriptor, diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java index f9e6367e..c2533bd5 100644 --- a/java/src/main/java/io/greptime/v1/Ddl.java +++ b/java/src/main/java/io/greptime/v1/Ddl.java @@ -1724,12 +1724,12 @@ public interface CreateTableExprOrBuilder extends /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - java.util.List + java.util.List getColumnDefsList(); /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - io.greptime.v1.Common.ColumnDef getColumnDefs(int index); + io.greptime.v1.Ddl.ColumnDef getColumnDefs(int index); /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ @@ -1737,12 +1737,12 @@ public interface CreateTableExprOrBuilder extends /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - java.util.List + java.util.List getColumnDefsOrBuilderList(); /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefsOrBuilder( + io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefsOrBuilder( int index); /** @@ -1949,11 +1949,11 @@ private CreateTableExpr( } case 42: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - columnDefs_ = new java.util.ArrayList(); + columnDefs_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } columnDefs_.add( - input.readMessage(io.greptime.v1.Common.ColumnDef.parser(), extensionRegistry)); + input.readMessage(io.greptime.v1.Ddl.ColumnDef.parser(), extensionRegistry)); break; } case 50: { @@ -2237,19 +2237,19 @@ public java.lang.String getDesc() { } public static final int COLUMN_DEFS_FIELD_NUMBER = 5; - private java.util.List columnDefs_; + private java.util.List columnDefs_; /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ @java.lang.Override - public java.util.List getColumnDefsList() { + public java.util.List getColumnDefsList() { return columnDefs_; } /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ @java.lang.Override - public java.util.List + public java.util.List getColumnDefsOrBuilderList() { return columnDefs_; } @@ -2264,14 +2264,14 @@ public int getColumnDefsCount() { * repeated .greptime.v1.ColumnDef column_defs = 5; */ @java.lang.Override - public io.greptime.v1.Common.ColumnDef getColumnDefs(int index) { + public io.greptime.v1.Ddl.ColumnDef getColumnDefs(int index) { return columnDefs_.get(index); } /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ @java.lang.Override - public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefsOrBuilder( + public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefsOrBuilder( int index) { return columnDefs_.get(index); } @@ -3457,22 +3457,22 @@ public Builder setDescBytes( return this; } - private java.util.List columnDefs_ = + private java.util.List columnDefs_ = java.util.Collections.emptyList(); private void ensureColumnDefsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { - columnDefs_ = new java.util.ArrayList(columnDefs_); + columnDefs_ = new java.util.ArrayList(columnDefs_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< - io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> columnDefsBuilder_; + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> columnDefsBuilder_; /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public java.util.List getColumnDefsList() { + public java.util.List getColumnDefsList() { if (columnDefsBuilder_ == null) { return java.util.Collections.unmodifiableList(columnDefs_); } else { @@ -3492,7 +3492,7 @@ public int getColumnDefsCount() { /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public io.greptime.v1.Common.ColumnDef getColumnDefs(int index) { + public io.greptime.v1.Ddl.ColumnDef getColumnDefs(int index) { if (columnDefsBuilder_ == null) { return columnDefs_.get(index); } else { @@ -3503,7 +3503,7 @@ public io.greptime.v1.Common.ColumnDef getColumnDefs(int index) { * repeated .greptime.v1.ColumnDef column_defs = 5; */ public Builder setColumnDefs( - int index, io.greptime.v1.Common.ColumnDef value) { + int index, io.greptime.v1.Ddl.ColumnDef value) { if (columnDefsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3520,7 +3520,7 @@ public Builder setColumnDefs( * repeated .greptime.v1.ColumnDef column_defs = 5; */ public Builder setColumnDefs( - int index, io.greptime.v1.Common.ColumnDef.Builder builderForValue) { + int index, io.greptime.v1.Ddl.ColumnDef.Builder builderForValue) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); columnDefs_.set(index, builderForValue.build()); @@ -3533,7 +3533,7 @@ public Builder setColumnDefs( /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public Builder addColumnDefs(io.greptime.v1.Common.ColumnDef value) { + public Builder addColumnDefs(io.greptime.v1.Ddl.ColumnDef value) { if (columnDefsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3550,7 +3550,7 @@ public Builder addColumnDefs(io.greptime.v1.Common.ColumnDef value) { * repeated .greptime.v1.ColumnDef column_defs = 5; */ public Builder addColumnDefs( - int index, io.greptime.v1.Common.ColumnDef value) { + int index, io.greptime.v1.Ddl.ColumnDef value) { if (columnDefsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3567,7 +3567,7 @@ public Builder addColumnDefs( * repeated .greptime.v1.ColumnDef column_defs = 5; */ public Builder addColumnDefs( - io.greptime.v1.Common.ColumnDef.Builder builderForValue) { + io.greptime.v1.Ddl.ColumnDef.Builder builderForValue) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); columnDefs_.add(builderForValue.build()); @@ -3581,7 +3581,7 @@ public Builder addColumnDefs( * repeated .greptime.v1.ColumnDef column_defs = 5; */ public Builder addColumnDefs( - int index, io.greptime.v1.Common.ColumnDef.Builder builderForValue) { + int index, io.greptime.v1.Ddl.ColumnDef.Builder builderForValue) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); columnDefs_.add(index, builderForValue.build()); @@ -3595,7 +3595,7 @@ public Builder addColumnDefs( * repeated .greptime.v1.ColumnDef column_defs = 5; */ public Builder addAllColumnDefs( - java.lang.Iterable values) { + java.lang.Iterable values) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( @@ -3635,14 +3635,14 @@ public Builder removeColumnDefs(int index) { /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public io.greptime.v1.Common.ColumnDef.Builder getColumnDefsBuilder( + public io.greptime.v1.Ddl.ColumnDef.Builder getColumnDefsBuilder( int index) { return getColumnDefsFieldBuilder().getBuilder(index); } /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefsOrBuilder( + public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefsOrBuilder( int index) { if (columnDefsBuilder_ == null) { return columnDefs_.get(index); } else { @@ -3652,7 +3652,7 @@ public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefsOrBuilder( /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public java.util.List + public java.util.List getColumnDefsOrBuilderList() { if (columnDefsBuilder_ != null) { return columnDefsBuilder_.getMessageOrBuilderList(); @@ -3663,31 +3663,31 @@ public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefsOrBuilder( /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public io.greptime.v1.Common.ColumnDef.Builder addColumnDefsBuilder() { + public io.greptime.v1.Ddl.ColumnDef.Builder addColumnDefsBuilder() { return getColumnDefsFieldBuilder().addBuilder( - io.greptime.v1.Common.ColumnDef.getDefaultInstance()); + io.greptime.v1.Ddl.ColumnDef.getDefaultInstance()); } /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public io.greptime.v1.Common.ColumnDef.Builder addColumnDefsBuilder( + public io.greptime.v1.Ddl.ColumnDef.Builder addColumnDefsBuilder( int index) { return getColumnDefsFieldBuilder().addBuilder( - index, io.greptime.v1.Common.ColumnDef.getDefaultInstance()); + index, io.greptime.v1.Ddl.ColumnDef.getDefaultInstance()); } /** * repeated .greptime.v1.ColumnDef column_defs = 5; */ - public java.util.List + public java.util.List getColumnDefsBuilderList() { return getColumnDefsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> getColumnDefsFieldBuilder() { if (columnDefsBuilder_ == null) { columnDefsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder>( + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder>( columnDefs_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), @@ -4456,31 +4456,6 @@ public interface AlterExprOrBuilder extends */ io.greptime.v1.Ddl.RenameTableOrBuilder getRenameTableOrBuilder(); - /** - * .greptime.v1.TableId table_id = 7; - * @return Whether the tableId field is set. - */ - boolean hasTableId(); - /** - * .greptime.v1.TableId table_id = 7; - * @return The tableId. - */ - io.greptime.v1.Ddl.TableId getTableId(); - /** - * .greptime.v1.TableId table_id = 7; - */ - io.greptime.v1.Ddl.TableIdOrBuilder getTableIdOrBuilder(); - - /** - *
-     * table version before altering.
-     * 
- * - * uint64 table_version = 8; - * @return The tableVersion. - */ - long getTableVersion(); - public io.greptime.v1.Ddl.AlterExpr.KindCase getKindCase(); } /** @@ -4591,24 +4566,6 @@ private AlterExpr( kindCase_ = 6; break; } - case 58: { - io.greptime.v1.Ddl.TableId.Builder subBuilder = null; - if (tableId_ != null) { - subBuilder = tableId_.toBuilder(); - } - tableId_ = input.readMessage(io.greptime.v1.Ddl.TableId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(tableId_); - tableId_ = subBuilder.buildPartial(); - } - - break; - } - case 64: { - - tableVersion_ = input.readUInt64(); - break; - } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -4893,47 +4850,6 @@ public io.greptime.v1.Ddl.RenameTableOrBuilder getRenameTableOrBuilder() { return io.greptime.v1.Ddl.RenameTable.getDefaultInstance(); } - public static final int TABLE_ID_FIELD_NUMBER = 7; - private io.greptime.v1.Ddl.TableId tableId_; - /** - * .greptime.v1.TableId table_id = 7; - * @return Whether the tableId field is set. - */ - @java.lang.Override - public boolean hasTableId() { - return tableId_ != null; - } - /** - * .greptime.v1.TableId table_id = 7; - * @return The tableId. - */ - @java.lang.Override - public io.greptime.v1.Ddl.TableId getTableId() { - return tableId_ == null ? io.greptime.v1.Ddl.TableId.getDefaultInstance() : tableId_; - } - /** - * .greptime.v1.TableId table_id = 7; - */ - @java.lang.Override - public io.greptime.v1.Ddl.TableIdOrBuilder getTableIdOrBuilder() { - return getTableId(); - } - - public static final int TABLE_VERSION_FIELD_NUMBER = 8; - private long tableVersion_; - /** - *
-     * table version before altering.
-     * 
- * - * uint64 table_version = 8; - * @return The tableVersion. - */ - @java.lang.Override - public long getTableVersion() { - return tableVersion_; - } - private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -4966,12 +4882,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (kindCase_ == 6) { output.writeMessage(6, (io.greptime.v1.Ddl.RenameTable) kind_); } - if (tableId_ != null) { - output.writeMessage(7, getTableId()); - } - if (tableVersion_ != 0L) { - output.writeUInt64(8, tableVersion_); - } unknownFields.writeTo(output); } @@ -5002,14 +4912,6 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, (io.greptime.v1.Ddl.RenameTable) kind_); } - if (tableId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, getTableId()); - } - if (tableVersion_ != 0L) { - size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(8, tableVersion_); - } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -5031,13 +4933,6 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getSchemaName())) return false; if (!getTableName() .equals(other.getTableName())) return false; - if (hasTableId() != other.hasTableId()) return false; - if (hasTableId()) { - if (!getTableId() - .equals(other.getTableId())) return false; - } - if (getTableVersion() - != other.getTableVersion()) return false; if (!getKindCase().equals(other.getKindCase())) return false; switch (kindCase_) { case 4: @@ -5072,13 +4967,6 @@ public int hashCode() { hash = (53 * hash) + getSchemaName().hashCode(); hash = (37 * hash) + TABLE_NAME_FIELD_NUMBER; hash = (53 * hash) + getTableName().hashCode(); - if (hasTableId()) { - hash = (37 * hash) + TABLE_ID_FIELD_NUMBER; - hash = (53 * hash) + getTableId().hashCode(); - } - hash = (37 * hash) + TABLE_VERSION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getTableVersion()); switch (kindCase_) { case 4: hash = (37 * hash) + ADD_COLUMNS_FIELD_NUMBER; @@ -5234,14 +5122,6 @@ public Builder clear() { tableName_ = ""; - if (tableIdBuilder_ == null) { - tableId_ = null; - } else { - tableId_ = null; - tableIdBuilder_ = null; - } - tableVersion_ = 0L; - kindCase_ = 0; kind_ = null; return this; @@ -5294,12 +5174,6 @@ public io.greptime.v1.Ddl.AlterExpr buildPartial() { result.kind_ = renameTableBuilder_.build(); } } - if (tableIdBuilder_ == null) { - result.tableId_ = tableId_; - } else { - result.tableId_ = tableIdBuilder_.build(); - } - result.tableVersion_ = tableVersion_; result.kindCase_ = kindCase_; onBuilt(); return result; @@ -5361,12 +5235,6 @@ public Builder mergeFrom(io.greptime.v1.Ddl.AlterExpr other) { tableName_ = other.tableName_; onChanged(); } - if (other.hasTableId()) { - mergeTableId(other.getTableId()); - } - if (other.getTableVersion() != 0L) { - setTableVersion(other.getTableVersion()); - } switch (other.getKindCase()) { case ADD_COLUMNS: { mergeAddColumns(other.getAddColumns()); @@ -6081,168 +5949,6 @@ public io.greptime.v1.Ddl.RenameTableOrBuilder getRenameTableOrBuilder() { onChanged();; return renameTableBuilder_; } - - private io.greptime.v1.Ddl.TableId tableId_; - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder> tableIdBuilder_; - /** - * .greptime.v1.TableId table_id = 7; - * @return Whether the tableId field is set. - */ - public boolean hasTableId() { - return tableIdBuilder_ != null || tableId_ != null; - } - /** - * .greptime.v1.TableId table_id = 7; - * @return The tableId. - */ - public io.greptime.v1.Ddl.TableId getTableId() { - if (tableIdBuilder_ == null) { - return tableId_ == null ? io.greptime.v1.Ddl.TableId.getDefaultInstance() : tableId_; - } else { - return tableIdBuilder_.getMessage(); - } - } - /** - * .greptime.v1.TableId table_id = 7; - */ - public Builder setTableId(io.greptime.v1.Ddl.TableId value) { - if (tableIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - tableId_ = value; - onChanged(); - } else { - tableIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .greptime.v1.TableId table_id = 7; - */ - public Builder setTableId( - io.greptime.v1.Ddl.TableId.Builder builderForValue) { - if (tableIdBuilder_ == null) { - tableId_ = builderForValue.build(); - onChanged(); - } else { - tableIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .greptime.v1.TableId table_id = 7; - */ - public Builder mergeTableId(io.greptime.v1.Ddl.TableId value) { - if (tableIdBuilder_ == null) { - if (tableId_ != null) { - tableId_ = - io.greptime.v1.Ddl.TableId.newBuilder(tableId_).mergeFrom(value).buildPartial(); - } else { - tableId_ = value; - } - onChanged(); - } else { - tableIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .greptime.v1.TableId table_id = 7; - */ - public Builder clearTableId() { - if (tableIdBuilder_ == null) { - tableId_ = null; - onChanged(); - } else { - tableId_ = null; - tableIdBuilder_ = null; - } - - return this; - } - /** - * .greptime.v1.TableId table_id = 7; - */ - public io.greptime.v1.Ddl.TableId.Builder getTableIdBuilder() { - - onChanged(); - return getTableIdFieldBuilder().getBuilder(); - } - /** - * .greptime.v1.TableId table_id = 7; - */ - public io.greptime.v1.Ddl.TableIdOrBuilder getTableIdOrBuilder() { - if (tableIdBuilder_ != null) { - return tableIdBuilder_.getMessageOrBuilder(); - } else { - return tableId_ == null ? - io.greptime.v1.Ddl.TableId.getDefaultInstance() : tableId_; - } - } - /** - * .greptime.v1.TableId table_id = 7; - */ - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder> - getTableIdFieldBuilder() { - if (tableIdBuilder_ == null) { - tableIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder>( - getTableId(), - getParentForChildren(), - isClean()); - tableId_ = null; - } - return tableIdBuilder_; - } - - private long tableVersion_ ; - /** - *
-       * table version before altering.
-       * 
- * - * uint64 table_version = 8; - * @return The tableVersion. - */ - @java.lang.Override - public long getTableVersion() { - return tableVersion_; - } - /** - *
-       * table version before altering.
-       * 
- * - * uint64 table_version = 8; - * @param value The tableVersion to set. - * @return This builder for chaining. - */ - public Builder setTableVersion(long value) { - - tableVersion_ = value; - onChanged(); - return this; - } - /** - *
-       * table version before altering.
-       * 
- * - * uint64 table_version = 8; - * @return This builder for chaining. - */ - public Builder clearTableVersion() { - - tableVersion_ = 0L; - onChanged(); - return this; - } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -11581,17 +11287,11 @@ public interface AddColumnOrBuilder extends * .greptime.v1.ColumnDef column_def = 1; * @return The columnDef. */ - io.greptime.v1.Common.ColumnDef getColumnDef(); + io.greptime.v1.Ddl.ColumnDef getColumnDef(); /** * .greptime.v1.ColumnDef column_def = 1; */ - io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder(); - - /** - * bool is_key = 2; - * @return The isKey. - */ - boolean getIsKey(); + io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder(); /** * .greptime.v1.AddColumnLocation location = 3; @@ -11654,11 +11354,11 @@ private AddColumn( done = true; break; case 10: { - io.greptime.v1.Common.ColumnDef.Builder subBuilder = null; + io.greptime.v1.Ddl.ColumnDef.Builder subBuilder = null; if (columnDef_ != null) { subBuilder = columnDef_.toBuilder(); } - columnDef_ = input.readMessage(io.greptime.v1.Common.ColumnDef.parser(), extensionRegistry); + columnDef_ = input.readMessage(io.greptime.v1.Ddl.ColumnDef.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(columnDef_); columnDef_ = subBuilder.buildPartial(); @@ -11666,11 +11366,6 @@ private AddColumn( break; } - case 16: { - - isKey_ = input.readBool(); - break; - } case 26: { io.greptime.v1.Ddl.AddColumnLocation.Builder subBuilder = null; if (location_ != null) { @@ -11719,7 +11414,7 @@ private AddColumn( } public static final int COLUMN_DEF_FIELD_NUMBER = 1; - private io.greptime.v1.Common.ColumnDef columnDef_; + private io.greptime.v1.Ddl.ColumnDef columnDef_; /** * .greptime.v1.ColumnDef column_def = 1; * @return Whether the columnDef field is set. @@ -11733,28 +11428,17 @@ public boolean hasColumnDef() { * @return The columnDef. */ @java.lang.Override - public io.greptime.v1.Common.ColumnDef getColumnDef() { - return columnDef_ == null ? io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_; + public io.greptime.v1.Ddl.ColumnDef getColumnDef() { + return columnDef_ == null ? io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_; } /** * .greptime.v1.ColumnDef column_def = 1; */ @java.lang.Override - public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() { + public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder() { return getColumnDef(); } - public static final int IS_KEY_FIELD_NUMBER = 2; - private boolean isKey_; - /** - * bool is_key = 2; - * @return The isKey. - */ - @java.lang.Override - public boolean getIsKey() { - return isKey_; - } - public static final int LOCATION_FIELD_NUMBER = 3; private io.greptime.v1.Ddl.AddColumnLocation location_; /** @@ -11798,9 +11482,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (columnDef_ != null) { output.writeMessage(1, getColumnDef()); } - if (isKey_ != false) { - output.writeBool(2, isKey_); - } if (location_ != null) { output.writeMessage(3, getLocation()); } @@ -11817,10 +11498,6 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getColumnDef()); } - if (isKey_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(2, isKey_); - } if (location_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getLocation()); @@ -11845,8 +11522,6 @@ public boolean equals(final java.lang.Object obj) { if (!getColumnDef() .equals(other.getColumnDef())) return false; } - if (getIsKey() - != other.getIsKey()) return false; if (hasLocation() != other.hasLocation()) return false; if (hasLocation()) { if (!getLocation() @@ -11867,9 +11542,6 @@ public int hashCode() { hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER; hash = (53 * hash) + getColumnDef().hashCode(); } - hash = (37 * hash) + IS_KEY_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsKey()); if (hasLocation()) { hash = (37 * hash) + LOCATION_FIELD_NUMBER; hash = (53 * hash) + getLocation().hashCode(); @@ -12013,8 +11685,6 @@ public Builder clear() { columnDef_ = null; columnDefBuilder_ = null; } - isKey_ = false; - if (locationBuilder_ == null) { location_ = null; } else { @@ -12052,7 +11722,6 @@ public io.greptime.v1.Ddl.AddColumn buildPartial() { } else { result.columnDef_ = columnDefBuilder_.build(); } - result.isKey_ = isKey_; if (locationBuilder_ == null) { result.location_ = location_; } else { @@ -12109,9 +11778,6 @@ public Builder mergeFrom(io.greptime.v1.Ddl.AddColumn other) { if (other.hasColumnDef()) { mergeColumnDef(other.getColumnDef()); } - if (other.getIsKey() != false) { - setIsKey(other.getIsKey()); - } if (other.hasLocation()) { mergeLocation(other.getLocation()); } @@ -12144,9 +11810,9 @@ public Builder mergeFrom( return this; } - private io.greptime.v1.Common.ColumnDef columnDef_; + private io.greptime.v1.Ddl.ColumnDef columnDef_; private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> columnDefBuilder_; + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> columnDefBuilder_; /** * .greptime.v1.ColumnDef column_def = 1; * @return Whether the columnDef field is set. @@ -12158,9 +11824,9 @@ public boolean hasColumnDef() { * .greptime.v1.ColumnDef column_def = 1; * @return The columnDef. */ - public io.greptime.v1.Common.ColumnDef getColumnDef() { + public io.greptime.v1.Ddl.ColumnDef getColumnDef() { if (columnDefBuilder_ == null) { - return columnDef_ == null ? io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_; + return columnDef_ == null ? io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_; } else { return columnDefBuilder_.getMessage(); } @@ -12168,7 +11834,7 @@ public io.greptime.v1.Common.ColumnDef getColumnDef() { /** * .greptime.v1.ColumnDef column_def = 1; */ - public Builder setColumnDef(io.greptime.v1.Common.ColumnDef value) { + public Builder setColumnDef(io.greptime.v1.Ddl.ColumnDef value) { if (columnDefBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -12185,7 +11851,7 @@ public Builder setColumnDef(io.greptime.v1.Common.ColumnDef value) { * .greptime.v1.ColumnDef column_def = 1; */ public Builder setColumnDef( - io.greptime.v1.Common.ColumnDef.Builder builderForValue) { + io.greptime.v1.Ddl.ColumnDef.Builder builderForValue) { if (columnDefBuilder_ == null) { columnDef_ = builderForValue.build(); onChanged(); @@ -12198,11 +11864,11 @@ public Builder setColumnDef( /** * .greptime.v1.ColumnDef column_def = 1; */ - public Builder mergeColumnDef(io.greptime.v1.Common.ColumnDef value) { + public Builder mergeColumnDef(io.greptime.v1.Ddl.ColumnDef value) { if (columnDefBuilder_ == null) { if (columnDef_ != null) { columnDef_ = - io.greptime.v1.Common.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial(); + io.greptime.v1.Ddl.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial(); } else { columnDef_ = value; } @@ -12230,7 +11896,7 @@ public Builder clearColumnDef() { /** * .greptime.v1.ColumnDef column_def = 1; */ - public io.greptime.v1.Common.ColumnDef.Builder getColumnDefBuilder() { + public io.greptime.v1.Ddl.ColumnDef.Builder getColumnDefBuilder() { onChanged(); return getColumnDefFieldBuilder().getBuilder(); @@ -12238,23 +11904,23 @@ public io.greptime.v1.Common.ColumnDef.Builder getColumnDefBuilder() { /** * .greptime.v1.ColumnDef column_def = 1; */ - public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() { + public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder() { if (columnDefBuilder_ != null) { return columnDefBuilder_.getMessageOrBuilder(); } else { return columnDef_ == null ? - io.greptime.v1.Common.ColumnDef.getDefaultInstance() : columnDef_; + io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_; } } /** * .greptime.v1.ColumnDef column_def = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder> + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> getColumnDefFieldBuilder() { if (columnDefBuilder_ == null) { columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Common.ColumnDef, io.greptime.v1.Common.ColumnDef.Builder, io.greptime.v1.Common.ColumnDefOrBuilder>( + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder>( getColumnDef(), getParentForChildren(), isClean()); @@ -12263,50 +11929,19 @@ public io.greptime.v1.Common.ColumnDefOrBuilder getColumnDefOrBuilder() { return columnDefBuilder_; } - private boolean isKey_ ; + private io.greptime.v1.Ddl.AddColumnLocation location_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> locationBuilder_; /** - * bool is_key = 2; - * @return The isKey. + * .greptime.v1.AddColumnLocation location = 3; + * @return Whether the location field is set. */ - @java.lang.Override - public boolean getIsKey() { - return isKey_; + public boolean hasLocation() { + return locationBuilder_ != null || location_ != null; } /** - * bool is_key = 2; - * @param value The isKey to set. - * @return This builder for chaining. - */ - public Builder setIsKey(boolean value) { - - isKey_ = value; - onChanged(); - return this; - } - /** - * bool is_key = 2; - * @return This builder for chaining. - */ - public Builder clearIsKey() { - - isKey_ = false; - onChanged(); - return this; - } - - private io.greptime.v1.Ddl.AddColumnLocation location_; - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> locationBuilder_; - /** - * .greptime.v1.AddColumnLocation location = 3; - * @return Whether the location field is set. - */ - public boolean hasLocation() { - return locationBuilder_ != null || location_ != null; - } - /** - * .greptime.v1.AddColumnLocation location = 3; - * @return The location. + * .greptime.v1.AddColumnLocation location = 3; + * @return The location. */ public io.greptime.v1.Ddl.AddColumnLocation getLocation() { if (locationBuilder_ == null) { @@ -13525,55 +13160,80 @@ public io.greptime.v1.Ddl.TableId getDefaultInstanceForType() { } - public interface AddColumnLocationOrBuilder extends - // @@protoc_insertion_point(interface_extends:greptime.v1.AddColumnLocation) + public interface ColumnDefOrBuilder extends + // @@protoc_insertion_point(interface_extends:greptime.v1.ColumnDef) com.google.protobuf.MessageOrBuilder { /** - * .greptime.v1.AddColumnLocation.LocationType location_type = 1; - * @return The enum numeric value on the wire for locationType. + * string name = 1; + * @return The name. */ - int getLocationTypeValue(); + java.lang.String getName(); /** - * .greptime.v1.AddColumnLocation.LocationType location_type = 1; - * @return The locationType. + * string name = 1; + * @return The bytes for name. */ - io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType(); + com.google.protobuf.ByteString + getNameBytes(); /** - * string after_column_name = 2; - * @return The afterColumnName. + * .greptime.v1.ColumnDataType datatype = 2; + * @return The enum numeric value on the wire for datatype. */ - java.lang.String getAfterColumnName(); + int getDatatypeValue(); /** - * string after_column_name = 2; - * @return The bytes for afterColumnName. + * .greptime.v1.ColumnDataType datatype = 2; + * @return The datatype. */ - com.google.protobuf.ByteString - getAfterColumnNameBytes(); + io.greptime.v1.Common.ColumnDataType getDatatype(); + + /** + * bool is_nullable = 3; + * @return The isNullable. + */ + boolean getIsNullable(); + + /** + * bytes default_constraint = 4; + * @return The defaultConstraint. + */ + com.google.protobuf.ByteString getDefaultConstraint(); + + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return The enum numeric value on the wire for semanticType. + */ + int getSemanticTypeValue(); + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return The semanticType. + */ + io.greptime.v1.Common.SemanticType getSemanticType(); } /** - * Protobuf type {@code greptime.v1.AddColumnLocation} + * Protobuf type {@code greptime.v1.ColumnDef} */ - public static final class AddColumnLocation extends + public static final class ColumnDef extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:greptime.v1.AddColumnLocation) - AddColumnLocationOrBuilder { + // @@protoc_insertion_point(message_implements:greptime.v1.ColumnDef) + ColumnDefOrBuilder { private static final long serialVersionUID = 0L; - // Use AddColumnLocation.newBuilder() to construct. - private AddColumnLocation(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ColumnDef.newBuilder() to construct. + private ColumnDef(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private AddColumnLocation() { - locationType_ = 0; - afterColumnName_ = ""; + private ColumnDef() { + name_ = ""; + datatype_ = 0; + defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; + semanticType_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new AddColumnLocation(); + return new ColumnDef(); } @java.lang.Override @@ -13581,7 +13241,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private AddColumnLocation( + private ColumnDef( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -13599,16 +13259,32 @@ private AddColumnLocation( case 0: done = true; break; - case 8: { + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 16: { int rawValue = input.readEnum(); - locationType_ = rawValue; + datatype_ = rawValue; break; } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); + case 24: { - afterColumnName_ = s; + isNullable_ = input.readBool(); + break; + } + case 34: { + + defaultConstraint_ = input.readBytes(); + break; + } + case 40: { + int rawValue = input.readEnum(); + + semanticType_ = rawValue; break; } default: { @@ -13634,191 +13310,1079 @@ private AddColumnLocation( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_descriptor; + return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable + return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.greptime.v1.Ddl.AddColumnLocation.class, io.greptime.v1.Ddl.AddColumnLocation.Builder.class); - } - - /** - * Protobuf enum {@code greptime.v1.AddColumnLocation.LocationType} - */ - public enum LocationType - implements com.google.protobuf.ProtocolMessageEnum { - /** - * FIRST = 0; - */ - FIRST(0), - /** - * AFTER = 1; - */ - AFTER(1), - UNRECOGNIZED(-1), - ; - - /** - * FIRST = 0; - */ - public static final int FIRST_VALUE = 0; - /** - * AFTER = 1; - */ - public static final int AFTER_VALUE = 1; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static LocationType valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static LocationType forNumber(int value) { - switch (value) { - case 0: return FIRST; - case 1: return AFTER; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - LocationType> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public LocationType findValueByNumber(int number) { - return LocationType.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return io.greptime.v1.Ddl.AddColumnLocation.getDescriptor().getEnumTypes().get(0); - } - - private static final LocationType[] VALUES = values(); - - public static LocationType valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private LocationType(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:greptime.v1.AddColumnLocation.LocationType) - } - - public static final int LOCATION_TYPE_FIELD_NUMBER = 1; - private int locationType_; - /** - * .greptime.v1.AddColumnLocation.LocationType location_type = 1; - * @return The enum numeric value on the wire for locationType. - */ - @java.lang.Override public int getLocationTypeValue() { - return locationType_; - } - /** - * .greptime.v1.AddColumnLocation.LocationType location_type = 1; - * @return The locationType. - */ - @java.lang.Override public io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType() { - @SuppressWarnings("deprecation") - io.greptime.v1.Ddl.AddColumnLocation.LocationType result = io.greptime.v1.Ddl.AddColumnLocation.LocationType.valueOf(locationType_); - return result == null ? io.greptime.v1.Ddl.AddColumnLocation.LocationType.UNRECOGNIZED : result; + io.greptime.v1.Ddl.ColumnDef.class, io.greptime.v1.Ddl.ColumnDef.Builder.class); } - public static final int AFTER_COLUMN_NAME_FIELD_NUMBER = 2; - private volatile java.lang.Object afterColumnName_; + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; /** - * string after_column_name = 2; - * @return The afterColumnName. + * string name = 1; + * @return The name. */ @java.lang.Override - public java.lang.String getAfterColumnName() { - java.lang.Object ref = afterColumnName_; + public java.lang.String getName() { + java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - afterColumnName_ = s; + name_ = s; return s; } } /** - * string after_column_name = 2; - * @return The bytes for afterColumnName. + * string name = 1; + * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString - getAfterColumnNameBytes() { - java.lang.Object ref = afterColumnName_; + getNameBytes() { + java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - afterColumnName_ = b; + name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; + public static final int DATATYPE_FIELD_NUMBER = 2; + private int datatype_; + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @return The enum numeric value on the wire for datatype. + */ + @java.lang.Override public int getDatatypeValue() { + return datatype_; + } + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @return The datatype. + */ + @java.lang.Override public io.greptime.v1.Common.ColumnDataType getDatatype() { + @SuppressWarnings("deprecation") + io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); + return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; + } + + public static final int IS_NULLABLE_FIELD_NUMBER = 3; + private boolean isNullable_; + /** + * bool is_nullable = 3; + * @return The isNullable. + */ + @java.lang.Override + public boolean getIsNullable() { + return isNullable_; + } + + public static final int DEFAULT_CONSTRAINT_FIELD_NUMBER = 4; + private com.google.protobuf.ByteString defaultConstraint_; + /** + * bytes default_constraint = 4; + * @return The defaultConstraint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDefaultConstraint() { + return defaultConstraint_; + } + + public static final int SEMANTIC_TYPE_FIELD_NUMBER = 5; + private int semanticType_; + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return The enum numeric value on the wire for semanticType. + */ + @java.lang.Override public int getSemanticTypeValue() { + return semanticType_; + } + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return The semanticType. + */ + @java.lang.Override public io.greptime.v1.Common.SemanticType getSemanticType() { + @SuppressWarnings("deprecation") + io.greptime.v1.Common.SemanticType result = io.greptime.v1.Common.SemanticType.valueOf(semanticType_); + return result == null ? io.greptime.v1.Common.SemanticType.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { + output.writeEnum(2, datatype_); + } + if (isNullable_ != false) { + output.writeBool(3, isNullable_); + } + if (!defaultConstraint_.isEmpty()) { + output.writeBytes(4, defaultConstraint_); + } + if (semanticType_ != io.greptime.v1.Common.SemanticType.TAG.getNumber()) { + output.writeEnum(5, semanticType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, datatype_); + } + if (isNullable_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, isNullable_); + } + if (!defaultConstraint_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(4, defaultConstraint_); + } + if (semanticType_ != io.greptime.v1.Common.SemanticType.TAG.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, semanticType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof io.greptime.v1.Ddl.ColumnDef)) { + return super.equals(obj); + } + io.greptime.v1.Ddl.ColumnDef other = (io.greptime.v1.Ddl.ColumnDef) obj; + + if (!getName() + .equals(other.getName())) return false; + if (datatype_ != other.datatype_) return false; + if (getIsNullable() + != other.getIsNullable()) return false; + if (!getDefaultConstraint() + .equals(other.getDefaultConstraint())) return false; + if (semanticType_ != other.semanticType_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DATATYPE_FIELD_NUMBER; + hash = (53 * hash) + datatype_; + hash = (37 * hash) + IS_NULLABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsNullable()); + hash = (37 * hash) + DEFAULT_CONSTRAINT_FIELD_NUMBER; + hash = (53 * hash) + getDefaultConstraint().hashCode(); + hash = (37 * hash) + SEMANTIC_TYPE_FIELD_NUMBER; + hash = (53 * hash) + semanticType_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static io.greptime.v1.Ddl.ColumnDef parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static io.greptime.v1.Ddl.ColumnDef parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.Ddl.ColumnDef parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(io.greptime.v1.Ddl.ColumnDef prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code greptime.v1.ColumnDef} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:greptime.v1.ColumnDef) + io.greptime.v1.Ddl.ColumnDefOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.Ddl.ColumnDef.class, io.greptime.v1.Ddl.ColumnDef.Builder.class); + } + + // Construct using io.greptime.v1.Ddl.ColumnDef.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + datatype_ = 0; + + isNullable_ = false; + + defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; + + semanticType_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; + } + + @java.lang.Override + public io.greptime.v1.Ddl.ColumnDef getDefaultInstanceForType() { + return io.greptime.v1.Ddl.ColumnDef.getDefaultInstance(); + } + + @java.lang.Override + public io.greptime.v1.Ddl.ColumnDef build() { + io.greptime.v1.Ddl.ColumnDef result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public io.greptime.v1.Ddl.ColumnDef buildPartial() { + io.greptime.v1.Ddl.ColumnDef result = new io.greptime.v1.Ddl.ColumnDef(this); + result.name_ = name_; + result.datatype_ = datatype_; + result.isNullable_ = isNullable_; + result.defaultConstraint_ = defaultConstraint_; + result.semanticType_ = semanticType_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof io.greptime.v1.Ddl.ColumnDef) { + return mergeFrom((io.greptime.v1.Ddl.ColumnDef)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(io.greptime.v1.Ddl.ColumnDef other) { + if (other == io.greptime.v1.Ddl.ColumnDef.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.datatype_ != 0) { + setDatatypeValue(other.getDatatypeValue()); + } + if (other.getIsNullable() != false) { + setIsNullable(other.getIsNullable()); + } + if (other.getDefaultConstraint() != com.google.protobuf.ByteString.EMPTY) { + setDefaultConstraint(other.getDefaultConstraint()); + } + if (other.semanticType_ != 0) { + setSemanticTypeValue(other.getSemanticTypeValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + io.greptime.v1.Ddl.ColumnDef parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (io.greptime.v1.Ddl.ColumnDef) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 1; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 1; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * string name = 1; + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * string name = 1; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private int datatype_ = 0; + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @return The enum numeric value on the wire for datatype. + */ + @java.lang.Override public int getDatatypeValue() { + return datatype_; + } + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @param value The enum numeric value on the wire for datatype to set. + * @return This builder for chaining. + */ + public Builder setDatatypeValue(int value) { + + datatype_ = value; + onChanged(); + return this; + } + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @return The datatype. + */ + @java.lang.Override + public io.greptime.v1.Common.ColumnDataType getDatatype() { + @SuppressWarnings("deprecation") + io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); + return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; + } + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @param value The datatype to set. + * @return This builder for chaining. + */ + public Builder setDatatype(io.greptime.v1.Common.ColumnDataType value) { + if (value == null) { + throw new NullPointerException(); + } + + datatype_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .greptime.v1.ColumnDataType datatype = 2; + * @return This builder for chaining. + */ + public Builder clearDatatype() { + + datatype_ = 0; + onChanged(); + return this; + } + + private boolean isNullable_ ; + /** + * bool is_nullable = 3; + * @return The isNullable. + */ + @java.lang.Override + public boolean getIsNullable() { + return isNullable_; + } + /** + * bool is_nullable = 3; + * @param value The isNullable to set. + * @return This builder for chaining. + */ + public Builder setIsNullable(boolean value) { + + isNullable_ = value; + onChanged(); + return this; + } + /** + * bool is_nullable = 3; + * @return This builder for chaining. + */ + public Builder clearIsNullable() { + + isNullable_ = false; + onChanged(); + return this; + } + + private com.google.protobuf.ByteString defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes default_constraint = 4; + * @return The defaultConstraint. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDefaultConstraint() { + return defaultConstraint_; + } + /** + * bytes default_constraint = 4; + * @param value The defaultConstraint to set. + * @return This builder for chaining. + */ + public Builder setDefaultConstraint(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + defaultConstraint_ = value; + onChanged(); + return this; + } + /** + * bytes default_constraint = 4; + * @return This builder for chaining. + */ + public Builder clearDefaultConstraint() { + + defaultConstraint_ = getDefaultInstance().getDefaultConstraint(); + onChanged(); + return this; + } + + private int semanticType_ = 0; + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return The enum numeric value on the wire for semanticType. + */ + @java.lang.Override public int getSemanticTypeValue() { + return semanticType_; + } + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @param value The enum numeric value on the wire for semanticType to set. + * @return This builder for chaining. + */ + public Builder setSemanticTypeValue(int value) { + + semanticType_ = value; + onChanged(); + return this; + } + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return The semanticType. + */ + @java.lang.Override + public io.greptime.v1.Common.SemanticType getSemanticType() { + @SuppressWarnings("deprecation") + io.greptime.v1.Common.SemanticType result = io.greptime.v1.Common.SemanticType.valueOf(semanticType_); + return result == null ? io.greptime.v1.Common.SemanticType.UNRECOGNIZED : result; + } + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @param value The semanticType to set. + * @return This builder for chaining. + */ + public Builder setSemanticType(io.greptime.v1.Common.SemanticType value) { + if (value == null) { + throw new NullPointerException(); + } + + semanticType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .greptime.v1.SemanticType semantic_type = 5; + * @return This builder for chaining. + */ + public Builder clearSemanticType() { + + semanticType_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:greptime.v1.ColumnDef) + } + + // @@protoc_insertion_point(class_scope:greptime.v1.ColumnDef) + private static final io.greptime.v1.Ddl.ColumnDef DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new io.greptime.v1.Ddl.ColumnDef(); + } + + public static io.greptime.v1.Ddl.ColumnDef getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ColumnDef parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ColumnDef(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public io.greptime.v1.Ddl.ColumnDef getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AddColumnLocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:greptime.v1.AddColumnLocation) + com.google.protobuf.MessageOrBuilder { + + /** + * .greptime.v1.AddColumnLocation.LocationType location_type = 1; + * @return The enum numeric value on the wire for locationType. + */ + int getLocationTypeValue(); + /** + * .greptime.v1.AddColumnLocation.LocationType location_type = 1; + * @return The locationType. + */ + io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType(); + + /** + * string after_column_name = 2; + * @return The afterColumnName. + */ + java.lang.String getAfterColumnName(); + /** + * string after_column_name = 2; + * @return The bytes for afterColumnName. + */ + com.google.protobuf.ByteString + getAfterColumnNameBytes(); + } + /** + * Protobuf type {@code greptime.v1.AddColumnLocation} + */ + public static final class AddColumnLocation extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:greptime.v1.AddColumnLocation) + AddColumnLocationOrBuilder { + private static final long serialVersionUID = 0L; + // Use AddColumnLocation.newBuilder() to construct. + private AddColumnLocation(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AddColumnLocation() { + locationType_ = 0; + afterColumnName_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AddColumnLocation(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AddColumnLocation( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + locationType_ = rawValue; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + afterColumnName_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.Ddl.internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.Ddl.AddColumnLocation.class, io.greptime.v1.Ddl.AddColumnLocation.Builder.class); + } + + /** + * Protobuf enum {@code greptime.v1.AddColumnLocation.LocationType} + */ + public enum LocationType + implements com.google.protobuf.ProtocolMessageEnum { + /** + * FIRST = 0; + */ + FIRST(0), + /** + * AFTER = 1; + */ + AFTER(1), + UNRECOGNIZED(-1), + ; + + /** + * FIRST = 0; + */ + public static final int FIRST_VALUE = 0; + /** + * AFTER = 1; + */ + public static final int AFTER_VALUE = 1; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static LocationType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static LocationType forNumber(int value) { + switch (value) { + case 0: return FIRST; + case 1: return AFTER; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + LocationType> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public LocationType findValueByNumber(int number) { + return LocationType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return io.greptime.v1.Ddl.AddColumnLocation.getDescriptor().getEnumTypes().get(0); + } + + private static final LocationType[] VALUES = values(); + + public static LocationType valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private LocationType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:greptime.v1.AddColumnLocation.LocationType) + } + + public static final int LOCATION_TYPE_FIELD_NUMBER = 1; + private int locationType_; + /** + * .greptime.v1.AddColumnLocation.LocationType location_type = 1; + * @return The enum numeric value on the wire for locationType. + */ + @java.lang.Override public int getLocationTypeValue() { + return locationType_; + } + /** + * .greptime.v1.AddColumnLocation.LocationType location_type = 1; + * @return The locationType. + */ + @java.lang.Override public io.greptime.v1.Ddl.AddColumnLocation.LocationType getLocationType() { + @SuppressWarnings("deprecation") + io.greptime.v1.Ddl.AddColumnLocation.LocationType result = io.greptime.v1.Ddl.AddColumnLocation.LocationType.valueOf(locationType_); + return result == null ? io.greptime.v1.Ddl.AddColumnLocation.LocationType.UNRECOGNIZED : result; + } + + public static final int AFTER_COLUMN_NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object afterColumnName_; + /** + * string after_column_name = 2; + * @return The afterColumnName. + */ + @java.lang.Override + public java.lang.String getAfterColumnName() { + java.lang.Object ref = afterColumnName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + afterColumnName_ = s; + return s; + } + } + /** + * string after_column_name = 2; + * @return The bytes for afterColumnName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAfterColumnNameBytes() { + java.lang.Object ref = afterColumnName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + afterColumnName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; } @java.lang.Override @@ -14380,6 +14944,11 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_TableId_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnDef_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnDef_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_greptime_v1_AddColumnLocation_descriptor; private static final @@ -14413,39 +14982,42 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { "le_id\030\n \001(\0132\024.greptime.v1.TableId\022\026\n\016reg" + "ion_numbers\030\013 \003(\r\022\016\n\006engine\030\014 \001(\t\0323\n\021Tab" + "leOptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001" + - "(\t:\0028\001\"\245\002\n\tAlterExpr\022\024\n\014catalog_name\030\001 \001" + + "(\t:\0028\001\"\346\001\n\tAlterExpr\022\024\n\014catalog_name\030\001 \001" + "(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 " + "\001(\t\022.\n\013add_columns\030\004 \001(\0132\027.greptime.v1.A" + "ddColumnsH\000\0220\n\014drop_columns\030\005 \001(\0132\030.grep" + "time.v1.DropColumnsH\000\0220\n\014rename_table\030\006 " + - "\001(\0132\030.greptime.v1.RenameTableH\000\022&\n\010table" + - "_id\030\007 \001(\0132\024.greptime.v1.TableId\022\025\n\rtable" + - "_version\030\010 \001(\004B\006\n\004kind\"v\n\rDropTableExpr\022" + - "\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001" + - "(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\013" + - "2\024.greptime.v1.TableId\"\270\001\n\022CreateDatabas" + - "eExpr\022\025\n\rdatabase_name\030\001 \001(\t\022\034\n\024create_i" + - "f_not_exists\030\002 \001(\010\022=\n\007options\030\003 \003(\0132,.gr" + - "eptime.v1.CreateDatabaseExpr.OptionsEntr" + - "y\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030" + - "\002 \001(\t:\0028\001\"z\n\021TruncateTableExpr\022\024\n\014catalo" + - "g_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntab" + - "le_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.grepti" + - "me.v1.TableId\"9\n\nAddColumns\022+\n\013add_colum" + - "ns\030\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013Drop" + - "Columns\022-\n\014drop_columns\030\001 \003(\0132\027.greptime" + - ".v1.DropColumn\"%\n\013RenameTable\022\026\n\016new_tab" + - "le_name\030\001 \001(\t\"y\n\tAddColumn\022*\n\ncolumn_def" + - "\030\001 \001(\0132\026.greptime.v1.ColumnDef\022\016\n\006is_key" + - "\030\002 \001(\010\0220\n\010location\030\003 \001(\0132\036.greptime.v1.A" + - "ddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030\001" + - " \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\230\001\n\021AddColum" + - "nLocation\022B\n\rlocation_type\030\001 \001(\0162+.grept" + - "ime.v1.AddColumnLocation.LocationType\022\031\n" + - "\021after_column_name\030\002 \001(\t\"$\n\014LocationType" + - "\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v1" + - "B\003DdlZ5github.com/GreptimeTeam/greptime-" + - "proto/go/greptime/v1b\006proto3" + "\001(\0132\030.greptime.v1.RenameTableH\000B\006\n\004kind\"" + + "v\n\rDropTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023" + + "\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022" + + "&\n\010table_id\030\004 \001(\0132\024.greptime.v1.TableId\"" + + "\270\001\n\022CreateDatabaseExpr\022\025\n\rdatabase_name\030" + + "\001 \001(\t\022\034\n\024create_if_not_exists\030\002 \001(\010\022=\n\007o" + + "ptions\030\003 \003(\0132,.greptime.v1.CreateDatabas" + + "eExpr.OptionsEntry\032.\n\014OptionsEntry\022\013\n\003ke" + + "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"z\n\021TruncateTa" + + "bleExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_" + + "name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010table_" + + "id\030\004 \001(\0132\024.greptime.v1.TableId\"9\n\nAddCol" + + "umns\022+\n\013add_columns\030\001 \003(\0132\026.greptime.v1." + + "AddColumn\"<\n\013DropColumns\022-\n\014drop_columns" + + "\030\001 \003(\0132\027.greptime.v1.DropColumn\"%\n\013Renam" + + "eTable\022\026\n\016new_table_name\030\001 \001(\t\"i\n\tAddCol" + + "umn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Co" + + "lumnDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1." + + "AddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030" + + "\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\253\001\n\tColumnD" + + "ef\022\014\n\004name\030\001 \001(\t\022-\n\010datatype\030\002 \001(\0162\033.gre" + + "ptime.v1.ColumnDataType\022\023\n\013is_nullable\030\003" + + " \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rsema" + + "ntic_type\030\005 \001(\0162\031.greptime.v1.SemanticTy" + + "pe\"\230\001\n\021AddColumnLocation\022B\n\rlocation_typ" + + "e\030\001 \001(\0162+.greptime.v1.AddColumnLocation." + + "LocationType\022\031\n\021after_column_name\030\002 \001(\t\"" + + "$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n" + + "\016io.greptime.v1B\003DdlZ5github.com/Greptim" + + "eTeam/greptime-proto/go/greptime/v1b\006pro" + + "to3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -14475,7 +15047,7 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { internal_static_greptime_v1_AlterExpr_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_AlterExpr_descriptor, - new java.lang.String[] { "CatalogName", "SchemaName", "TableName", "AddColumns", "DropColumns", "RenameTable", "TableId", "TableVersion", "Kind", }); + new java.lang.String[] { "CatalogName", "SchemaName", "TableName", "AddColumns", "DropColumns", "RenameTable", "Kind", }); internal_static_greptime_v1_DropTableExpr_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_greptime_v1_DropTableExpr_fieldAccessorTable = new @@ -14523,7 +15095,7 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { internal_static_greptime_v1_AddColumn_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_AddColumn_descriptor, - new java.lang.String[] { "ColumnDef", "IsKey", "Location", }); + new java.lang.String[] { "ColumnDef", "Location", }); internal_static_greptime_v1_DropColumn_descriptor = getDescriptor().getMessageTypes().get(10); internal_static_greptime_v1_DropColumn_fieldAccessorTable = new @@ -14536,8 +15108,14 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_TableId_descriptor, new java.lang.String[] { "Id", }); - internal_static_greptime_v1_AddColumnLocation_descriptor = + internal_static_greptime_v1_ColumnDef_descriptor = getDescriptor().getMessageTypes().get(12); + internal_static_greptime_v1_ColumnDef_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnDef_descriptor, + new java.lang.String[] { "Name", "Datatype", "IsNullable", "DefaultConstraint", "SemanticType", }); + internal_static_greptime_v1_AddColumnLocation_descriptor = + getDescriptor().getMessageTypes().get(13); internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_AddColumnLocation_descriptor, diff --git a/java/src/main/java/io/greptime/v1/region/Server.java b/java/src/main/java/io/greptime/v1/region/Server.java index 2bfe169d..2c7f717a 100644 --- a/java/src/main/java/io/greptime/v1/region/Server.java +++ b/java/src/main/java/io/greptime/v1/region/Server.java @@ -7672,24 +7672,24 @@ public interface CreateRequestOrBuilder extends * Columns in this region. *
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - java.util.List + java.util.List getColumnDefsList(); /** *
      * Columns in this region.
      * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - io.greptime.v1.region.Server.ColumnDef getColumnDefs(int index); + io.greptime.v1.region.Server.RegionColumnDef getColumnDefs(int index); /** *
      * Columns in this region.
      * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ int getColumnDefsCount(); /** @@ -7697,18 +7697,18 @@ public interface CreateRequestOrBuilder extends * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - java.util.List + java.util.List getColumnDefsOrBuilderList(); /** *
      * Columns in this region.
      * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefsOrBuilder( + io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefsOrBuilder( int index); /** @@ -7912,11 +7912,11 @@ private CreateRequest( } case 26: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - columnDefs_ = new java.util.ArrayList(); + columnDefs_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } columnDefs_.add( - input.readMessage(io.greptime.v1.region.Server.ColumnDef.parser(), extensionRegistry)); + input.readMessage(io.greptime.v1.region.Server.RegionColumnDef.parser(), extensionRegistry)); break; } case 32: { @@ -8080,16 +8080,16 @@ public java.lang.String getEngine() { } public static final int COLUMN_DEFS_FIELD_NUMBER = 3; - private java.util.List columnDefs_; + private java.util.List columnDefs_; /** *
      * Columns in this region.
      * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ @java.lang.Override - public java.util.List getColumnDefsList() { + public java.util.List getColumnDefsList() { return columnDefs_; } /** @@ -8097,10 +8097,10 @@ public java.util.List getColumnDefsList( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ @java.lang.Override - public java.util.List + public java.util.List getColumnDefsOrBuilderList() { return columnDefs_; } @@ -8109,7 +8109,7 @@ public java.util.List getColumnDefsList( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ @java.lang.Override public int getColumnDefsCount() { @@ -8120,10 +8120,10 @@ public int getColumnDefsCount() { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ @java.lang.Override - public io.greptime.v1.region.Server.ColumnDef getColumnDefs(int index) { + public io.greptime.v1.region.Server.RegionColumnDef getColumnDefs(int index) { return columnDefs_.get(index); } /** @@ -8131,10 +8131,10 @@ public io.greptime.v1.region.Server.ColumnDef getColumnDefs(int index) { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ @java.lang.Override - public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefsOrBuilder( + public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefsOrBuilder( int index) { return columnDefs_.get(index); } @@ -9035,26 +9035,26 @@ public Builder setEngineBytes( return this; } - private java.util.List columnDefs_ = + private java.util.List columnDefs_ = java.util.Collections.emptyList(); private void ensureColumnDefsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { - columnDefs_ = new java.util.ArrayList(columnDefs_); + columnDefs_ = new java.util.ArrayList(columnDefs_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< - io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder> columnDefsBuilder_; + io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> columnDefsBuilder_; /** *
        * Columns in this region.
        * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public java.util.List getColumnDefsList() { + public java.util.List getColumnDefsList() { if (columnDefsBuilder_ == null) { return java.util.Collections.unmodifiableList(columnDefs_); } else { @@ -9066,7 +9066,7 @@ public java.util.List getColumnDefsList( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public int getColumnDefsCount() { if (columnDefsBuilder_ == null) { @@ -9080,9 +9080,9 @@ public int getColumnDefsCount() { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public io.greptime.v1.region.Server.ColumnDef getColumnDefs(int index) { + public io.greptime.v1.region.Server.RegionColumnDef getColumnDefs(int index) { if (columnDefsBuilder_ == null) { return columnDefs_.get(index); } else { @@ -9094,10 +9094,10 @@ public io.greptime.v1.region.Server.ColumnDef getColumnDefs(int index) { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder setColumnDefs( - int index, io.greptime.v1.region.Server.ColumnDef value) { + int index, io.greptime.v1.region.Server.RegionColumnDef value) { if (columnDefsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -9115,10 +9115,10 @@ public Builder setColumnDefs( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder setColumnDefs( - int index, io.greptime.v1.region.Server.ColumnDef.Builder builderForValue) { + int index, io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); columnDefs_.set(index, builderForValue.build()); @@ -9133,9 +9133,9 @@ public Builder setColumnDefs( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public Builder addColumnDefs(io.greptime.v1.region.Server.ColumnDef value) { + public Builder addColumnDefs(io.greptime.v1.region.Server.RegionColumnDef value) { if (columnDefsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -9153,10 +9153,10 @@ public Builder addColumnDefs(io.greptime.v1.region.Server.ColumnDef value) { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder addColumnDefs( - int index, io.greptime.v1.region.Server.ColumnDef value) { + int index, io.greptime.v1.region.Server.RegionColumnDef value) { if (columnDefsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -9174,10 +9174,10 @@ public Builder addColumnDefs( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder addColumnDefs( - io.greptime.v1.region.Server.ColumnDef.Builder builderForValue) { + io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); columnDefs_.add(builderForValue.build()); @@ -9192,10 +9192,10 @@ public Builder addColumnDefs( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder addColumnDefs( - int index, io.greptime.v1.region.Server.ColumnDef.Builder builderForValue) { + int index, io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); columnDefs_.add(index, builderForValue.build()); @@ -9210,10 +9210,10 @@ public Builder addColumnDefs( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder addAllColumnDefs( - java.lang.Iterable values) { + java.lang.Iterable values) { if (columnDefsBuilder_ == null) { ensureColumnDefsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( @@ -9229,7 +9229,7 @@ public Builder addAllColumnDefs( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder clearColumnDefs() { if (columnDefsBuilder_ == null) { @@ -9246,7 +9246,7 @@ public Builder clearColumnDefs() { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ public Builder removeColumnDefs(int index) { if (columnDefsBuilder_ == null) { @@ -9263,9 +9263,9 @@ public Builder removeColumnDefs(int index) { * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public io.greptime.v1.region.Server.ColumnDef.Builder getColumnDefsBuilder( + public io.greptime.v1.region.Server.RegionColumnDef.Builder getColumnDefsBuilder( int index) { return getColumnDefsFieldBuilder().getBuilder(index); } @@ -9274,9 +9274,9 @@ public io.greptime.v1.region.Server.ColumnDef.Builder getColumnDefsBuilder( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefsOrBuilder( + public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefsOrBuilder( int index) { if (columnDefsBuilder_ == null) { return columnDefs_.get(index); } else { @@ -9288,9 +9288,9 @@ public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefsOrBuilder( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public java.util.List + public java.util.List getColumnDefsOrBuilderList() { if (columnDefsBuilder_ != null) { return columnDefsBuilder_.getMessageOrBuilderList(); @@ -9303,41 +9303,41 @@ public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefsOrBuilder( * Columns in this region. * * - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public io.greptime.v1.region.Server.ColumnDef.Builder addColumnDefsBuilder() { + public io.greptime.v1.region.Server.RegionColumnDef.Builder addColumnDefsBuilder() { return getColumnDefsFieldBuilder().addBuilder( - io.greptime.v1.region.Server.ColumnDef.getDefaultInstance()); + io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance()); } /** *
        * Columns in this region.
        * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public io.greptime.v1.region.Server.ColumnDef.Builder addColumnDefsBuilder( + public io.greptime.v1.region.Server.RegionColumnDef.Builder addColumnDefsBuilder( int index) { return getColumnDefsFieldBuilder().addBuilder( - index, io.greptime.v1.region.Server.ColumnDef.getDefaultInstance()); + index, io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance()); } /** *
        * Columns in this region.
        * 
* - * repeated .greptime.v1.region.ColumnDef column_defs = 3; + * repeated .greptime.v1.region.RegionColumnDef column_defs = 3; */ - public java.util.List + public java.util.List getColumnDefsBuilderList() { return getColumnDefsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder> + io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> getColumnDefsFieldBuilder() { if (columnDefsBuilder_ == null) { columnDefsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder>( + io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder>( columnDefs_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), @@ -15042,25 +15042,19 @@ public interface AddColumnOrBuilder extends com.google.protobuf.MessageOrBuilder { /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; * @return Whether the columnDef field is set. */ boolean hasColumnDef(); /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; * @return The columnDef. */ - io.greptime.v1.region.Server.ColumnDef getColumnDef(); + io.greptime.v1.region.Server.RegionColumnDef getColumnDef(); /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ - io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder(); - - /** - * bool is_key = 2; - * @return The isKey. - */ - boolean getIsKey(); + io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefOrBuilder(); /** * .greptime.v1.AddColumnLocation location = 3; @@ -15123,11 +15117,11 @@ private AddColumn( done = true; break; case 10: { - io.greptime.v1.region.Server.ColumnDef.Builder subBuilder = null; + io.greptime.v1.region.Server.RegionColumnDef.Builder subBuilder = null; if (columnDef_ != null) { subBuilder = columnDef_.toBuilder(); } - columnDef_ = input.readMessage(io.greptime.v1.region.Server.ColumnDef.parser(), extensionRegistry); + columnDef_ = input.readMessage(io.greptime.v1.region.Server.RegionColumnDef.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(columnDef_); columnDef_ = subBuilder.buildPartial(); @@ -15135,11 +15129,6 @@ private AddColumn( break; } - case 16: { - - isKey_ = input.readBool(); - break; - } case 26: { io.greptime.v1.Ddl.AddColumnLocation.Builder subBuilder = null; if (location_ != null) { @@ -15188,9 +15177,9 @@ private AddColumn( } public static final int COLUMN_DEF_FIELD_NUMBER = 1; - private io.greptime.v1.region.Server.ColumnDef columnDef_; + private io.greptime.v1.region.Server.RegionColumnDef columnDef_; /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; * @return Whether the columnDef field is set. */ @java.lang.Override @@ -15198,32 +15187,21 @@ public boolean hasColumnDef() { return columnDef_ != null; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; * @return The columnDef. */ @java.lang.Override - public io.greptime.v1.region.Server.ColumnDef getColumnDef() { - return columnDef_ == null ? io.greptime.v1.region.Server.ColumnDef.getDefaultInstance() : columnDef_; + public io.greptime.v1.region.Server.RegionColumnDef getColumnDef() { + return columnDef_ == null ? io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance() : columnDef_; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ @java.lang.Override - public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder() { + public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefOrBuilder() { return getColumnDef(); } - public static final int IS_KEY_FIELD_NUMBER = 2; - private boolean isKey_; - /** - * bool is_key = 2; - * @return The isKey. - */ - @java.lang.Override - public boolean getIsKey() { - return isKey_; - } - public static final int LOCATION_FIELD_NUMBER = 3; private io.greptime.v1.Ddl.AddColumnLocation location_; /** @@ -15267,9 +15245,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (columnDef_ != null) { output.writeMessage(1, getColumnDef()); } - if (isKey_ != false) { - output.writeBool(2, isKey_); - } if (location_ != null) { output.writeMessage(3, getLocation()); } @@ -15286,10 +15261,6 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getColumnDef()); } - if (isKey_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(2, isKey_); - } if (location_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getLocation()); @@ -15314,8 +15285,6 @@ public boolean equals(final java.lang.Object obj) { if (!getColumnDef() .equals(other.getColumnDef())) return false; } - if (getIsKey() - != other.getIsKey()) return false; if (hasLocation() != other.hasLocation()) return false; if (hasLocation()) { if (!getLocation() @@ -15336,9 +15305,6 @@ public int hashCode() { hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER; hash = (53 * hash) + getColumnDef().hashCode(); } - hash = (37 * hash) + IS_KEY_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsKey()); if (hasLocation()) { hash = (37 * hash) + LOCATION_FIELD_NUMBER; hash = (53 * hash) + getLocation().hashCode(); @@ -15482,8 +15448,6 @@ public Builder clear() { columnDef_ = null; columnDefBuilder_ = null; } - isKey_ = false; - if (locationBuilder_ == null) { location_ = null; } else { @@ -15521,7 +15485,6 @@ public io.greptime.v1.region.Server.AddColumn buildPartial() { } else { result.columnDef_ = columnDefBuilder_.build(); } - result.isKey_ = isKey_; if (locationBuilder_ == null) { result.location_ = location_; } else { @@ -15578,9 +15541,6 @@ public Builder mergeFrom(io.greptime.v1.region.Server.AddColumn other) { if (other.hasColumnDef()) { mergeColumnDef(other.getColumnDef()); } - if (other.getIsKey() != false) { - setIsKey(other.getIsKey()); - } if (other.hasLocation()) { mergeLocation(other.getLocation()); } @@ -15613,31 +15573,31 @@ public Builder mergeFrom( return this; } - private io.greptime.v1.region.Server.ColumnDef columnDef_; + private io.greptime.v1.region.Server.RegionColumnDef columnDef_; private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder> columnDefBuilder_; + io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> columnDefBuilder_; /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; * @return Whether the columnDef field is set. */ public boolean hasColumnDef() { return columnDefBuilder_ != null || columnDef_ != null; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; * @return The columnDef. */ - public io.greptime.v1.region.Server.ColumnDef getColumnDef() { + public io.greptime.v1.region.Server.RegionColumnDef getColumnDef() { if (columnDefBuilder_ == null) { - return columnDef_ == null ? io.greptime.v1.region.Server.ColumnDef.getDefaultInstance() : columnDef_; + return columnDef_ == null ? io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance() : columnDef_; } else { return columnDefBuilder_.getMessage(); } } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ - public Builder setColumnDef(io.greptime.v1.region.Server.ColumnDef value) { + public Builder setColumnDef(io.greptime.v1.region.Server.RegionColumnDef value) { if (columnDefBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -15651,10 +15611,10 @@ public Builder setColumnDef(io.greptime.v1.region.Server.ColumnDef value) { return this; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ public Builder setColumnDef( - io.greptime.v1.region.Server.ColumnDef.Builder builderForValue) { + io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) { if (columnDefBuilder_ == null) { columnDef_ = builderForValue.build(); onChanged(); @@ -15665,13 +15625,13 @@ public Builder setColumnDef( return this; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ - public Builder mergeColumnDef(io.greptime.v1.region.Server.ColumnDef value) { + public Builder mergeColumnDef(io.greptime.v1.region.Server.RegionColumnDef value) { if (columnDefBuilder_ == null) { if (columnDef_ != null) { columnDef_ = - io.greptime.v1.region.Server.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial(); + io.greptime.v1.region.Server.RegionColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial(); } else { columnDef_ = value; } @@ -15683,7 +15643,7 @@ public Builder mergeColumnDef(io.greptime.v1.region.Server.ColumnDef value) { return this; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ public Builder clearColumnDef() { if (columnDefBuilder_ == null) { @@ -15697,33 +15657,33 @@ public Builder clearColumnDef() { return this; } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ - public io.greptime.v1.region.Server.ColumnDef.Builder getColumnDefBuilder() { + public io.greptime.v1.region.Server.RegionColumnDef.Builder getColumnDefBuilder() { onChanged(); return getColumnDefFieldBuilder().getBuilder(); } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ - public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder() { + public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefOrBuilder() { if (columnDefBuilder_ != null) { return columnDefBuilder_.getMessageOrBuilder(); } else { return columnDef_ == null ? - io.greptime.v1.region.Server.ColumnDef.getDefaultInstance() : columnDef_; + io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance() : columnDef_; } } /** - * .greptime.v1.region.ColumnDef column_def = 1; + * .greptime.v1.region.RegionColumnDef column_def = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder> + io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> getColumnDefFieldBuilder() { if (columnDefBuilder_ == null) { columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.region.Server.ColumnDef, io.greptime.v1.region.Server.ColumnDef.Builder, io.greptime.v1.region.Server.ColumnDefOrBuilder>( + io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder>( getColumnDef(), getParentForChildren(), isClean()); @@ -15732,37 +15692,6 @@ public io.greptime.v1.region.Server.ColumnDefOrBuilder getColumnDefOrBuilder() { return columnDefBuilder_; } - private boolean isKey_ ; - /** - * bool is_key = 2; - * @return The isKey. - */ - @java.lang.Override - public boolean getIsKey() { - return isKey_; - } - /** - * bool is_key = 2; - * @param value The isKey to set. - * @return This builder for chaining. - */ - public Builder setIsKey(boolean value) { - - isKey_ = value; - onChanged(); - return this; - } - /** - * bool is_key = 2; - * @return This builder for chaining. - */ - public Builder clearIsKey() { - - isKey_ = false; - onChanged(); - return this; - } - private io.greptime.v1.Ddl.AddColumnLocation location_; private com.google.protobuf.SingleFieldBuilderV3< io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> locationBuilder_; @@ -17486,86 +17415,57 @@ public io.greptime.v1.region.Server.CompactRequest getDefaultInstanceForType() { } - public interface ColumnDefOrBuilder extends - // @@protoc_insertion_point(interface_extends:greptime.v1.region.ColumnDef) + public interface RegionColumnDefOrBuilder extends + // @@protoc_insertion_point(interface_extends:greptime.v1.region.RegionColumnDef) com.google.protobuf.MessageOrBuilder { /** - * string name = 1; - * @return The name. + * .greptime.v1.ColumnDef column_def = 1; + * @return Whether the columnDef field is set. */ - java.lang.String getName(); + boolean hasColumnDef(); /** - * string name = 1; - * @return The bytes for name. + * .greptime.v1.ColumnDef column_def = 1; + * @return The columnDef. */ - com.google.protobuf.ByteString - getNameBytes(); + io.greptime.v1.Ddl.ColumnDef getColumnDef(); + /** + * .greptime.v1.ColumnDef column_def = 1; + */ + io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder(); /** * uint32 column_id = 2; * @return The columnId. */ int getColumnId(); - - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return The enum numeric value on the wire for datatype. - */ - int getDatatypeValue(); - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return The datatype. - */ - io.greptime.v1.Common.ColumnDataType getDatatype(); - - /** - * bool is_nullable = 4; - * @return The isNullable. - */ - boolean getIsNullable(); - - /** - * bytes default_constraint = 5; - * @return The defaultConstraint. - */ - com.google.protobuf.ByteString getDefaultConstraint(); - - /** - * .greptime.v1.SemanticType semantic_type = 6; - * @return The enum numeric value on the wire for semanticType. - */ - int getSemanticTypeValue(); - /** - * .greptime.v1.SemanticType semantic_type = 6; - * @return The semanticType. - */ - io.greptime.v1.Common.SemanticType getSemanticType(); } /** - * Protobuf type {@code greptime.v1.region.ColumnDef} + *
+   * The column definition of a region. Unlike the message `ColumnDef` in `ddl.proto` which is for clients outside
+   * GreptimeDB, this `RegionColumnDef` is for region requests use only. So it carries an extra field `column_id` that
+   * is known internally.
+   * 
+ * + * Protobuf type {@code greptime.v1.region.RegionColumnDef} */ - public static final class ColumnDef extends + public static final class RegionColumnDef extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:greptime.v1.region.ColumnDef) - ColumnDefOrBuilder { + // @@protoc_insertion_point(message_implements:greptime.v1.region.RegionColumnDef) + RegionColumnDefOrBuilder { private static final long serialVersionUID = 0L; - // Use ColumnDef.newBuilder() to construct. - private ColumnDef(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use RegionColumnDef.newBuilder() to construct. + private RegionColumnDef(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ColumnDef() { - name_ = ""; - datatype_ = 0; - defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; - semanticType_ = 0; + private RegionColumnDef() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ColumnDef(); + return new RegionColumnDef(); } @java.lang.Override @@ -17573,7 +17473,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private ColumnDef( + private RegionColumnDef( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -17592,9 +17492,16 @@ private ColumnDef( done = true; break; case 10: { - java.lang.String s = input.readStringRequireUtf8(); + io.greptime.v1.Ddl.ColumnDef.Builder subBuilder = null; + if (columnDef_ != null) { + subBuilder = columnDef_.toBuilder(); + } + columnDef_ = input.readMessage(io.greptime.v1.Ddl.ColumnDef.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(columnDef_); + columnDef_ = subBuilder.buildPartial(); + } - name_ = s; break; } case 16: { @@ -17602,28 +17509,6 @@ private ColumnDef( columnId_ = input.readUInt32(); break; } - case 24: { - int rawValue = input.readEnum(); - - datatype_ = rawValue; - break; - } - case 32: { - - isNullable_ = input.readBool(); - break; - } - case 42: { - - defaultConstraint_ = input.readBytes(); - break; - } - case 48: { - int rawValue = input.readEnum(); - - semanticType_ = rawValue; - break; - } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -17647,53 +17532,41 @@ private ColumnDef( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ColumnDef_descriptor; + return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ColumnDef_fieldAccessorTable + return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.greptime.v1.region.Server.ColumnDef.class, io.greptime.v1.region.Server.ColumnDef.Builder.class); + io.greptime.v1.region.Server.RegionColumnDef.class, io.greptime.v1.region.Server.RegionColumnDef.Builder.class); } - public static final int NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object name_; + public static final int COLUMN_DEF_FIELD_NUMBER = 1; + private io.greptime.v1.Ddl.ColumnDef columnDef_; /** - * string name = 1; - * @return The name. + * .greptime.v1.ColumnDef column_def = 1; + * @return Whether the columnDef field is set. */ @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } + public boolean hasColumnDef() { + return columnDef_ != null; } /** - * string name = 1; - * @return The bytes for name. + * .greptime.v1.ColumnDef column_def = 1; + * @return The columnDef. */ @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public io.greptime.v1.Ddl.ColumnDef getColumnDef() { + return columnDef_ == null ? io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_; + } + /** + * .greptime.v1.ColumnDef column_def = 1; + */ + @java.lang.Override + public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder() { + return getColumnDef(); } public static final int COLUMN_ID_FIELD_NUMBER = 2; @@ -17707,66 +17580,6 @@ public int getColumnId() { return columnId_; } - public static final int DATATYPE_FIELD_NUMBER = 3; - private int datatype_; - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return The enum numeric value on the wire for datatype. - */ - @java.lang.Override public int getDatatypeValue() { - return datatype_; - } - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return The datatype. - */ - @java.lang.Override public io.greptime.v1.Common.ColumnDataType getDatatype() { - @SuppressWarnings("deprecation") - io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); - return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; - } - - public static final int IS_NULLABLE_FIELD_NUMBER = 4; - private boolean isNullable_; - /** - * bool is_nullable = 4; - * @return The isNullable. - */ - @java.lang.Override - public boolean getIsNullable() { - return isNullable_; - } - - public static final int DEFAULT_CONSTRAINT_FIELD_NUMBER = 5; - private com.google.protobuf.ByteString defaultConstraint_; - /** - * bytes default_constraint = 5; - * @return The defaultConstraint. - */ - @java.lang.Override - public com.google.protobuf.ByteString getDefaultConstraint() { - return defaultConstraint_; - } - - public static final int SEMANTIC_TYPE_FIELD_NUMBER = 6; - private int semanticType_; - /** - * .greptime.v1.SemanticType semantic_type = 6; - * @return The enum numeric value on the wire for semanticType. - */ - @java.lang.Override public int getSemanticTypeValue() { - return semanticType_; - } - /** - * .greptime.v1.SemanticType semantic_type = 6; - * @return The semanticType. - */ - @java.lang.Override public io.greptime.v1.Common.SemanticType getSemanticType() { - @SuppressWarnings("deprecation") - io.greptime.v1.Common.SemanticType result = io.greptime.v1.Common.SemanticType.valueOf(semanticType_); - return result == null ? io.greptime.v1.Common.SemanticType.UNRECOGNIZED : result; - } - private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -17781,24 +17594,12 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + if (columnDef_ != null) { + output.writeMessage(1, getColumnDef()); } if (columnId_ != 0) { output.writeUInt32(2, columnId_); } - if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { - output.writeEnum(3, datatype_); - } - if (isNullable_ != false) { - output.writeBool(4, isNullable_); - } - if (!defaultConstraint_.isEmpty()) { - output.writeBytes(5, defaultConstraint_); - } - if (semanticType_ != io.greptime.v1.Common.SemanticType.TAG.getNumber()) { - output.writeEnum(6, semanticType_); - } unknownFields.writeTo(output); } @@ -17808,29 +17609,14 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + if (columnDef_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getColumnDef()); } if (columnId_ != 0) { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(2, columnId_); } - if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, datatype_); - } - if (isNullable_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, isNullable_); - } - if (!defaultConstraint_.isEmpty()) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(5, defaultConstraint_); - } - if (semanticType_ != io.greptime.v1.Common.SemanticType.TAG.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(6, semanticType_); - } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -17841,21 +17627,18 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.greptime.v1.region.Server.ColumnDef)) { + if (!(obj instanceof io.greptime.v1.region.Server.RegionColumnDef)) { return super.equals(obj); } - io.greptime.v1.region.Server.ColumnDef other = (io.greptime.v1.region.Server.ColumnDef) obj; + io.greptime.v1.region.Server.RegionColumnDef other = (io.greptime.v1.region.Server.RegionColumnDef) obj; - if (!getName() - .equals(other.getName())) return false; + if (hasColumnDef() != other.hasColumnDef()) return false; + if (hasColumnDef()) { + if (!getColumnDef() + .equals(other.getColumnDef())) return false; + } if (getColumnId() != other.getColumnId()) return false; - if (datatype_ != other.datatype_) return false; - if (getIsNullable() - != other.getIsNullable()) return false; - if (!getDefaultConstraint() - .equals(other.getDefaultConstraint())) return false; - if (semanticType_ != other.semanticType_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -17867,87 +17650,80 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); + if (hasColumnDef()) { + hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER; + hash = (53 * hash) + getColumnDef().hashCode(); + } hash = (37 * hash) + COLUMN_ID_FIELD_NUMBER; hash = (53 * hash) + getColumnId(); - hash = (37 * hash) + DATATYPE_FIELD_NUMBER; - hash = (53 * hash) + datatype_; - hash = (37 * hash) + IS_NULLABLE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsNullable()); - hash = (37 * hash) + DEFAULT_CONSTRAINT_FIELD_NUMBER; - hash = (53 * hash) + getDefaultConstraint().hashCode(); - hash = (37 * hash) + SEMANTIC_TYPE_FIELD_NUMBER; - hash = (53 * hash) + semanticType_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom(byte[] data) + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom(java.io.InputStream input) + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.greptime.v1.region.Server.ColumnDef parseDelimitedFrom(java.io.InputStream input) + public static io.greptime.v1.region.Server.RegionColumnDef parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static io.greptime.v1.region.Server.ColumnDef parseDelimitedFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static io.greptime.v1.region.Server.ColumnDef parseFrom( + public static io.greptime.v1.region.Server.RegionColumnDef parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -17960,7 +17736,7 @@ public static io.greptime.v1.region.Server.ColumnDef parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.greptime.v1.region.Server.ColumnDef prototype) { + public static Builder newBuilder(io.greptime.v1.region.Server.RegionColumnDef prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -17976,26 +17752,32 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code greptime.v1.region.ColumnDef} + *
+     * The column definition of a region. Unlike the message `ColumnDef` in `ddl.proto` which is for clients outside
+     * GreptimeDB, this `RegionColumnDef` is for region requests use only. So it carries an extra field `column_id` that
+     * is known internally.
+     * 
+ * + * Protobuf type {@code greptime.v1.region.RegionColumnDef} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:greptime.v1.region.ColumnDef) - io.greptime.v1.region.Server.ColumnDefOrBuilder { + // @@protoc_insertion_point(builder_implements:greptime.v1.region.RegionColumnDef) + io.greptime.v1.region.Server.RegionColumnDefOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ColumnDef_descriptor; + return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ColumnDef_fieldAccessorTable + return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.greptime.v1.region.Server.ColumnDef.class, io.greptime.v1.region.Server.ColumnDef.Builder.class); + io.greptime.v1.region.Server.RegionColumnDef.class, io.greptime.v1.region.Server.RegionColumnDef.Builder.class); } - // Construct using io.greptime.v1.region.Server.ColumnDef.newBuilder() + // Construct using io.greptime.v1.region.Server.RegionColumnDef.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -18013,35 +17795,31 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - name_ = ""; - + if (columnDefBuilder_ == null) { + columnDef_ = null; + } else { + columnDef_ = null; + columnDefBuilder_ = null; + } columnId_ = 0; - datatype_ = 0; - - isNullable_ = false; - - defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; - - semanticType_ = 0; - return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ColumnDef_descriptor; + return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_descriptor; } @java.lang.Override - public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() { - return io.greptime.v1.region.Server.ColumnDef.getDefaultInstance(); + public io.greptime.v1.region.Server.RegionColumnDef getDefaultInstanceForType() { + return io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance(); } @java.lang.Override - public io.greptime.v1.region.Server.ColumnDef build() { - io.greptime.v1.region.Server.ColumnDef result = buildPartial(); + public io.greptime.v1.region.Server.RegionColumnDef build() { + io.greptime.v1.region.Server.RegionColumnDef result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -18049,14 +17827,14 @@ public io.greptime.v1.region.Server.ColumnDef build() { } @java.lang.Override - public io.greptime.v1.region.Server.ColumnDef buildPartial() { - io.greptime.v1.region.Server.ColumnDef result = new io.greptime.v1.region.Server.ColumnDef(this); - result.name_ = name_; + public io.greptime.v1.region.Server.RegionColumnDef buildPartial() { + io.greptime.v1.region.Server.RegionColumnDef result = new io.greptime.v1.region.Server.RegionColumnDef(this); + if (columnDefBuilder_ == null) { + result.columnDef_ = columnDef_; + } else { + result.columnDef_ = columnDefBuilder_.build(); + } result.columnId_ = columnId_; - result.datatype_ = datatype_; - result.isNullable_ = isNullable_; - result.defaultConstraint_ = defaultConstraint_; - result.semanticType_ = semanticType_; onBuilt(); return result; } @@ -18095,35 +17873,22 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.greptime.v1.region.Server.ColumnDef) { - return mergeFrom((io.greptime.v1.region.Server.ColumnDef)other); + if (other instanceof io.greptime.v1.region.Server.RegionColumnDef) { + return mergeFrom((io.greptime.v1.region.Server.RegionColumnDef)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.greptime.v1.region.Server.ColumnDef other) { - if (other == io.greptime.v1.region.Server.ColumnDef.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - onChanged(); + public Builder mergeFrom(io.greptime.v1.region.Server.RegionColumnDef other) { + if (other == io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance()) return this; + if (other.hasColumnDef()) { + mergeColumnDef(other.getColumnDef()); } if (other.getColumnId() != 0) { setColumnId(other.getColumnId()); } - if (other.datatype_ != 0) { - setDatatypeValue(other.getDatatypeValue()); - } - if (other.getIsNullable() != false) { - setIsNullable(other.getIsNullable()); - } - if (other.getDefaultConstraint() != com.google.protobuf.ByteString.EMPTY) { - setDefaultConstraint(other.getDefaultConstraint()); - } - if (other.semanticType_ != 0) { - setSemanticTypeValue(other.getSemanticTypeValue()); - } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -18139,11 +17904,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - io.greptime.v1.region.Server.ColumnDef parsedMessage = null; + io.greptime.v1.region.Server.RegionColumnDef parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (io.greptime.v1.region.Server.ColumnDef) e.getUnfinishedMessage(); + parsedMessage = (io.greptime.v1.region.Server.RegionColumnDef) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -18153,282 +17918,152 @@ public Builder mergeFrom( return this; } - private java.lang.Object name_ = ""; + private io.greptime.v1.Ddl.ColumnDef columnDef_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> columnDefBuilder_; /** - * string name = 1; - * @return The name. + * .greptime.v1.ColumnDef column_def = 1; + * @return Whether the columnDef field is set. */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } + public boolean hasColumnDef() { + return columnDefBuilder_ != null || columnDef_ != null; } /** - * string name = 1; - * @return The bytes for name. + * .greptime.v1.ColumnDef column_def = 1; + * @return The columnDef. */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; + public io.greptime.v1.Ddl.ColumnDef getColumnDef() { + if (columnDefBuilder_ == null) { + return columnDef_ == null ? io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_; } else { - return (com.google.protobuf.ByteString) ref; + return columnDefBuilder_.getMessage(); } } /** - * string name = 1; - * @param value The name to set. - * @return This builder for chaining. + * .greptime.v1.ColumnDef column_def = 1; */ - public Builder setName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - name_ = value; - onChanged(); - return this; - } - /** - * string name = 1; - * @return This builder for chaining. - */ - public Builder clearName() { - - name_ = getDefaultInstance().getName(); - onChanged(); - return this; - } - /** - * string name = 1; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - name_ = value; - onChanged(); - return this; - } + public Builder setColumnDef(io.greptime.v1.Ddl.ColumnDef value) { + if (columnDefBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + columnDef_ = value; + onChanged(); + } else { + columnDefBuilder_.setMessage(value); + } - private int columnId_ ; - /** - * uint32 column_id = 2; - * @return The columnId. - */ - @java.lang.Override - public int getColumnId() { - return columnId_; - } - /** - * uint32 column_id = 2; - * @param value The columnId to set. - * @return This builder for chaining. - */ - public Builder setColumnId(int value) { - - columnId_ = value; - onChanged(); return this; } /** - * uint32 column_id = 2; - * @return This builder for chaining. + * .greptime.v1.ColumnDef column_def = 1; */ - public Builder clearColumnId() { - - columnId_ = 0; - onChanged(); - return this; - } + public Builder setColumnDef( + io.greptime.v1.Ddl.ColumnDef.Builder builderForValue) { + if (columnDefBuilder_ == null) { + columnDef_ = builderForValue.build(); + onChanged(); + } else { + columnDefBuilder_.setMessage(builderForValue.build()); + } - private int datatype_ = 0; - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return The enum numeric value on the wire for datatype. - */ - @java.lang.Override public int getDatatypeValue() { - return datatype_; - } - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @param value The enum numeric value on the wire for datatype to set. - * @return This builder for chaining. - */ - public Builder setDatatypeValue(int value) { - - datatype_ = value; - onChanged(); return this; } /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return The datatype. - */ - @java.lang.Override - public io.greptime.v1.Common.ColumnDataType getDatatype() { - @SuppressWarnings("deprecation") - io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); - return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; - } - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @param value The datatype to set. - * @return This builder for chaining. + * .greptime.v1.ColumnDef column_def = 1; */ - public Builder setDatatype(io.greptime.v1.Common.ColumnDataType value) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeColumnDef(io.greptime.v1.Ddl.ColumnDef value) { + if (columnDefBuilder_ == null) { + if (columnDef_ != null) { + columnDef_ = + io.greptime.v1.Ddl.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial(); + } else { + columnDef_ = value; + } + onChanged(); + } else { + columnDefBuilder_.mergeFrom(value); } - - datatype_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .greptime.v1.ColumnDataType datatype = 3; - * @return This builder for chaining. - */ - public Builder clearDatatype() { - - datatype_ = 0; - onChanged(); - return this; - } - private boolean isNullable_ ; - /** - * bool is_nullable = 4; - * @return The isNullable. - */ - @java.lang.Override - public boolean getIsNullable() { - return isNullable_; - } - /** - * bool is_nullable = 4; - * @param value The isNullable to set. - * @return This builder for chaining. - */ - public Builder setIsNullable(boolean value) { - - isNullable_ = value; - onChanged(); return this; } /** - * bool is_nullable = 4; - * @return This builder for chaining. + * .greptime.v1.ColumnDef column_def = 1; */ - public Builder clearIsNullable() { - - isNullable_ = false; - onChanged(); - return this; - } + public Builder clearColumnDef() { + if (columnDefBuilder_ == null) { + columnDef_ = null; + onChanged(); + } else { + columnDef_ = null; + columnDefBuilder_ = null; + } - private com.google.protobuf.ByteString defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; - /** - * bytes default_constraint = 5; - * @return The defaultConstraint. - */ - @java.lang.Override - public com.google.protobuf.ByteString getDefaultConstraint() { - return defaultConstraint_; - } - /** - * bytes default_constraint = 5; - * @param value The defaultConstraint to set. - * @return This builder for chaining. - */ - public Builder setDefaultConstraint(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - - defaultConstraint_ = value; - onChanged(); return this; } /** - * bytes default_constraint = 5; - * @return This builder for chaining. + * .greptime.v1.ColumnDef column_def = 1; */ - public Builder clearDefaultConstraint() { + public io.greptime.v1.Ddl.ColumnDef.Builder getColumnDefBuilder() { - defaultConstraint_ = getDefaultInstance().getDefaultConstraint(); onChanged(); - return this; + return getColumnDefFieldBuilder().getBuilder(); } - - private int semanticType_ = 0; /** - * .greptime.v1.SemanticType semantic_type = 6; - * @return The enum numeric value on the wire for semanticType. + * .greptime.v1.ColumnDef column_def = 1; */ - @java.lang.Override public int getSemanticTypeValue() { - return semanticType_; + public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder() { + if (columnDefBuilder_ != null) { + return columnDefBuilder_.getMessageOrBuilder(); + } else { + return columnDef_ == null ? + io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_; + } } /** - * .greptime.v1.SemanticType semantic_type = 6; - * @param value The enum numeric value on the wire for semanticType to set. - * @return This builder for chaining. + * .greptime.v1.ColumnDef column_def = 1; */ - public Builder setSemanticTypeValue(int value) { - - semanticType_ = value; - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> + getColumnDefFieldBuilder() { + if (columnDefBuilder_ == null) { + columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder>( + getColumnDef(), + getParentForChildren(), + isClean()); + columnDef_ = null; + } + return columnDefBuilder_; } + + private int columnId_ ; /** - * .greptime.v1.SemanticType semantic_type = 6; - * @return The semanticType. + * uint32 column_id = 2; + * @return The columnId. */ @java.lang.Override - public io.greptime.v1.Common.SemanticType getSemanticType() { - @SuppressWarnings("deprecation") - io.greptime.v1.Common.SemanticType result = io.greptime.v1.Common.SemanticType.valueOf(semanticType_); - return result == null ? io.greptime.v1.Common.SemanticType.UNRECOGNIZED : result; + public int getColumnId() { + return columnId_; } /** - * .greptime.v1.SemanticType semantic_type = 6; - * @param value The semanticType to set. + * uint32 column_id = 2; + * @param value The columnId to set. * @return This builder for chaining. */ - public Builder setSemanticType(io.greptime.v1.Common.SemanticType value) { - if (value == null) { - throw new NullPointerException(); - } + public Builder setColumnId(int value) { - semanticType_ = value.getNumber(); + columnId_ = value; onChanged(); return this; } /** - * .greptime.v1.SemanticType semantic_type = 6; + * uint32 column_id = 2; * @return This builder for chaining. */ - public Builder clearSemanticType() { + public Builder clearColumnId() { - semanticType_ = 0; + columnId_ = 0; onChanged(); return this; } @@ -18445,41 +18080,41 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:greptime.v1.region.ColumnDef) + // @@protoc_insertion_point(builder_scope:greptime.v1.region.RegionColumnDef) } - // @@protoc_insertion_point(class_scope:greptime.v1.region.ColumnDef) - private static final io.greptime.v1.region.Server.ColumnDef DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:greptime.v1.region.RegionColumnDef) + private static final io.greptime.v1.region.Server.RegionColumnDef DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.greptime.v1.region.Server.ColumnDef(); + DEFAULT_INSTANCE = new io.greptime.v1.region.Server.RegionColumnDef(); } - public static io.greptime.v1.region.Server.ColumnDef getDefaultInstance() { + public static io.greptime.v1.region.Server.RegionColumnDef getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ColumnDef parsePartialFrom( + public RegionColumnDef parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ColumnDef(input, extensionRegistry); + return new RegionColumnDef(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() { + public io.greptime.v1.region.Server.RegionColumnDef getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -18591,10 +18226,10 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_region_CompactRequest_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_region_ColumnDef_descriptor; + internal_static_greptime_v1_region_RegionColumnDef_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_region_ColumnDef_fieldAccessorTable; + internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -18632,45 +18267,42 @@ public io.greptime.v1.region.Server.ColumnDef getDefaultInstanceForType() { "\037\n\004rows\030\002 \001(\0132\021.greptime.v1.Rows\"C\n\rDele" + "teRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001" + "(\0132\021.greptime.v1.Rows\"/\n\014QueryRequest\022\021\n" + - "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\253\002\n\rCreat" + + "\tregion_id\030\001 \001(\004\022\014\n\004plan\030\002 \001(\014\"\261\002\n\rCreat" + "eRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 " + - "\001(\t\0222\n\013column_defs\030\003 \003(\0132\035.greptime.v1.r" + - "egion.ColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\034\n\024" + - "create_if_not_exists\030\005 \001(\010\022\017\n\007catalog\030\006 " + - "\001(\t\022\016\n\006schema\030\007 \001(\t\022?\n\007options\030\010 \003(\0132..g" + - "reptime.v1.region.CreateRequest.OptionsE" + - "ntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" + - "ue\030\002 \001(\t:\0028\001\" \n\013DropRequest\022\021\n\tregion_id" + - "\030\001 \001(\004\"\300\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(" + - "\004\022\016\n\006engine\030\002 \001(\t\022\017\n\007catalog\030\003 \001(\t\022\016\n\006sc" + - "hema\030\004 \001(\t\022=\n\007options\030\005 \003(\0132,.greptime.v" + - "1.region.OpenRequest.OptionsEntry\032.\n\014Opt" + - "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" + - "\001\"!\n\014CloseRequest\022\021\n\tregion_id\030\001 \001(\004\"\261\001\n" + - "\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\0225\n\013add_" + - "columns\030\002 \001(\0132\036.greptime.v1.region.AddCo" + - "lumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037.greptime" + - ".v1.region.DropColumnsH\000\022\026\n\016schema_versi" + - "on\030\004 \001(\004B\006\n\004kind\"@\n\nAddColumns\0222\n\013add_co" + - "lumns\030\001 \003(\0132\035.greptime.v1.region.AddColu" + - "mn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(\0132" + - "\036.greptime.v1.region.DropColumn\"\200\001\n\tAddC" + - "olumn\0221\n\ncolumn_def\030\001 \001(\0132\035.greptime.v1." + - "region.ColumnDef\022\016\n\006is_key\030\002 \001(\010\0220\n\010loca" + - "tion\030\003 \001(\0132\036.greptime.v1.AddColumnLocati" + - "on\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"!\n\014FlushR" + - "equest\022\021\n\tregion_id\030\001 \001(\004\"#\n\016CompactRequ" + - "est\022\021\n\tregion_id\030\001 \001(\004\"\276\001\n\tColumnDef\022\014\n\004" + - "name\030\001 \001(\t\022\021\n\tcolumn_id\030\002 \001(\r\022-\n\010datatyp" + - "e\030\003 \001(\0162\033.greptime.v1.ColumnDataType\022\023\n\013" + - "is_nullable\030\004 \001(\010\022\032\n\022default_constraint\030" + - "\005 \001(\014\0220\n\rsemantic_type\030\006 \001(\0162\031.greptime." + - "v1.SemanticType2Y\n\006Region\022O\n\006Handle\022!.gr" + - "eptime.v1.region.RegionRequest\032\".greptim" + - "e.v1.region.RegionResponseB]\n\025io.greptim" + - "e.v1.regionB\006ServerZ Date: Mon, 4 Sep 2023 14:40:50 +0800 Subject: [PATCH 5/6] feat: alter region request --- proto/greptime/v1/ddl.proto | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/proto/greptime/v1/ddl.proto b/proto/greptime/v1/ddl.proto index e386b33f..e5441c39 100644 --- a/proto/greptime/v1/ddl.proto +++ b/proto/greptime/v1/ddl.proto @@ -93,13 +93,9 @@ message AddColumn { AddColumnLocation location = 3; } -message DropColumn { - string name = 1; -} +message DropColumn { string name = 1; } -message TableId { - uint32 id = 1; -} +message TableId { uint32 id = 1; } message ColumnDef { string name = 1; From 5ceaf87e0d90bc1aace4bd782c3f322dae3e82d8 Mon Sep 17 00:00:00 2001 From: luofucong Date: Mon, 4 Sep 2023 14:57:17 +0800 Subject: [PATCH 6/6] feat: alter region request --- c++/greptime/v1/ddl.pb.cc | 68 +++++------ c++/greptime/v1/ddl.pb.h | 42 +++---- go/greptime/v1/ddl.pb.go | 70 ++++++------ java/src/main/java/io/greptime/v1/Ddl.java | 124 ++++++++++----------- proto/greptime/v1/ddl.proto | 2 +- 5 files changed, 153 insertions(+), 153 deletions(-) diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc index cbeeeae9..8e8947a7 100644 --- a/c++/greptime/v1/ddl.pb.cc +++ b/c++/greptime/v1/ddl.pb.cc @@ -230,7 +230,7 @@ PROTOBUF_CONSTEXPR ColumnDef::ColumnDef( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.datatype_)*/0 + , /*decltype(_impl_.data_type_)*/0 , /*decltype(_impl_.is_nullable_)*/false , /*decltype(_impl_.semantic_type_)*/0 , /*decltype(_impl_._cached_size_)*/{}} {} @@ -406,7 +406,7 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.name_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.datatype_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.data_type_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.is_nullable_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.default_constraint_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.semantic_type_), @@ -501,25 +501,25 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT "umn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Co" "lumnDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1." "AddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030" - "\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\253\001\n\tColumnD" - "ef\022\014\n\004name\030\001 \001(\t\022-\n\010datatype\030\002 \001(\0162\033.gre" - "ptime.v1.ColumnDataType\022\023\n\013is_nullable\030\003" - " \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rsema" - "ntic_type\030\005 \001(\0162\031.greptime.v1.SemanticTy" - "pe\"\230\001\n\021AddColumnLocation\022B\n\rlocation_typ" - "e\030\001 \001(\0162+.greptime.v1.AddColumnLocation." - "LocationType\022\031\n\021after_column_name\030\002 \001(\t\"" - "$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n" - "\016io.greptime.v1B\003DdlZ5github.com/Greptim" - "eTeam/greptime-proto/go/greptime/v1b\006pro" - "to3" + "\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\254\001\n\tColumnD" + "ef\022\014\n\004name\030\001 \001(\t\022.\n\tdata_type\030\002 \001(\0162\033.gr" + "eptime.v1.ColumnDataType\022\023\n\013is_nullable\030" + "\003 \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rsem" + "antic_type\030\005 \001(\0162\031.greptime.v1.SemanticT" + "ype\"\230\001\n\021AddColumnLocation\022B\n\rlocation_ty" + "pe\030\001 \001(\0162+.greptime.v1.AddColumnLocation" + ".LocationType\022\031\n\021after_column_name\030\002 \001(\t" + "\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL" + "\n\016io.greptime.v1B\003DdlZ5github.com/Grepti" + "meTeam/greptime-proto/go/greptime/v1b\006pr" + "oto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fddl_2eproto_deps[1] = { &::descriptor_table_greptime_2fv1_2fcommon_2eproto, }; static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fddl_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fddl_2eproto = { - false, false, 2163, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto, + false, false, 2164, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto, "greptime/v1/ddl.proto", &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 16, schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets, @@ -4486,7 +4486,7 @@ ColumnDef::ColumnDef(const ColumnDef& from) new (&_impl_) Impl_{ decltype(_impl_.name_){} , decltype(_impl_.default_constraint_){} - , decltype(_impl_.datatype_){} + , decltype(_impl_.data_type_){} , decltype(_impl_.is_nullable_){} , decltype(_impl_.semantic_type_){} , /*decltype(_impl_._cached_size_)*/{}}; @@ -4508,9 +4508,9 @@ ColumnDef::ColumnDef(const ColumnDef& from) _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), _this->GetArenaForAllocation()); } - ::memcpy(&_impl_.datatype_, &from._impl_.datatype_, + ::memcpy(&_impl_.data_type_, &from._impl_.data_type_, static_cast(reinterpret_cast(&_impl_.semantic_type_) - - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); + reinterpret_cast(&_impl_.data_type_)) + sizeof(_impl_.semantic_type_)); // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnDef) } @@ -4521,7 +4521,7 @@ inline void ColumnDef::SharedCtor( new (&_impl_) Impl_{ decltype(_impl_.name_){} , decltype(_impl_.default_constraint_){} - , decltype(_impl_.datatype_){0} + , decltype(_impl_.data_type_){0} , decltype(_impl_.is_nullable_){false} , decltype(_impl_.semantic_type_){0} , /*decltype(_impl_._cached_size_)*/{} @@ -4563,9 +4563,9 @@ void ColumnDef::Clear() { _impl_.name_.ClearToEmpty(); _impl_.default_constraint_.ClearToEmpty(); - ::memset(&_impl_.datatype_, 0, static_cast( + ::memset(&_impl_.data_type_, 0, static_cast( reinterpret_cast(&_impl_.semantic_type_) - - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); + reinterpret_cast(&_impl_.data_type_)) + sizeof(_impl_.semantic_type_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -4585,12 +4585,12 @@ const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx } else goto handle_unusual; continue; - // .greptime.v1.ColumnDataType datatype = 2; + // .greptime.v1.ColumnDataType data_type = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); - _internal_set_datatype(static_cast<::greptime::v1::ColumnDataType>(val)); + _internal_set_data_type(static_cast<::greptime::v1::ColumnDataType>(val)); } else goto handle_unusual; continue; @@ -4659,11 +4659,11 @@ uint8_t* ColumnDef::_InternalSerialize( 1, this->_internal_name(), target); } - // .greptime.v1.ColumnDataType datatype = 2; - if (this->_internal_datatype() != 0) { + // .greptime.v1.ColumnDataType data_type = 2; + if (this->_internal_data_type() != 0) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( - 2, this->_internal_datatype(), target); + 2, this->_internal_data_type(), target); } // bool is_nullable = 3; @@ -4715,10 +4715,10 @@ size_t ColumnDef::ByteSizeLong() const { this->_internal_default_constraint()); } - // .greptime.v1.ColumnDataType datatype = 2; - if (this->_internal_datatype() != 0) { + // .greptime.v1.ColumnDataType data_type = 2; + if (this->_internal_data_type() != 0) { total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_datatype()); + ::_pbi::WireFormatLite::EnumSize(this->_internal_data_type()); } // bool is_nullable = 3; @@ -4756,8 +4756,8 @@ void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT if (!from._internal_default_constraint().empty()) { _this->_internal_set_default_constraint(from._internal_default_constraint()); } - if (from._internal_datatype() != 0) { - _this->_internal_set_datatype(from._internal_datatype()); + if (from._internal_data_type() != 0) { + _this->_internal_set_data_type(from._internal_data_type()); } if (from._internal_is_nullable() != 0) { _this->_internal_set_is_nullable(from._internal_is_nullable()); @@ -4795,9 +4795,9 @@ void ColumnDef::InternalSwap(ColumnDef* other) { ::PROTOBUF_NAMESPACE_ID::internal::memswap< PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.semantic_type_) + sizeof(ColumnDef::_impl_.semantic_type_) - - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.datatype_)>( - reinterpret_cast(&_impl_.datatype_), - reinterpret_cast(&other->_impl_.datatype_)); + - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.data_type_)>( + reinterpret_cast(&_impl_.data_type_), + reinterpret_cast(&other->_impl_.data_type_)); } ::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const { diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h index 24a30d39..e5285e7a 100644 --- a/c++/greptime/v1/ddl.pb.h +++ b/c++/greptime/v1/ddl.pb.h @@ -2762,7 +2762,7 @@ class ColumnDef final : enum : int { kNameFieldNumber = 1, kDefaultConstraintFieldNumber = 4, - kDatatypeFieldNumber = 2, + kDataTypeFieldNumber = 2, kIsNullableFieldNumber = 3, kSemanticTypeFieldNumber = 5, }; @@ -2794,13 +2794,13 @@ class ColumnDef final : std::string* _internal_mutable_default_constraint(); public: - // .greptime.v1.ColumnDataType datatype = 2; - void clear_datatype(); - ::greptime::v1::ColumnDataType datatype() const; - void set_datatype(::greptime::v1::ColumnDataType value); + // .greptime.v1.ColumnDataType data_type = 2; + void clear_data_type(); + ::greptime::v1::ColumnDataType data_type() const; + void set_data_type(::greptime::v1::ColumnDataType value); private: - ::greptime::v1::ColumnDataType _internal_datatype() const; - void _internal_set_datatype(::greptime::v1::ColumnDataType value); + ::greptime::v1::ColumnDataType _internal_data_type() const; + void _internal_set_data_type(::greptime::v1::ColumnDataType value); public: // bool is_nullable = 3; @@ -2831,7 +2831,7 @@ class ColumnDef final : struct Impl_ { ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_; - int datatype_; + int data_type_; bool is_nullable_; int semantic_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -5466,24 +5466,24 @@ inline void ColumnDef::set_allocated_name(std::string* name) { // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.name) } -// .greptime.v1.ColumnDataType datatype = 2; -inline void ColumnDef::clear_datatype() { - _impl_.datatype_ = 0; +// .greptime.v1.ColumnDataType data_type = 2; +inline void ColumnDef::clear_data_type() { + _impl_.data_type_ = 0; } -inline ::greptime::v1::ColumnDataType ColumnDef::_internal_datatype() const { - return static_cast< ::greptime::v1::ColumnDataType >(_impl_.datatype_); +inline ::greptime::v1::ColumnDataType ColumnDef::_internal_data_type() const { + return static_cast< ::greptime::v1::ColumnDataType >(_impl_.data_type_); } -inline ::greptime::v1::ColumnDataType ColumnDef::datatype() const { - // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.datatype) - return _internal_datatype(); +inline ::greptime::v1::ColumnDataType ColumnDef::data_type() const { + // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.data_type) + return _internal_data_type(); } -inline void ColumnDef::_internal_set_datatype(::greptime::v1::ColumnDataType value) { +inline void ColumnDef::_internal_set_data_type(::greptime::v1::ColumnDataType value) { - _impl_.datatype_ = value; + _impl_.data_type_ = value; } -inline void ColumnDef::set_datatype(::greptime::v1::ColumnDataType value) { - _internal_set_datatype(value); - // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.datatype) +inline void ColumnDef::set_data_type(::greptime::v1::ColumnDataType value) { + _internal_set_data_type(value); + // @@protoc_insertion_point(field_set:greptime.v1.ColumnDef.data_type) } // bool is_nullable = 3; diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go index 36e9a4f3..42c7e623 100644 --- a/go/greptime/v1/ddl.pb.go +++ b/go/greptime/v1/ddl.pb.go @@ -962,7 +962,7 @@ type ColumnDef struct { unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Datatype ColumnDataType `protobuf:"varint,2,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"` + DataType ColumnDataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=greptime.v1.ColumnDataType" json:"data_type,omitempty"` IsNullable bool `protobuf:"varint,3,opt,name=is_nullable,json=isNullable,proto3" json:"is_nullable,omitempty"` DefaultConstraint []byte `protobuf:"bytes,4,opt,name=default_constraint,json=defaultConstraint,proto3" json:"default_constraint,omitempty"` SemanticType SemanticType `protobuf:"varint,5,opt,name=semantic_type,json=semanticType,proto3,enum=greptime.v1.SemanticType" json:"semantic_type,omitempty"` @@ -1007,9 +1007,9 @@ func (x *ColumnDef) GetName() string { return "" } -func (x *ColumnDef) GetDatatype() ColumnDataType { +func (x *ColumnDef) GetDataType() ColumnDataType { if x != nil { - return x.Datatype + return x.DataType } return ColumnDataType_BOOLEAN } @@ -1234,38 +1234,38 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, - 0xe8, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, + 0xe9, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, - 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65, - 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, - 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x41, - 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, - 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, - 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, - 0x45, 0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, - 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, + 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x11, + 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x24, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, + 0x54, 0x45, 0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1322,7 +1322,7 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{ 11, // 15: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn 13, // 16: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 14, // 17: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation - 17, // 18: greptime.v1.ColumnDef.datatype:type_name -> greptime.v1.ColumnDataType + 17, // 18: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType 18, // 19: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType 0, // 20: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType 21, // [21:21] is the sub-list for method output_type diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java index c2533bd5..6fe86fab 100644 --- a/java/src/main/java/io/greptime/v1/Ddl.java +++ b/java/src/main/java/io/greptime/v1/Ddl.java @@ -13177,15 +13177,15 @@ public interface ColumnDefOrBuilder extends getNameBytes(); /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The enum numeric value on the wire for datatype. + * .greptime.v1.ColumnDataType data_type = 2; + * @return The enum numeric value on the wire for dataType. */ - int getDatatypeValue(); + int getDataTypeValue(); /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The datatype. + * .greptime.v1.ColumnDataType data_type = 2; + * @return The dataType. */ - io.greptime.v1.Common.ColumnDataType getDatatype(); + io.greptime.v1.Common.ColumnDataType getDataType(); /** * bool is_nullable = 3; @@ -13224,7 +13224,7 @@ private ColumnDef(com.google.protobuf.GeneratedMessageV3.Builder builder) { } private ColumnDef() { name_ = ""; - datatype_ = 0; + dataType_ = 0; defaultConstraint_ = com.google.protobuf.ByteString.EMPTY; semanticType_ = 0; } @@ -13268,7 +13268,7 @@ private ColumnDef( case 16: { int rawValue = input.readEnum(); - datatype_ = rawValue; + dataType_ = rawValue; break; } case 24: { @@ -13359,22 +13359,22 @@ public java.lang.String getName() { } } - public static final int DATATYPE_FIELD_NUMBER = 2; - private int datatype_; + public static final int DATA_TYPE_FIELD_NUMBER = 2; + private int dataType_; /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The enum numeric value on the wire for datatype. + * .greptime.v1.ColumnDataType data_type = 2; + * @return The enum numeric value on the wire for dataType. */ - @java.lang.Override public int getDatatypeValue() { - return datatype_; + @java.lang.Override public int getDataTypeValue() { + return dataType_; } /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The datatype. + * .greptime.v1.ColumnDataType data_type = 2; + * @return The dataType. */ - @java.lang.Override public io.greptime.v1.Common.ColumnDataType getDatatype() { + @java.lang.Override public io.greptime.v1.Common.ColumnDataType getDataType() { @SuppressWarnings("deprecation") - io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); + io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(dataType_); return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; } @@ -13436,8 +13436,8 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } - if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { - output.writeEnum(2, datatype_); + if (dataType_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { + output.writeEnum(2, dataType_); } if (isNullable_ != false) { output.writeBool(3, isNullable_); @@ -13460,9 +13460,9 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } - if (datatype_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { + if (dataType_ != io.greptime.v1.Common.ColumnDataType.BOOLEAN.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, datatype_); + .computeEnumSize(2, dataType_); } if (isNullable_ != false) { size += com.google.protobuf.CodedOutputStream @@ -13493,7 +13493,7 @@ public boolean equals(final java.lang.Object obj) { if (!getName() .equals(other.getName())) return false; - if (datatype_ != other.datatype_) return false; + if (dataType_ != other.dataType_) return false; if (getIsNullable() != other.getIsNullable()) return false; if (!getDefaultConstraint() @@ -13512,8 +13512,8 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + DATATYPE_FIELD_NUMBER; - hash = (53 * hash) + datatype_; + hash = (37 * hash) + DATA_TYPE_FIELD_NUMBER; + hash = (53 * hash) + dataType_; hash = (37 * hash) + IS_NULLABLE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getIsNullable()); @@ -13656,7 +13656,7 @@ public Builder clear() { super.clear(); name_ = ""; - datatype_ = 0; + dataType_ = 0; isNullable_ = false; @@ -13691,7 +13691,7 @@ public io.greptime.v1.Ddl.ColumnDef build() { public io.greptime.v1.Ddl.ColumnDef buildPartial() { io.greptime.v1.Ddl.ColumnDef result = new io.greptime.v1.Ddl.ColumnDef(this); result.name_ = name_; - result.datatype_ = datatype_; + result.dataType_ = dataType_; result.isNullable_ = isNullable_; result.defaultConstraint_ = defaultConstraint_; result.semanticType_ = semanticType_; @@ -13747,8 +13747,8 @@ public Builder mergeFrom(io.greptime.v1.Ddl.ColumnDef other) { name_ = other.name_; onChanged(); } - if (other.datatype_ != 0) { - setDatatypeValue(other.getDatatypeValue()); + if (other.dataType_ != 0) { + setDataTypeValue(other.getDataTypeValue()); } if (other.getIsNullable() != false) { setIsNullable(other.getIsNullable()); @@ -13864,56 +13864,56 @@ public Builder setNameBytes( return this; } - private int datatype_ = 0; + private int dataType_ = 0; /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The enum numeric value on the wire for datatype. + * .greptime.v1.ColumnDataType data_type = 2; + * @return The enum numeric value on the wire for dataType. */ - @java.lang.Override public int getDatatypeValue() { - return datatype_; + @java.lang.Override public int getDataTypeValue() { + return dataType_; } /** - * .greptime.v1.ColumnDataType datatype = 2; - * @param value The enum numeric value on the wire for datatype to set. + * .greptime.v1.ColumnDataType data_type = 2; + * @param value The enum numeric value on the wire for dataType to set. * @return This builder for chaining. */ - public Builder setDatatypeValue(int value) { + public Builder setDataTypeValue(int value) { - datatype_ = value; + dataType_ = value; onChanged(); return this; } /** - * .greptime.v1.ColumnDataType datatype = 2; - * @return The datatype. + * .greptime.v1.ColumnDataType data_type = 2; + * @return The dataType. */ @java.lang.Override - public io.greptime.v1.Common.ColumnDataType getDatatype() { + public io.greptime.v1.Common.ColumnDataType getDataType() { @SuppressWarnings("deprecation") - io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(datatype_); + io.greptime.v1.Common.ColumnDataType result = io.greptime.v1.Common.ColumnDataType.valueOf(dataType_); return result == null ? io.greptime.v1.Common.ColumnDataType.UNRECOGNIZED : result; } /** - * .greptime.v1.ColumnDataType datatype = 2; - * @param value The datatype to set. + * .greptime.v1.ColumnDataType data_type = 2; + * @param value The dataType to set. * @return This builder for chaining. */ - public Builder setDatatype(io.greptime.v1.Common.ColumnDataType value) { + public Builder setDataType(io.greptime.v1.Common.ColumnDataType value) { if (value == null) { throw new NullPointerException(); } - datatype_ = value.getNumber(); + dataType_ = value.getNumber(); onChanged(); return this; } /** - * .greptime.v1.ColumnDataType datatype = 2; + * .greptime.v1.ColumnDataType data_type = 2; * @return This builder for chaining. */ - public Builder clearDatatype() { + public Builder clearDataType() { - datatype_ = 0; + dataType_ = 0; onChanged(); return this; } @@ -15006,18 +15006,18 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { "umn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Co" + "lumnDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1." + "AddColumnLocation\"\032\n\nDropColumn\022\014\n\004name\030" + - "\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\253\001\n\tColumnD" + - "ef\022\014\n\004name\030\001 \001(\t\022-\n\010datatype\030\002 \001(\0162\033.gre" + - "ptime.v1.ColumnDataType\022\023\n\013is_nullable\030\003" + - " \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rsema" + - "ntic_type\030\005 \001(\0162\031.greptime.v1.SemanticTy" + - "pe\"\230\001\n\021AddColumnLocation\022B\n\rlocation_typ" + - "e\030\001 \001(\0162+.greptime.v1.AddColumnLocation." + - "LocationType\022\031\n\021after_column_name\030\002 \001(\t\"" + - "$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n" + - "\016io.greptime.v1B\003DdlZ5github.com/Greptim" + - "eTeam/greptime-proto/go/greptime/v1b\006pro" + - "to3" + "\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\254\001\n\tColumnD" + + "ef\022\014\n\004name\030\001 \001(\t\022.\n\tdata_type\030\002 \001(\0162\033.gr" + + "eptime.v1.ColumnDataType\022\023\n\013is_nullable\030" + + "\003 \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rsem" + + "antic_type\030\005 \001(\0162\031.greptime.v1.SemanticT" + + "ype\"\230\001\n\021AddColumnLocation\022B\n\rlocation_ty" + + "pe\030\001 \001(\0162+.greptime.v1.AddColumnLocation" + + ".LocationType\022\031\n\021after_column_name\030\002 \001(\t" + + "\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL" + + "\n\016io.greptime.v1B\003DdlZ5github.com/Grepti" + + "meTeam/greptime-proto/go/greptime/v1b\006pr" + + "oto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -15113,7 +15113,7 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { internal_static_greptime_v1_ColumnDef_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_ColumnDef_descriptor, - new java.lang.String[] { "Name", "Datatype", "IsNullable", "DefaultConstraint", "SemanticType", }); + new java.lang.String[] { "Name", "DataType", "IsNullable", "DefaultConstraint", "SemanticType", }); internal_static_greptime_v1_AddColumnLocation_descriptor = getDescriptor().getMessageTypes().get(13); internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable = new diff --git a/proto/greptime/v1/ddl.proto b/proto/greptime/v1/ddl.proto index e5441c39..0bd20cb0 100644 --- a/proto/greptime/v1/ddl.proto +++ b/proto/greptime/v1/ddl.proto @@ -99,7 +99,7 @@ message TableId { uint32 id = 1; } message ColumnDef { string name = 1; - ColumnDataType datatype = 2; + ColumnDataType data_type = 2; bool is_nullable = 3; bytes default_constraint = 4; SemanticType semantic_type = 5;