From b9d6628f11465f671f288a54cde6484f070343c1 Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Mon, 24 Jun 2024 06:42:40 +0000 Subject: [PATCH 1/6] feat: add fulltext options for column Signed-off-by: Zhenchi --- c++/greptime/v1/row.pb.cc | 622 +++++- c++/greptime/v1/row.pb.h | 642 ++++++ go/greptime/v1/row.pb.go | 387 +++- .../src/main/java/io/greptime/v1/RowData.java | 1950 ++++++++++++++++- proto/greptime/v1/row.proto | 21 + 5 files changed, 3391 insertions(+), 231 deletions(-) diff --git a/c++/greptime/v1/row.pb.cc b/c++/greptime/v1/row.pb.cc index 3e8c0942..bc23afe5 100644 --- a/c++/greptime/v1/row.pb.cc +++ b/c++/greptime/v1/row.pb.cc @@ -40,6 +40,7 @@ PROTOBUF_CONSTEXPR ColumnSchema::ColumnSchema( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.datatype_extension_)*/nullptr + , /*decltype(_impl_.options_)*/nullptr , /*decltype(_impl_.datatype_)*/0 , /*decltype(_impl_.semantic_type_)*/0 , /*decltype(_impl_._cached_size_)*/{}} {} @@ -79,9 +80,37 @@ struct ValueDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueDefaultTypeInternal _Value_default_instance_; +PROTOBUF_CONSTEXPR ColumnOptions::ColumnOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.fulltext_)*/nullptr + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ColumnOptionsDefaultTypeInternal { + PROTOBUF_CONSTEXPR ColumnOptionsDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ColumnOptionsDefaultTypeInternal() {} + union { + ColumnOptions _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnOptionsDefaultTypeInternal _ColumnOptions_default_instance_; +PROTOBUF_CONSTEXPR FulltextOptions::FulltextOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.analyzer_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.enable_)*/false + , /*decltype(_impl_.case_sensitive_)*/false + , /*decltype(_impl_._cached_size_)*/{}} {} +struct FulltextOptionsDefaultTypeInternal { + PROTOBUF_CONSTEXPR FulltextOptionsDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~FulltextOptionsDefaultTypeInternal() {} + union { + FulltextOptions _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FulltextOptionsDefaultTypeInternal _FulltextOptions_default_instance_; } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2frow_2eproto[4]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2frow_2eproto[6]; static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2frow_2eproto = nullptr; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2frow_2eproto = nullptr; @@ -104,6 +133,7 @@ const uint32_t TableStruct_greptime_2fv1_2frow_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema, _impl_.datatype_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema, _impl_.semantic_type_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema, _impl_.datatype_extension_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema, _impl_.options_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::Row, _internal_metadata_), ~0u, // no _extensions_ @@ -145,12 +175,30 @@ const uint32_t TableStruct_greptime_2fv1_2frow_2eproto::offsets[] PROTOBUF_SECTI ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::greptime::v1::Value, _impl_.value_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions, _impl_.fulltext_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _impl_.enable_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _impl_.analyzer_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _impl_.case_sensitive_), }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::greptime::v1::Rows)}, { 8, -1, -1, sizeof(::greptime::v1::ColumnSchema)}, - { 18, -1, -1, sizeof(::greptime::v1::Row)}, - { 25, -1, -1, sizeof(::greptime::v1::Value)}, + { 19, -1, -1, sizeof(::greptime::v1::Row)}, + { 26, -1, -1, sizeof(::greptime::v1::Value)}, + { 60, -1, -1, sizeof(::greptime::v1::ColumnOptions)}, + { 67, -1, -1, sizeof(::greptime::v1::FulltextOptions)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -158,51 +206,58 @@ static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_ColumnSchema_default_instance_._instance, &::greptime::v1::_Row_default_instance_._instance, &::greptime::v1::_Value_default_instance_._instance, + &::greptime::v1::_ColumnOptions_default_instance_._instance, + &::greptime::v1::_FulltextOptions_default_instance_._instance, }; const char descriptor_table_protodef_greptime_2fv1_2frow_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" - "s\030\002 \003(\0132\020.greptime.v1.Row\"\306\001\n\014ColumnSche" + "s\030\002 \003(\0132\020.greptime.v1.Row\"\363\001\n\014ColumnSche" "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." - "v1.ColumnDataTypeExtension\")\n\003Row\022\"\n\006val" - "ues\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005Value\022" - "\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 \001(\005H\000" - "\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030\004 \001(\003" - "H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value\030\006 \001(" - "\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_value\030\010 " - "\001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_value\030" - "\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014binary_" - "value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\tH\000\022\024\n" - "\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_value\030\017 " - "\001(\003H\000\022 \n\026timestamp_second_value\030\020 \001(\003H\000\022" - "%\n\033timestamp_millisecond_value\030\021 \001(\003H\000\022%" - "\n\033timestamp_microsecond_value\030\022 \001(\003H\000\022$\n" - "\032timestamp_nanosecond_value\030\023 \001(\003H\000\022\033\n\021t" - "ime_second_value\030\024 \001(\003H\000\022 \n\026time_millise" - "cond_value\030\025 \001(\003H\000\022 \n\026time_microsecond_v" - "alue\030\026 \001(\003H\000\022\037\n\025time_nanosecond_value\030\027 " - "\001(\003H\000\022#\n\031interval_year_month_value\030\030 \001(\005" - "H\000\022!\n\027interval_day_time_value\030\031 \001(\003H\000\022J\n" - "\035interval_month_day_nano_value\030\032 \001(\0132!.g" - "reptime.v1.IntervalMonthDayNanoH\000\0223\n\020dec" - "imal128_value\030\037 \001(\0132\027.greptime.v1.Decima" - "l128H\000B\014\n\nvalue_dataBP\n\016io.greptime.v1B\007" - "RowDataZ5github.com/GreptimeTeam/greptim" - "e-proto/go/greptime/v1b\006proto3" + "v1.ColumnDataTypeExtension\022+\n\007options\030\005 " + "\001(\0132\032.greptime.v1.ColumnOptions\")\n\003Row\022\"" + "\n\006values\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005V" + "alue\022\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 " + "\001(\005H\000\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030" + "\004 \001(\003H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value" + "\030\006 \001(\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_val" + "ue\030\010 \001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_v" + "alue\030\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014bi" + "nary_value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\t" + "H\000\022\024\n\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_val" + "ue\030\017 \001(\003H\000\022 \n\026timestamp_second_value\030\020 \001" + "(\003H\000\022%\n\033timestamp_millisecond_value\030\021 \001(" + "\003H\000\022%\n\033timestamp_microsecond_value\030\022 \001(\003" + "H\000\022$\n\032timestamp_nanosecond_value\030\023 \001(\003H\000" + "\022\033\n\021time_second_value\030\024 \001(\003H\000\022 \n\026time_mi" + "llisecond_value\030\025 \001(\003H\000\022 \n\026time_microsec" + "ond_value\030\026 \001(\003H\000\022\037\n\025time_nanosecond_val" + "ue\030\027 \001(\003H\000\022#\n\031interval_year_month_value\030" + "\030 \001(\005H\000\022!\n\027interval_day_time_value\030\031 \001(\003" + "H\000\022J\n\035interval_month_day_nano_value\030\032 \001(" + "\0132!.greptime.v1.IntervalMonthDayNanoH\000\0223" + "\n\020decimal128_value\030\037 \001(\0132\027.greptime.v1.D" + "ecimal128H\000B\014\n\nvalue_data\"\?\n\rColumnOptio" + "ns\022.\n\010fulltext\030\001 \001(\0132\034.greptime.v1.Fullt" + "extOptions\"K\n\017FulltextOptions\022\016\n\006enable\030" + "\001 \001(\010\022\020\n\010analyzer\030\002 \001(\t\022\026\n\016case_sensitiv" + "e\030\003 \001(\010BP\n\016io.greptime.v1B\007RowDataZ5gith" + "ub.com/GreptimeTeam/greptime-proto/go/gr" + "eptime/v1b\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2frow_2eproto_deps[1] = { &::descriptor_table_greptime_2fv1_2fcommon_2eproto, }; static ::_pbi::once_flag descriptor_table_greptime_2fv1_2frow_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2frow_2eproto = { - false, false, 1310, descriptor_table_protodef_greptime_2fv1_2frow_2eproto, + false, false, 1497, descriptor_table_protodef_greptime_2fv1_2frow_2eproto, "greptime/v1/row.proto", - &descriptor_table_greptime_2fv1_2frow_2eproto_once, descriptor_table_greptime_2fv1_2frow_2eproto_deps, 1, 4, + &descriptor_table_greptime_2fv1_2frow_2eproto_once, descriptor_table_greptime_2fv1_2frow_2eproto_deps, 1, 6, schemas, file_default_instances, TableStruct_greptime_2fv1_2frow_2eproto::offsets, file_level_metadata_greptime_2fv1_2frow_2eproto, file_level_enum_descriptors_greptime_2fv1_2frow_2eproto, file_level_service_descriptors_greptime_2fv1_2frow_2eproto, @@ -440,12 +495,17 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Rows::GetMetadata() const { class ColumnSchema::_Internal { public: static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const ColumnSchema* msg); + static const ::greptime::v1::ColumnOptions& options(const ColumnSchema* msg); }; const ::greptime::v1::ColumnDataTypeExtension& ColumnSchema::_Internal::datatype_extension(const ColumnSchema* msg) { return *msg->_impl_.datatype_extension_; } +const ::greptime::v1::ColumnOptions& +ColumnSchema::_Internal::options(const ColumnSchema* msg) { + return *msg->_impl_.options_; +} void ColumnSchema::clear_datatype_extension() { if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; @@ -464,6 +524,7 @@ ColumnSchema::ColumnSchema(const ColumnSchema& from) new (&_impl_) Impl_{ decltype(_impl_.column_name_){} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.datatype_){} , decltype(_impl_.semantic_type_){} , /*decltype(_impl_._cached_size_)*/{}}; @@ -480,6 +541,9 @@ ColumnSchema::ColumnSchema(const ColumnSchema& from) if (from._internal_has_datatype_extension()) { _this->_impl_.datatype_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.datatype_extension_); } + if (from._internal_has_options()) { + _this->_impl_.options_ = new ::greptime::v1::ColumnOptions(*from._impl_.options_); + } ::memcpy(&_impl_.datatype_, &from._impl_.datatype_, static_cast(reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); @@ -493,6 +557,7 @@ inline void ColumnSchema::SharedCtor( new (&_impl_) Impl_{ decltype(_impl_.column_name_){} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.datatype_){0} , decltype(_impl_.semantic_type_){0} , /*decltype(_impl_._cached_size_)*/{} @@ -516,6 +581,7 @@ inline void ColumnSchema::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); _impl_.column_name_.Destroy(); if (this != internal_default_instance()) delete _impl_.datatype_extension_; + if (this != internal_default_instance()) delete _impl_.options_; } void ColumnSchema::SetCachedSize(int size) const { @@ -533,6 +599,10 @@ void ColumnSchema::Clear() { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; ::memset(&_impl_.datatype_, 0, static_cast( reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); @@ -581,6 +651,14 @@ const char* ColumnSchema::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; + // .greptime.v1.ColumnOptions options = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_options(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -641,6 +719,13 @@ uint8_t* ColumnSchema::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } + // .greptime.v1.ColumnOptions options = 5; + if (this->_internal_has_options()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::options(this), + _Internal::options(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); @@ -671,6 +756,13 @@ size_t ColumnSchema::ByteSizeLong() const { *_impl_.datatype_extension_); } + // .greptime.v1.ColumnOptions options = 5; + if (this->_internal_has_options()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.options_); + } + // .greptime.v1.ColumnDataType datatype = 2; if (this->_internal_datatype() != 0) { total_size += 1 + @@ -708,6 +800,10 @@ void ColumnSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P _this->_internal_mutable_datatype_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom( from._internal_datatype_extension()); } + if (from._internal_has_options()) { + _this->_internal_mutable_options()->::greptime::v1::ColumnOptions::MergeFrom( + from._internal_options()); + } if (from._internal_datatype() != 0) { _this->_internal_set_datatype(from._internal_datatype()); } @@ -2065,6 +2161,462 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Value::GetMetadata() const { file_level_metadata_greptime_2fv1_2frow_2eproto[3]); } +// =================================================================== + +class ColumnOptions::_Internal { + public: + static const ::greptime::v1::FulltextOptions& fulltext(const ColumnOptions* msg); +}; + +const ::greptime::v1::FulltextOptions& +ColumnOptions::_Internal::fulltext(const ColumnOptions* msg) { + return *msg->_impl_.fulltext_; +} +ColumnOptions::ColumnOptions(::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.ColumnOptions) +} +ColumnOptions::ColumnOptions(const ColumnOptions& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ColumnOptions* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.fulltext_){nullptr} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_fulltext()) { + _this->_impl_.fulltext_ = new ::greptime::v1::FulltextOptions(*from._impl_.fulltext_); + } + // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnOptions) +} + +inline void ColumnOptions::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.fulltext_){nullptr} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +ColumnOptions::~ColumnOptions() { + // @@protoc_insertion_point(destructor:greptime.v1.ColumnOptions) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ColumnOptions::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete _impl_.fulltext_; +} + +void ColumnOptions::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ColumnOptions::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.ColumnOptions) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && _impl_.fulltext_ != nullptr) { + delete _impl_.fulltext_; + } + _impl_.fulltext_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ColumnOptions::_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.FulltextOptions fulltext = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_fulltext(), 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* ColumnOptions::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ColumnOptions) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .greptime.v1.FulltextOptions fulltext = 1; + if (this->_internal_has_fulltext()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::fulltext(this), + _Internal::fulltext(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.ColumnOptions) + return target; +} + +size_t ColumnOptions::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ColumnOptions) + 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.FulltextOptions fulltext = 1; + if (this->_internal_has_fulltext()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.fulltext_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnOptions::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ColumnOptions::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnOptions::GetClassData() const { return &_class_data_; } + + +void ColumnOptions::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.ColumnOptions) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_fulltext()) { + _this->_internal_mutable_fulltext()->::greptime::v1::FulltextOptions::MergeFrom( + from._internal_fulltext()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ColumnOptions::CopyFrom(const ColumnOptions& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.ColumnOptions) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ColumnOptions::IsInitialized() const { + return true; +} + +void ColumnOptions::InternalSwap(ColumnOptions* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.fulltext_, other->_impl_.fulltext_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ColumnOptions::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, + file_level_metadata_greptime_2fv1_2frow_2eproto[4]); +} + +// =================================================================== + +class FulltextOptions::_Internal { + public: +}; + +FulltextOptions::FulltextOptions(::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.FulltextOptions) +} +FulltextOptions::FulltextOptions(const FulltextOptions& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + FulltextOptions* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.analyzer_){} + , decltype(_impl_.enable_){} + , decltype(_impl_.case_sensitive_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.analyzer_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.analyzer_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_analyzer().empty()) { + _this->_impl_.analyzer_.Set(from._internal_analyzer(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.enable_, &from._impl_.enable_, + static_cast(reinterpret_cast(&_impl_.case_sensitive_) - + reinterpret_cast(&_impl_.enable_)) + sizeof(_impl_.case_sensitive_)); + // @@protoc_insertion_point(copy_constructor:greptime.v1.FulltextOptions) +} + +inline void FulltextOptions::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.analyzer_){} + , decltype(_impl_.enable_){false} + , decltype(_impl_.case_sensitive_){false} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.analyzer_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.analyzer_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +FulltextOptions::~FulltextOptions() { + // @@protoc_insertion_point(destructor:greptime.v1.FulltextOptions) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void FulltextOptions::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.analyzer_.Destroy(); +} + +void FulltextOptions::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void FulltextOptions::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.FulltextOptions) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.analyzer_.ClearToEmpty(); + ::memset(&_impl_.enable_, 0, static_cast( + reinterpret_cast(&_impl_.case_sensitive_) - + reinterpret_cast(&_impl_.enable_)) + sizeof(_impl_.case_sensitive_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FulltextOptions::_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) { + // bool enable = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.enable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string analyzer = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_analyzer(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.FulltextOptions.analyzer")); + } else + goto handle_unusual; + continue; + // bool case_sensitive = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _impl_.case_sensitive_ = ::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* FulltextOptions::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.FulltextOptions) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bool enable = 1; + if (this->_internal_enable() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_enable(), target); + } + + // string analyzer = 2; + if (!this->_internal_analyzer().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_analyzer().data(), static_cast(this->_internal_analyzer().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.FulltextOptions.analyzer"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_analyzer(), target); + } + + // bool case_sensitive = 3; + if (this->_internal_case_sensitive() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_case_sensitive(), 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.FulltextOptions) + return target; +} + +size_t FulltextOptions::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.FulltextOptions) + 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 analyzer = 2; + if (!this->_internal_analyzer().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_analyzer()); + } + + // bool enable = 1; + if (this->_internal_enable() != 0) { + total_size += 1 + 1; + } + + // bool case_sensitive = 3; + if (this->_internal_case_sensitive() != 0) { + total_size += 1 + 1; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FulltextOptions::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + FulltextOptions::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FulltextOptions::GetClassData() const { return &_class_data_; } + + +void FulltextOptions::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.FulltextOptions) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_analyzer().empty()) { + _this->_internal_set_analyzer(from._internal_analyzer()); + } + if (from._internal_enable() != 0) { + _this->_internal_set_enable(from._internal_enable()); + } + if (from._internal_case_sensitive() != 0) { + _this->_internal_set_case_sensitive(from._internal_case_sensitive()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void FulltextOptions::CopyFrom(const FulltextOptions& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.FulltextOptions) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FulltextOptions::IsInitialized() const { + return true; +} + +void FulltextOptions::InternalSwap(FulltextOptions* 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_.analyzer_, lhs_arena, + &other->_impl_.analyzer_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(FulltextOptions, _impl_.case_sensitive_) + + sizeof(FulltextOptions::_impl_.case_sensitive_) + - PROTOBUF_FIELD_OFFSET(FulltextOptions, _impl_.enable_)>( + reinterpret_cast(&_impl_.enable_), + reinterpret_cast(&other->_impl_.enable_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FulltextOptions::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, + file_level_metadata_greptime_2fv1_2frow_2eproto[5]); +} + // @@protoc_insertion_point(namespace_scope) } // namespace v1 } // namespace greptime @@ -2085,6 +2637,14 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::Value* Arena::CreateMaybeMessage< ::greptime::v1::Value >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Value >(arena); } +template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnOptions* +Arena::CreateMaybeMessage< ::greptime::v1::ColumnOptions >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::ColumnOptions >(arena); +} +template<> PROTOBUF_NOINLINE ::greptime::v1::FulltextOptions* +Arena::CreateMaybeMessage< ::greptime::v1::FulltextOptions >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::FulltextOptions >(arena); +} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/c++/greptime/v1/row.pb.h b/c++/greptime/v1/row.pb.h index 8c26c24a..8bb3165a 100644 --- a/c++/greptime/v1/row.pb.h +++ b/c++/greptime/v1/row.pb.h @@ -47,9 +47,15 @@ struct TableStruct_greptime_2fv1_2frow_2eproto { extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_greptime_2fv1_2frow_2eproto; namespace greptime { namespace v1 { +class ColumnOptions; +struct ColumnOptionsDefaultTypeInternal; +extern ColumnOptionsDefaultTypeInternal _ColumnOptions_default_instance_; class ColumnSchema; struct ColumnSchemaDefaultTypeInternal; extern ColumnSchemaDefaultTypeInternal _ColumnSchema_default_instance_; +class FulltextOptions; +struct FulltextOptionsDefaultTypeInternal; +extern FulltextOptionsDefaultTypeInternal _FulltextOptions_default_instance_; class Row; struct RowDefaultTypeInternal; extern RowDefaultTypeInternal _Row_default_instance_; @@ -62,7 +68,9 @@ extern ValueDefaultTypeInternal _Value_default_instance_; } // namespace v1 } // namespace greptime PROTOBUF_NAMESPACE_OPEN +template<> ::greptime::v1::ColumnOptions* Arena::CreateMaybeMessage<::greptime::v1::ColumnOptions>(Arena*); template<> ::greptime::v1::ColumnSchema* Arena::CreateMaybeMessage<::greptime::v1::ColumnSchema>(Arena*); +template<> ::greptime::v1::FulltextOptions* Arena::CreateMaybeMessage<::greptime::v1::FulltextOptions>(Arena*); template<> ::greptime::v1::Row* Arena::CreateMaybeMessage<::greptime::v1::Row>(Arena*); template<> ::greptime::v1::Rows* Arena::CreateMaybeMessage<::greptime::v1::Rows>(Arena*); template<> ::greptime::v1::Value* Arena::CreateMaybeMessage<::greptime::v1::Value>(Arena*); @@ -372,6 +380,7 @@ class ColumnSchema final : enum : int { kColumnNameFieldNumber = 1, kDatatypeExtensionFieldNumber = 4, + kOptionsFieldNumber = 5, kDatatypeFieldNumber = 2, kSemanticTypeFieldNumber = 3, }; @@ -407,6 +416,24 @@ class ColumnSchema final : ::greptime::v1::ColumnDataTypeExtension* datatype_extension); ::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_datatype_extension(); + // .greptime.v1.ColumnOptions options = 5; + bool has_options() const; + private: + bool _internal_has_options() const; + public: + void clear_options(); + const ::greptime::v1::ColumnOptions& options() const; + PROTOBUF_NODISCARD ::greptime::v1::ColumnOptions* release_options(); + ::greptime::v1::ColumnOptions* mutable_options(); + void set_allocated_options(::greptime::v1::ColumnOptions* options); + private: + const ::greptime::v1::ColumnOptions& _internal_options() const; + ::greptime::v1::ColumnOptions* _internal_mutable_options(); + public: + void unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options); + ::greptime::v1::ColumnOptions* unsafe_arena_release_options(); + // .greptime.v1.ColumnDataType datatype = 2; void clear_datatype(); ::greptime::v1::ColumnDataType datatype() const; @@ -435,6 +462,7 @@ class ColumnSchema final : struct Impl_ { ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; ::greptime::v1::ColumnDataTypeExtension* datatype_extension_; + ::greptime::v1::ColumnOptions* options_; int datatype_; int semantic_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -1230,6 +1258,338 @@ class Value final : union { Impl_ _impl_; }; friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; }; +// ------------------------------------------------------------------- + +class ColumnOptions final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnOptions) */ { + public: + inline ColumnOptions() : ColumnOptions(nullptr) {} + ~ColumnOptions() override; + explicit PROTOBUF_CONSTEXPR ColumnOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ColumnOptions(const ColumnOptions& from); + ColumnOptions(ColumnOptions&& from) noexcept + : ColumnOptions() { + *this = ::std::move(from); + } + + inline ColumnOptions& operator=(const ColumnOptions& from) { + CopyFrom(from); + return *this; + } + inline ColumnOptions& operator=(ColumnOptions&& 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 ColumnOptions& default_instance() { + return *internal_default_instance(); + } + static inline const ColumnOptions* internal_default_instance() { + return reinterpret_cast( + &_ColumnOptions_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(ColumnOptions& a, ColumnOptions& b) { + a.Swap(&b); + } + inline void Swap(ColumnOptions* 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(ColumnOptions* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ColumnOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ColumnOptions& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ColumnOptions& from) { + ColumnOptions::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(ColumnOptions* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.ColumnOptions"; + } + protected: + explicit ColumnOptions(::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 { + kFulltextFieldNumber = 1, + }; + // .greptime.v1.FulltextOptions fulltext = 1; + bool has_fulltext() const; + private: + bool _internal_has_fulltext() const; + public: + void clear_fulltext(); + const ::greptime::v1::FulltextOptions& fulltext() const; + PROTOBUF_NODISCARD ::greptime::v1::FulltextOptions* release_fulltext(); + ::greptime::v1::FulltextOptions* mutable_fulltext(); + void set_allocated_fulltext(::greptime::v1::FulltextOptions* fulltext); + private: + const ::greptime::v1::FulltextOptions& _internal_fulltext() const; + ::greptime::v1::FulltextOptions* _internal_mutable_fulltext(); + public: + void unsafe_arena_set_allocated_fulltext( + ::greptime::v1::FulltextOptions* fulltext); + ::greptime::v1::FulltextOptions* unsafe_arena_release_fulltext(); + + // @@protoc_insertion_point(class_scope:greptime.v1.ColumnOptions) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::greptime::v1::FulltextOptions* fulltext_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; +}; +// ------------------------------------------------------------------- + +class FulltextOptions final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.FulltextOptions) */ { + public: + inline FulltextOptions() : FulltextOptions(nullptr) {} + ~FulltextOptions() override; + explicit PROTOBUF_CONSTEXPR FulltextOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FulltextOptions(const FulltextOptions& from); + FulltextOptions(FulltextOptions&& from) noexcept + : FulltextOptions() { + *this = ::std::move(from); + } + + inline FulltextOptions& operator=(const FulltextOptions& from) { + CopyFrom(from); + return *this; + } + inline FulltextOptions& operator=(FulltextOptions&& 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 FulltextOptions& default_instance() { + return *internal_default_instance(); + } + static inline const FulltextOptions* internal_default_instance() { + return reinterpret_cast( + &_FulltextOptions_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(FulltextOptions& a, FulltextOptions& b) { + a.Swap(&b); + } + inline void Swap(FulltextOptions* 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(FulltextOptions* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FulltextOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FulltextOptions& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const FulltextOptions& from) { + FulltextOptions::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(FulltextOptions* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.FulltextOptions"; + } + protected: + explicit FulltextOptions(::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 { + kAnalyzerFieldNumber = 2, + kEnableFieldNumber = 1, + kCaseSensitiveFieldNumber = 3, + }; + // string analyzer = 2; + void clear_analyzer(); + const std::string& analyzer() const; + template + void set_analyzer(ArgT0&& arg0, ArgT... args); + std::string* mutable_analyzer(); + PROTOBUF_NODISCARD std::string* release_analyzer(); + void set_allocated_analyzer(std::string* analyzer); + private: + const std::string& _internal_analyzer() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_analyzer(const std::string& value); + std::string* _internal_mutable_analyzer(); + public: + + // bool enable = 1; + void clear_enable(); + bool enable() const; + void set_enable(bool value); + private: + bool _internal_enable() const; + void _internal_set_enable(bool value); + public: + + // bool case_sensitive = 3; + void clear_case_sensitive(); + bool case_sensitive() const; + void set_case_sensitive(bool value); + private: + bool _internal_case_sensitive() const; + void _internal_set_case_sensitive(bool value); + public: + + // @@protoc_insertion_point(class_scope:greptime.v1.FulltextOptions) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr analyzer_; + bool enable_; + bool case_sensitive_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; +}; // =================================================================== @@ -1500,6 +1860,96 @@ inline void ColumnSchema::set_allocated_datatype_extension(::greptime::v1::Colum // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnSchema.datatype_extension) } +// .greptime.v1.ColumnOptions options = 5; +inline bool ColumnSchema::_internal_has_options() const { + return this != internal_default_instance() && _impl_.options_ != nullptr; +} +inline bool ColumnSchema::has_options() const { + return _internal_has_options(); +} +inline void ColumnSchema::clear_options() { + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; +} +inline const ::greptime::v1::ColumnOptions& ColumnSchema::_internal_options() const { + const ::greptime::v1::ColumnOptions* p = _impl_.options_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::_ColumnOptions_default_instance_); +} +inline const ::greptime::v1::ColumnOptions& ColumnSchema::options() const { + // @@protoc_insertion_point(field_get:greptime.v1.ColumnSchema.options) + return _internal_options(); +} +inline void ColumnSchema::unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + _impl_.options_ = options; + if (options) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnSchema.options) +} +inline ::greptime::v1::ColumnOptions* ColumnSchema::release_options() { + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = 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::ColumnOptions* ColumnSchema::unsafe_arena_release_options() { + // @@protoc_insertion_point(field_release:greptime.v1.ColumnSchema.options) + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = nullptr; + return temp; +} +inline ::greptime::v1::ColumnOptions* ColumnSchema::_internal_mutable_options() { + + if (_impl_.options_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::ColumnOptions>(GetArenaForAllocation()); + _impl_.options_ = p; + } + return _impl_.options_; +} +inline ::greptime::v1::ColumnOptions* ColumnSchema::mutable_options() { + ::greptime::v1::ColumnOptions* _msg = _internal_mutable_options(); + // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnSchema.options) + return _msg; +} +inline void ColumnSchema::set_allocated_options(::greptime::v1::ColumnOptions* options) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.options_; + } + if (options) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(options); + if (message_arena != submessage_arena) { + options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, options, submessage_arena); + } + + } else { + + } + _impl_.options_ = options; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnSchema.options) +} + // ------------------------------------------------------------------- // Row @@ -2717,6 +3167,194 @@ inline void Value::clear_has_value_data() { inline Value::ValueDataCase Value::value_data_case() const { return Value::ValueDataCase(_impl_._oneof_case_[0]); } +// ------------------------------------------------------------------- + +// ColumnOptions + +// .greptime.v1.FulltextOptions fulltext = 1; +inline bool ColumnOptions::_internal_has_fulltext() const { + return this != internal_default_instance() && _impl_.fulltext_ != nullptr; +} +inline bool ColumnOptions::has_fulltext() const { + return _internal_has_fulltext(); +} +inline void ColumnOptions::clear_fulltext() { + if (GetArenaForAllocation() == nullptr && _impl_.fulltext_ != nullptr) { + delete _impl_.fulltext_; + } + _impl_.fulltext_ = nullptr; +} +inline const ::greptime::v1::FulltextOptions& ColumnOptions::_internal_fulltext() const { + const ::greptime::v1::FulltextOptions* p = _impl_.fulltext_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::_FulltextOptions_default_instance_); +} +inline const ::greptime::v1::FulltextOptions& ColumnOptions::fulltext() const { + // @@protoc_insertion_point(field_get:greptime.v1.ColumnOptions.fulltext) + return _internal_fulltext(); +} +inline void ColumnOptions::unsafe_arena_set_allocated_fulltext( + ::greptime::v1::FulltextOptions* fulltext) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.fulltext_); + } + _impl_.fulltext_ = fulltext; + if (fulltext) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnOptions.fulltext) +} +inline ::greptime::v1::FulltextOptions* ColumnOptions::release_fulltext() { + + ::greptime::v1::FulltextOptions* temp = _impl_.fulltext_; + _impl_.fulltext_ = 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::FulltextOptions* ColumnOptions::unsafe_arena_release_fulltext() { + // @@protoc_insertion_point(field_release:greptime.v1.ColumnOptions.fulltext) + + ::greptime::v1::FulltextOptions* temp = _impl_.fulltext_; + _impl_.fulltext_ = nullptr; + return temp; +} +inline ::greptime::v1::FulltextOptions* ColumnOptions::_internal_mutable_fulltext() { + + if (_impl_.fulltext_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::FulltextOptions>(GetArenaForAllocation()); + _impl_.fulltext_ = p; + } + return _impl_.fulltext_; +} +inline ::greptime::v1::FulltextOptions* ColumnOptions::mutable_fulltext() { + ::greptime::v1::FulltextOptions* _msg = _internal_mutable_fulltext(); + // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnOptions.fulltext) + return _msg; +} +inline void ColumnOptions::set_allocated_fulltext(::greptime::v1::FulltextOptions* fulltext) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.fulltext_; + } + if (fulltext) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fulltext); + if (message_arena != submessage_arena) { + fulltext = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, fulltext, submessage_arena); + } + + } else { + + } + _impl_.fulltext_ = fulltext; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnOptions.fulltext) +} + +// ------------------------------------------------------------------- + +// FulltextOptions + +// bool enable = 1; +inline void FulltextOptions::clear_enable() { + _impl_.enable_ = false; +} +inline bool FulltextOptions::_internal_enable() const { + return _impl_.enable_; +} +inline bool FulltextOptions::enable() const { + // @@protoc_insertion_point(field_get:greptime.v1.FulltextOptions.enable) + return _internal_enable(); +} +inline void FulltextOptions::_internal_set_enable(bool value) { + + _impl_.enable_ = value; +} +inline void FulltextOptions::set_enable(bool value) { + _internal_set_enable(value); + // @@protoc_insertion_point(field_set:greptime.v1.FulltextOptions.enable) +} + +// string analyzer = 2; +inline void FulltextOptions::clear_analyzer() { + _impl_.analyzer_.ClearToEmpty(); +} +inline const std::string& FulltextOptions::analyzer() const { + // @@protoc_insertion_point(field_get:greptime.v1.FulltextOptions.analyzer) + return _internal_analyzer(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FulltextOptions::set_analyzer(ArgT0&& arg0, ArgT... args) { + + _impl_.analyzer_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:greptime.v1.FulltextOptions.analyzer) +} +inline std::string* FulltextOptions::mutable_analyzer() { + std::string* _s = _internal_mutable_analyzer(); + // @@protoc_insertion_point(field_mutable:greptime.v1.FulltextOptions.analyzer) + return _s; +} +inline const std::string& FulltextOptions::_internal_analyzer() const { + return _impl_.analyzer_.Get(); +} +inline void FulltextOptions::_internal_set_analyzer(const std::string& value) { + + _impl_.analyzer_.Set(value, GetArenaForAllocation()); +} +inline std::string* FulltextOptions::_internal_mutable_analyzer() { + + return _impl_.analyzer_.Mutable(GetArenaForAllocation()); +} +inline std::string* FulltextOptions::release_analyzer() { + // @@protoc_insertion_point(field_release:greptime.v1.FulltextOptions.analyzer) + return _impl_.analyzer_.Release(); +} +inline void FulltextOptions::set_allocated_analyzer(std::string* analyzer) { + if (analyzer != nullptr) { + + } else { + + } + _impl_.analyzer_.SetAllocated(analyzer, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.analyzer_.IsDefault()) { + _impl_.analyzer_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:greptime.v1.FulltextOptions.analyzer) +} + +// bool case_sensitive = 3; +inline void FulltextOptions::clear_case_sensitive() { + _impl_.case_sensitive_ = false; +} +inline bool FulltextOptions::_internal_case_sensitive() const { + return _impl_.case_sensitive_; +} +inline bool FulltextOptions::case_sensitive() const { + // @@protoc_insertion_point(field_get:greptime.v1.FulltextOptions.case_sensitive) + return _internal_case_sensitive(); +} +inline void FulltextOptions::_internal_set_case_sensitive(bool value) { + + _impl_.case_sensitive_ = value; +} +inline void FulltextOptions::set_case_sensitive(bool value) { + _internal_set_case_sensitive(value); + // @@protoc_insertion_point(field_set:greptime.v1.FulltextOptions.case_sensitive) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -2726,6 +3364,10 @@ inline Value::ValueDataCase Value::value_data_case() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/go/greptime/v1/row.pb.go b/go/greptime/v1/row.pb.go index 5d647e96..7eacc970 100644 --- a/go/greptime/v1/row.pb.go +++ b/go/greptime/v1/row.pb.go @@ -99,6 +99,8 @@ type ColumnSchema struct { SemanticType SemanticType `protobuf:"varint,3,opt,name=semantic_type,json=semanticType,proto3,enum=greptime.v1.SemanticType" json:"semantic_type,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,4,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` + // Additional options for the column. + Options *ColumnOptions `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"` } func (x *ColumnSchema) Reset() { @@ -161,6 +163,13 @@ func (x *ColumnSchema) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } +func (x *ColumnSchema) GetOptions() *ColumnOptions { + if x != nil { + return x.Options + } + return nil +} + type Row struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -639,6 +648,121 @@ func (*Value_IntervalMonthDayNanoValue) isValue_ValueData() {} func (*Value_Decimal128Value) isValue_ValueData() {} +type ColumnOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Options for fulltext. + Fulltext *FulltextOptions `protobuf:"bytes,1,opt,name=fulltext,proto3" json:"fulltext,omitempty"` +} + +func (x *ColumnOptions) Reset() { + *x = ColumnOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_greptime_v1_row_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ColumnOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ColumnOptions) ProtoMessage() {} + +func (x *ColumnOptions) ProtoReflect() protoreflect.Message { + mi := &file_greptime_v1_row_proto_msgTypes[4] + 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 ColumnOptions.ProtoReflect.Descriptor instead. +func (*ColumnOptions) Descriptor() ([]byte, []int) { + return file_greptime_v1_row_proto_rawDescGZIP(), []int{4} +} + +func (x *ColumnOptions) GetFulltext() *FulltextOptions { + if x != nil { + return x.Fulltext + } + return nil +} + +type FulltextOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Indicates whether full-text search is enabled for the column. + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + // The language-specific text analyzer to use for indexing and searching the text. + // Supported values are 'English' (Default) and 'Chinese'. + Analyzer string `protobuf:"bytes,2,opt,name=analyzer,proto3" json:"analyzer,omitempty"` + // Indicates whether the text should be treated as case sensitive during full-text search. + CaseSensitive bool `protobuf:"varint,3,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` +} + +func (x *FulltextOptions) Reset() { + *x = FulltextOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_greptime_v1_row_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FulltextOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FulltextOptions) ProtoMessage() {} + +func (x *FulltextOptions) ProtoReflect() protoreflect.Message { + mi := &file_greptime_v1_row_proto_msgTypes[5] + 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 FulltextOptions.ProtoReflect.Descriptor instead. +func (*FulltextOptions) Descriptor() ([]byte, []int) { + return file_greptime_v1_row_proto_rawDescGZIP(), []int{5} +} + +func (x *FulltextOptions) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +func (x *FulltextOptions) GetAnalyzer() string { + if x != nil { + return x.Analyzer + } + return "" +} + +func (x *FulltextOptions) GetCaseSensitive() bool { + if x != nil { + return x.CaseSensitive + } + return false +} + var File_greptime_v1_row_proto protoreflect.FileDescriptor var file_greptime_v1_row_proto_rawDesc = []byte{ @@ -652,7 +776,7 @@ var file_greptime_v1_row_proto_rawDesc = []byte{ 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x24, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, - 0xfd, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0xb3, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, @@ -667,95 +791,110 @@ var file_greptime_v1_row_proto_rawDesc = []byte{ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 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, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, - 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x31, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0xef, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, - 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, - 0x52, 0x07, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x31, 0x36, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, - 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x33, 0x32, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, - 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x36, 0x34, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x75, 0x38, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x75, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1d, 0x0a, 0x09, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, - 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x23, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x61, - 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, - 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, - 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, - 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x3e, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, - 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x2c, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x69, - 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, - 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, - 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, - 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, - 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x37, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, - 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x65, 0x0a, 0x1d, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, - 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, - 0x61, 0x6e, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, - 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x44, 0x0a, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, - 0x31, 0x32, 0x38, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, - 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x52, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 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, + 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x31, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xef, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1d, 0x0a, 0x09, 0x69, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, + 0x0a, 0x09, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, + 0x09, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x08, 0x69, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, + 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, + 0x52, 0x07, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x31, 0x36, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, + 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x33, 0x32, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x36, 0x34, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x75, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, + 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, + 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, + 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x16, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, + 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x65, 0x0a, 0x1d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, + 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, + 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x63, + 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x49, 0x0a, 0x0d, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x66, + 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x6c, + 0x74, 0x65, 0x78, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x08, 0x66, 0x75, 0x6c, + 0x6c, 0x74, 0x65, 0x78, 0x74, 0x22, 0x6c, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, + 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x52, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 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 ( @@ -770,32 +909,36 @@ func file_greptime_v1_row_proto_rawDescGZIP() []byte { return file_greptime_v1_row_proto_rawDescData } -var file_greptime_v1_row_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_greptime_v1_row_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_greptime_v1_row_proto_goTypes = []interface{}{ (*Rows)(nil), // 0: greptime.v1.Rows (*ColumnSchema)(nil), // 1: greptime.v1.ColumnSchema (*Row)(nil), // 2: greptime.v1.Row (*Value)(nil), // 3: greptime.v1.Value - (ColumnDataType)(0), // 4: greptime.v1.ColumnDataType - (SemanticType)(0), // 5: greptime.v1.SemanticType - (*ColumnDataTypeExtension)(nil), // 6: greptime.v1.ColumnDataTypeExtension - (*IntervalMonthDayNano)(nil), // 7: greptime.v1.IntervalMonthDayNano - (*Decimal128)(nil), // 8: greptime.v1.Decimal128 + (*ColumnOptions)(nil), // 4: greptime.v1.ColumnOptions + (*FulltextOptions)(nil), // 5: greptime.v1.FulltextOptions + (ColumnDataType)(0), // 6: greptime.v1.ColumnDataType + (SemanticType)(0), // 7: greptime.v1.SemanticType + (*ColumnDataTypeExtension)(nil), // 8: greptime.v1.ColumnDataTypeExtension + (*IntervalMonthDayNano)(nil), // 9: greptime.v1.IntervalMonthDayNano + (*Decimal128)(nil), // 10: greptime.v1.Decimal128 } var file_greptime_v1_row_proto_depIdxs = []int32{ - 1, // 0: greptime.v1.Rows.schema:type_name -> greptime.v1.ColumnSchema - 2, // 1: greptime.v1.Rows.rows:type_name -> greptime.v1.Row - 4, // 2: greptime.v1.ColumnSchema.datatype:type_name -> greptime.v1.ColumnDataType - 5, // 3: greptime.v1.ColumnSchema.semantic_type:type_name -> greptime.v1.SemanticType - 6, // 4: greptime.v1.ColumnSchema.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 3, // 5: greptime.v1.Row.values:type_name -> greptime.v1.Value - 7, // 6: greptime.v1.Value.interval_month_day_nano_value:type_name -> greptime.v1.IntervalMonthDayNano - 8, // 7: greptime.v1.Value.decimal128_value:type_name -> greptime.v1.Decimal128 - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 1, // 0: greptime.v1.Rows.schema:type_name -> greptime.v1.ColumnSchema + 2, // 1: greptime.v1.Rows.rows:type_name -> greptime.v1.Row + 6, // 2: greptime.v1.ColumnSchema.datatype:type_name -> greptime.v1.ColumnDataType + 7, // 3: greptime.v1.ColumnSchema.semantic_type:type_name -> greptime.v1.SemanticType + 8, // 4: greptime.v1.ColumnSchema.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 4, // 5: greptime.v1.ColumnSchema.options:type_name -> greptime.v1.ColumnOptions + 3, // 6: greptime.v1.Row.values:type_name -> greptime.v1.Value + 9, // 7: greptime.v1.Value.interval_month_day_nano_value:type_name -> greptime.v1.IntervalMonthDayNano + 10, // 8: greptime.v1.Value.decimal128_value:type_name -> greptime.v1.Decimal128 + 5, // 9: greptime.v1.ColumnOptions.fulltext:type_name -> greptime.v1.FulltextOptions + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_greptime_v1_row_proto_init() } @@ -853,6 +996,30 @@ func file_greptime_v1_row_proto_init() { return nil } } + file_greptime_v1_row_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ColumnOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_greptime_v1_row_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FulltextOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_greptime_v1_row_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Value_I8Value)(nil), @@ -889,7 +1056,7 @@ func file_greptime_v1_row_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_row_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/java/src/main/java/io/greptime/v1/RowData.java b/java/src/main/java/io/greptime/v1/RowData.java index e43c659b..8735fc5c 100644 --- a/java/src/main/java/io/greptime/v1/RowData.java +++ b/java/src/main/java/io/greptime/v1/RowData.java @@ -1245,6 +1245,33 @@ public interface ColumnSchemaOrBuilder extends * .greptime.v1.ColumnDataTypeExtension datatype_extension = 4; */ io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensionOrBuilder(); + + /** + *
+     * Additional options for the column.
+     * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return Whether the options field is set. + */ + boolean hasOptions(); + /** + *
+     * Additional options for the column.
+     * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return The options. + */ + io.greptime.v1.RowData.ColumnOptions getOptions(); + /** + *
+     * Additional options for the column.
+     * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + io.greptime.v1.RowData.ColumnOptionsOrBuilder getOptionsOrBuilder(); } /** * Protobuf type {@code greptime.v1.ColumnSchema} @@ -1325,6 +1352,19 @@ private ColumnSchema( break; } + case 42: { + io.greptime.v1.RowData.ColumnOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); + } + options_ = input.readMessage(io.greptime.v1.RowData.ColumnOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); + } + + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -1473,6 +1513,44 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return getDatatypeExtension(); } + public static final int OPTIONS_FIELD_NUMBER = 5; + private io.greptime.v1.RowData.ColumnOptions options_; + /** + *
+     * Additional options for the column.
+     * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return Whether the options field is set. + */ + @java.lang.Override + public boolean hasOptions() { + return options_ != null; + } + /** + *
+     * Additional options for the column.
+     * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return The options. + */ + @java.lang.Override + public io.greptime.v1.RowData.ColumnOptions getOptions() { + return options_ == null ? io.greptime.v1.RowData.ColumnOptions.getDefaultInstance() : options_; + } + /** + *
+     * Additional options for the column.
+     * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + @java.lang.Override + public io.greptime.v1.RowData.ColumnOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -1499,6 +1577,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(4, getDatatypeExtension()); } + if (options_ != null) { + output.writeMessage(5, getOptions()); + } unknownFields.writeTo(output); } @@ -1523,6 +1604,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getDatatypeExtension()); } + if (options_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getOptions()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -1547,6 +1632,11 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1568,6 +1658,10 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } + if (hasOptions()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getOptions().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1713,6 +1807,12 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; + } return this; } @@ -1747,6 +1847,11 @@ public io.greptime.v1.RowData.ColumnSchema buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); + } onBuilt(); return result; } @@ -1808,6 +1913,9 @@ public Builder mergeFrom(io.greptime.v1.RowData.ColumnSchema other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } + if (other.hasOptions()) { + mergeOptions(other.getOptions()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2175,6 +2283,161 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } return datatypeExtensionBuilder_; } + + private io.greptime.v1.RowData.ColumnOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.RowData.ColumnOptions, io.greptime.v1.RowData.ColumnOptions.Builder, io.greptime.v1.RowData.ColumnOptionsOrBuilder> optionsBuilder_; + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return Whether the options field is set. + */ + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return The options. + */ + public io.greptime.v1.RowData.ColumnOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? io.greptime.v1.RowData.ColumnOptions.getDefaultInstance() : options_; + } else { + return optionsBuilder_.getMessage(); + } + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + public Builder setOptions(io.greptime.v1.RowData.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; + onChanged(); + } else { + optionsBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + public Builder setOptions( + io.greptime.v1.RowData.ColumnOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); + onChanged(); + } else { + optionsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + public Builder mergeOptions(io.greptime.v1.RowData.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + io.greptime.v1.RowData.ColumnOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); + } else { + optionsBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); + } else { + options_ = null; + optionsBuilder_ = null; + } + + return this; + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + public io.greptime.v1.RowData.ColumnOptions.Builder getOptionsBuilder() { + + onChanged(); + return getOptionsFieldBuilder().getBuilder(); + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + public io.greptime.v1.RowData.ColumnOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + io.greptime.v1.RowData.ColumnOptions.getDefaultInstance() : options_; + } + } + /** + *
+       * Additional options for the column.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.RowData.ColumnOptions, io.greptime.v1.RowData.ColumnOptions.Builder, io.greptime.v1.RowData.ColumnOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.RowData.ColumnOptions, io.greptime.v1.RowData.ColumnOptions.Builder, io.greptime.v1.RowData.ColumnOptionsOrBuilder>( + getOptions(), + getParentForChildren(), + isClean()); + options_ = null; + } + return optionsBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -6687,98 +6950,1605 @@ public io.greptime.v1.RowData.Value getDefaultInstanceForType() { } - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Rows_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Rows_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_ColumnSchema_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_ColumnSchema_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Row_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Row_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Value_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Value_fieldAccessorTable; + public interface ColumnOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:greptime.v1.ColumnOptions) + com.google.protobuf.MessageOrBuilder { - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; + /** + *
+     * Options for fulltext.
+     * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + * @return Whether the fulltext field is set. + */ + boolean hasFulltext(); + /** + *
+     * Options for fulltext.
+     * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + * @return The fulltext. + */ + io.greptime.v1.RowData.FulltextOptions getFulltext(); + /** + *
+     * Options for fulltext.
+     * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + io.greptime.v1.RowData.FulltextOptionsOrBuilder getFulltextOrBuilder(); } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" + - "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" + - "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" + - "s\030\002 \003(\0132\020.greptime.v1.Row\"\306\001\n\014ColumnSche" + - "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" + - "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" + - "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" + - "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." + - "v1.ColumnDataTypeExtension\")\n\003Row\022\"\n\006val" + - "ues\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005Value\022" + - "\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 \001(\005H\000" + - "\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030\004 \001(\003" + - "H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value\030\006 \001(" + - "\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_value\030\010 " + - "\001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_value\030" + - "\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014binary_" + - "value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\tH\000\022\024\n" + - "\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_value\030\017 " + - "\001(\003H\000\022 \n\026timestamp_second_value\030\020 \001(\003H\000\022" + - "%\n\033timestamp_millisecond_value\030\021 \001(\003H\000\022%" + - "\n\033timestamp_microsecond_value\030\022 \001(\003H\000\022$\n" + - "\032timestamp_nanosecond_value\030\023 \001(\003H\000\022\033\n\021t" + - "ime_second_value\030\024 \001(\003H\000\022 \n\026time_millise" + - "cond_value\030\025 \001(\003H\000\022 \n\026time_microsecond_v" + - "alue\030\026 \001(\003H\000\022\037\n\025time_nanosecond_value\030\027 " + - "\001(\003H\000\022#\n\031interval_year_month_value\030\030 \001(\005" + - "H\000\022!\n\027interval_day_time_value\030\031 \001(\003H\000\022J\n" + - "\035interval_month_day_nano_value\030\032 \001(\0132!.g" + - "reptime.v1.IntervalMonthDayNanoH\000\0223\n\020dec" + - "imal128_value\030\037 \001(\0132\027.greptime.v1.Decima" + - "l128H\000B\014\n\nvalue_dataBP\n\016io.greptime.v1B\007" + - "RowDataZ5github.com/GreptimeTeam/greptim" + - "e-proto/go/greptime/v1b\006proto3" - }; - descriptor = com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - io.greptime.v1.Common.getDescriptor(), - }); - internal_static_greptime_v1_Rows_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_greptime_v1_Rows_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_Rows_descriptor, - new java.lang.String[] { "Schema", "Rows", }); - internal_static_greptime_v1_ColumnSchema_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_greptime_v1_ColumnSchema_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_ColumnSchema_descriptor, - new java.lang.String[] { "ColumnName", "Datatype", "SemanticType", "DatatypeExtension", }); - internal_static_greptime_v1_Row_descriptor = - getDescriptor().getMessageTypes().get(2); - internal_static_greptime_v1_Row_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_Row_descriptor, - new java.lang.String[] { "Values", }); - internal_static_greptime_v1_Value_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_greptime_v1_Value_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_Value_descriptor, - new java.lang.String[] { "I8Value", "I16Value", "I32Value", "I64Value", "U8Value", "U16Value", "U32Value", "U64Value", "F32Value", "F64Value", "BoolValue", "BinaryValue", "StringValue", "DateValue", "DatetimeValue", "TimestampSecondValue", "TimestampMillisecondValue", "TimestampMicrosecondValue", "TimestampNanosecondValue", "TimeSecondValue", "TimeMillisecondValue", "TimeMicrosecondValue", "TimeNanosecondValue", "IntervalYearMonthValue", "IntervalDayTimeValue", "IntervalMonthDayNanoValue", "Decimal128Value", "ValueData", }); + /** + * Protobuf type {@code greptime.v1.ColumnOptions} + */ + public static final class ColumnOptions extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:greptime.v1.ColumnOptions) + ColumnOptionsOrBuilder { + private static final long serialVersionUID = 0L; + // Use ColumnOptions.newBuilder() to construct. + private ColumnOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ColumnOptions() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ColumnOptions(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ColumnOptions( + 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.RowData.FulltextOptions.Builder subBuilder = null; + if (fulltext_ != null) { + subBuilder = fulltext_.toBuilder(); + } + fulltext_ = input.readMessage(io.greptime.v1.RowData.FulltextOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(fulltext_); + fulltext_ = 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.RowData.internal_static_greptime_v1_ColumnOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.RowData.ColumnOptions.class, io.greptime.v1.RowData.ColumnOptions.Builder.class); + } + + public static final int FULLTEXT_FIELD_NUMBER = 1; + private io.greptime.v1.RowData.FulltextOptions fulltext_; + /** + *
+     * Options for fulltext.
+     * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + * @return Whether the fulltext field is set. + */ + @java.lang.Override + public boolean hasFulltext() { + return fulltext_ != null; + } + /** + *
+     * Options for fulltext.
+     * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + * @return The fulltext. + */ + @java.lang.Override + public io.greptime.v1.RowData.FulltextOptions getFulltext() { + return fulltext_ == null ? io.greptime.v1.RowData.FulltextOptions.getDefaultInstance() : fulltext_; + } + /** + *
+     * Options for fulltext.
+     * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + @java.lang.Override + public io.greptime.v1.RowData.FulltextOptionsOrBuilder getFulltextOrBuilder() { + return getFulltext(); + } + + 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 (fulltext_ != null) { + output.writeMessage(1, getFulltext()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (fulltext_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getFulltext()); + } + 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.RowData.ColumnOptions)) { + return super.equals(obj); + } + io.greptime.v1.RowData.ColumnOptions other = (io.greptime.v1.RowData.ColumnOptions) obj; + + if (hasFulltext() != other.hasFulltext()) return false; + if (hasFulltext()) { + if (!getFulltext() + .equals(other.getFulltext())) 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 (hasFulltext()) { + hash = (37 * hash) + FULLTEXT_FIELD_NUMBER; + hash = (53 * hash) + getFulltext().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static io.greptime.v1.RowData.ColumnOptions parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.RowData.ColumnOptions parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.greptime.v1.RowData.ColumnOptions parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions 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.ColumnOptions} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:greptime.v1.ColumnOptions) + io.greptime.v1.RowData.ColumnOptionsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.RowData.ColumnOptions.class, io.greptime.v1.RowData.ColumnOptions.Builder.class); + } + + // Construct using io.greptime.v1.RowData.ColumnOptions.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 (fulltextBuilder_ == null) { + fulltext_ = null; + } else { + fulltext_ = null; + fulltextBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_descriptor; + } + + @java.lang.Override + public io.greptime.v1.RowData.ColumnOptions getDefaultInstanceForType() { + return io.greptime.v1.RowData.ColumnOptions.getDefaultInstance(); + } + + @java.lang.Override + public io.greptime.v1.RowData.ColumnOptions build() { + io.greptime.v1.RowData.ColumnOptions result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public io.greptime.v1.RowData.ColumnOptions buildPartial() { + io.greptime.v1.RowData.ColumnOptions result = new io.greptime.v1.RowData.ColumnOptions(this); + if (fulltextBuilder_ == null) { + result.fulltext_ = fulltext_; + } else { + result.fulltext_ = fulltextBuilder_.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.RowData.ColumnOptions) { + return mergeFrom((io.greptime.v1.RowData.ColumnOptions)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(io.greptime.v1.RowData.ColumnOptions other) { + if (other == io.greptime.v1.RowData.ColumnOptions.getDefaultInstance()) return this; + if (other.hasFulltext()) { + mergeFulltext(other.getFulltext()); + } + 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.RowData.ColumnOptions parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (io.greptime.v1.RowData.ColumnOptions) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private io.greptime.v1.RowData.FulltextOptions fulltext_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.RowData.FulltextOptions, io.greptime.v1.RowData.FulltextOptions.Builder, io.greptime.v1.RowData.FulltextOptionsOrBuilder> fulltextBuilder_; + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + * @return Whether the fulltext field is set. + */ + public boolean hasFulltext() { + return fulltextBuilder_ != null || fulltext_ != null; + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + * @return The fulltext. + */ + public io.greptime.v1.RowData.FulltextOptions getFulltext() { + if (fulltextBuilder_ == null) { + return fulltext_ == null ? io.greptime.v1.RowData.FulltextOptions.getDefaultInstance() : fulltext_; + } else { + return fulltextBuilder_.getMessage(); + } + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + public Builder setFulltext(io.greptime.v1.RowData.FulltextOptions value) { + if (fulltextBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fulltext_ = value; + onChanged(); + } else { + fulltextBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + public Builder setFulltext( + io.greptime.v1.RowData.FulltextOptions.Builder builderForValue) { + if (fulltextBuilder_ == null) { + fulltext_ = builderForValue.build(); + onChanged(); + } else { + fulltextBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + public Builder mergeFulltext(io.greptime.v1.RowData.FulltextOptions value) { + if (fulltextBuilder_ == null) { + if (fulltext_ != null) { + fulltext_ = + io.greptime.v1.RowData.FulltextOptions.newBuilder(fulltext_).mergeFrom(value).buildPartial(); + } else { + fulltext_ = value; + } + onChanged(); + } else { + fulltextBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + public Builder clearFulltext() { + if (fulltextBuilder_ == null) { + fulltext_ = null; + onChanged(); + } else { + fulltext_ = null; + fulltextBuilder_ = null; + } + + return this; + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + public io.greptime.v1.RowData.FulltextOptions.Builder getFulltextBuilder() { + + onChanged(); + return getFulltextFieldBuilder().getBuilder(); + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + public io.greptime.v1.RowData.FulltextOptionsOrBuilder getFulltextOrBuilder() { + if (fulltextBuilder_ != null) { + return fulltextBuilder_.getMessageOrBuilder(); + } else { + return fulltext_ == null ? + io.greptime.v1.RowData.FulltextOptions.getDefaultInstance() : fulltext_; + } + } + /** + *
+       * Options for fulltext.
+       * 
+ * + * .greptime.v1.FulltextOptions fulltext = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.RowData.FulltextOptions, io.greptime.v1.RowData.FulltextOptions.Builder, io.greptime.v1.RowData.FulltextOptionsOrBuilder> + getFulltextFieldBuilder() { + if (fulltextBuilder_ == null) { + fulltextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.RowData.FulltextOptions, io.greptime.v1.RowData.FulltextOptions.Builder, io.greptime.v1.RowData.FulltextOptionsOrBuilder>( + getFulltext(), + getParentForChildren(), + isClean()); + fulltext_ = null; + } + return fulltextBuilder_; + } + @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.ColumnOptions) + } + + // @@protoc_insertion_point(class_scope:greptime.v1.ColumnOptions) + private static final io.greptime.v1.RowData.ColumnOptions DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new io.greptime.v1.RowData.ColumnOptions(); + } + + public static io.greptime.v1.RowData.ColumnOptions getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ColumnOptions parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ColumnOptions(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.RowData.ColumnOptions getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface FulltextOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:greptime.v1.FulltextOptions) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Indicates whether full-text search is enabled for the column.
+     * 
+ * + * bool enable = 1; + * @return The enable. + */ + boolean getEnable(); + + /** + *
+     * The language-specific text analyzer to use for indexing and searching the text.
+     * Supported values are 'English' (Default) and 'Chinese'.
+     * 
+ * + * string analyzer = 2; + * @return The analyzer. + */ + java.lang.String getAnalyzer(); + /** + *
+     * The language-specific text analyzer to use for indexing and searching the text.
+     * Supported values are 'English' (Default) and 'Chinese'.
+     * 
+ * + * string analyzer = 2; + * @return The bytes for analyzer. + */ + com.google.protobuf.ByteString + getAnalyzerBytes(); + + /** + *
+     * Indicates whether the text should be treated as case sensitive during full-text search.
+     * 
+ * + * bool case_sensitive = 3; + * @return The caseSensitive. + */ + boolean getCaseSensitive(); + } + /** + * Protobuf type {@code greptime.v1.FulltextOptions} + */ + public static final class FulltextOptions extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:greptime.v1.FulltextOptions) + FulltextOptionsOrBuilder { + private static final long serialVersionUID = 0L; + // Use FulltextOptions.newBuilder() to construct. + private FulltextOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private FulltextOptions() { + analyzer_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new FulltextOptions(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private FulltextOptions( + 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: { + + enable_ = input.readBool(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + analyzer_ = s; + break; + } + case 24: { + + caseSensitive_ = input.readBool(); + 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.RowData.internal_static_greptime_v1_FulltextOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.RowData.FulltextOptions.class, io.greptime.v1.RowData.FulltextOptions.Builder.class); + } + + public static final int ENABLE_FIELD_NUMBER = 1; + private boolean enable_; + /** + *
+     * Indicates whether full-text search is enabled for the column.
+     * 
+ * + * bool enable = 1; + * @return The enable. + */ + @java.lang.Override + public boolean getEnable() { + return enable_; + } + + public static final int ANALYZER_FIELD_NUMBER = 2; + private volatile java.lang.Object analyzer_; + /** + *
+     * The language-specific text analyzer to use for indexing and searching the text.
+     * Supported values are 'English' (Default) and 'Chinese'.
+     * 
+ * + * string analyzer = 2; + * @return The analyzer. + */ + @java.lang.Override + public java.lang.String getAnalyzer() { + java.lang.Object ref = analyzer_; + 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(); + analyzer_ = s; + return s; + } + } + /** + *
+     * The language-specific text analyzer to use for indexing and searching the text.
+     * Supported values are 'English' (Default) and 'Chinese'.
+     * 
+ * + * string analyzer = 2; + * @return The bytes for analyzer. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAnalyzerBytes() { + java.lang.Object ref = analyzer_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + analyzer_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CASE_SENSITIVE_FIELD_NUMBER = 3; + private boolean caseSensitive_; + /** + *
+     * Indicates whether the text should be treated as case sensitive during full-text search.
+     * 
+ * + * bool case_sensitive = 3; + * @return The caseSensitive. + */ + @java.lang.Override + public boolean getCaseSensitive() { + return caseSensitive_; + } + + 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 (enable_ != false) { + output.writeBool(1, enable_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(analyzer_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, analyzer_); + } + if (caseSensitive_ != false) { + output.writeBool(3, caseSensitive_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (enable_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(1, enable_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(analyzer_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, analyzer_); + } + if (caseSensitive_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, caseSensitive_); + } + 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.RowData.FulltextOptions)) { + return super.equals(obj); + } + io.greptime.v1.RowData.FulltextOptions other = (io.greptime.v1.RowData.FulltextOptions) obj; + + if (getEnable() + != other.getEnable()) return false; + if (!getAnalyzer() + .equals(other.getAnalyzer())) return false; + if (getCaseSensitive() + != other.getCaseSensitive()) 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) + ENABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getEnable()); + hash = (37 * hash) + ANALYZER_FIELD_NUMBER; + hash = (53 * hash) + getAnalyzer().hashCode(); + hash = (37 * hash) + CASE_SENSITIVE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getCaseSensitive()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static io.greptime.v1.RowData.FulltextOptions parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.RowData.FulltextOptions parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.greptime.v1.RowData.FulltextOptions parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions 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.FulltextOptions} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:greptime.v1.FulltextOptions) + io.greptime.v1.RowData.FulltextOptionsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.RowData.FulltextOptions.class, io.greptime.v1.RowData.FulltextOptions.Builder.class); + } + + // Construct using io.greptime.v1.RowData.FulltextOptions.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(); + enable_ = false; + + analyzer_ = ""; + + caseSensitive_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_descriptor; + } + + @java.lang.Override + public io.greptime.v1.RowData.FulltextOptions getDefaultInstanceForType() { + return io.greptime.v1.RowData.FulltextOptions.getDefaultInstance(); + } + + @java.lang.Override + public io.greptime.v1.RowData.FulltextOptions build() { + io.greptime.v1.RowData.FulltextOptions result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public io.greptime.v1.RowData.FulltextOptions buildPartial() { + io.greptime.v1.RowData.FulltextOptions result = new io.greptime.v1.RowData.FulltextOptions(this); + result.enable_ = enable_; + result.analyzer_ = analyzer_; + result.caseSensitive_ = caseSensitive_; + 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.RowData.FulltextOptions) { + return mergeFrom((io.greptime.v1.RowData.FulltextOptions)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(io.greptime.v1.RowData.FulltextOptions other) { + if (other == io.greptime.v1.RowData.FulltextOptions.getDefaultInstance()) return this; + if (other.getEnable() != false) { + setEnable(other.getEnable()); + } + if (!other.getAnalyzer().isEmpty()) { + analyzer_ = other.analyzer_; + onChanged(); + } + if (other.getCaseSensitive() != false) { + setCaseSensitive(other.getCaseSensitive()); + } + 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.RowData.FulltextOptions parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (io.greptime.v1.RowData.FulltextOptions) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private boolean enable_ ; + /** + *
+       * Indicates whether full-text search is enabled for the column.
+       * 
+ * + * bool enable = 1; + * @return The enable. + */ + @java.lang.Override + public boolean getEnable() { + return enable_; + } + /** + *
+       * Indicates whether full-text search is enabled for the column.
+       * 
+ * + * bool enable = 1; + * @param value The enable to set. + * @return This builder for chaining. + */ + public Builder setEnable(boolean value) { + + enable_ = value; + onChanged(); + return this; + } + /** + *
+       * Indicates whether full-text search is enabled for the column.
+       * 
+ * + * bool enable = 1; + * @return This builder for chaining. + */ + public Builder clearEnable() { + + enable_ = false; + onChanged(); + return this; + } + + private java.lang.Object analyzer_ = ""; + /** + *
+       * The language-specific text analyzer to use for indexing and searching the text.
+       * Supported values are 'English' (Default) and 'Chinese'.
+       * 
+ * + * string analyzer = 2; + * @return The analyzer. + */ + public java.lang.String getAnalyzer() { + java.lang.Object ref = analyzer_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + analyzer_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The language-specific text analyzer to use for indexing and searching the text.
+       * Supported values are 'English' (Default) and 'Chinese'.
+       * 
+ * + * string analyzer = 2; + * @return The bytes for analyzer. + */ + public com.google.protobuf.ByteString + getAnalyzerBytes() { + java.lang.Object ref = analyzer_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + analyzer_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The language-specific text analyzer to use for indexing and searching the text.
+       * Supported values are 'English' (Default) and 'Chinese'.
+       * 
+ * + * string analyzer = 2; + * @param value The analyzer to set. + * @return This builder for chaining. + */ + public Builder setAnalyzer( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + analyzer_ = value; + onChanged(); + return this; + } + /** + *
+       * The language-specific text analyzer to use for indexing and searching the text.
+       * Supported values are 'English' (Default) and 'Chinese'.
+       * 
+ * + * string analyzer = 2; + * @return This builder for chaining. + */ + public Builder clearAnalyzer() { + + analyzer_ = getDefaultInstance().getAnalyzer(); + onChanged(); + return this; + } + /** + *
+       * The language-specific text analyzer to use for indexing and searching the text.
+       * Supported values are 'English' (Default) and 'Chinese'.
+       * 
+ * + * string analyzer = 2; + * @param value The bytes for analyzer to set. + * @return This builder for chaining. + */ + public Builder setAnalyzerBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + analyzer_ = value; + onChanged(); + return this; + } + + private boolean caseSensitive_ ; + /** + *
+       * Indicates whether the text should be treated as case sensitive during full-text search.
+       * 
+ * + * bool case_sensitive = 3; + * @return The caseSensitive. + */ + @java.lang.Override + public boolean getCaseSensitive() { + return caseSensitive_; + } + /** + *
+       * Indicates whether the text should be treated as case sensitive during full-text search.
+       * 
+ * + * bool case_sensitive = 3; + * @param value The caseSensitive to set. + * @return This builder for chaining. + */ + public Builder setCaseSensitive(boolean value) { + + caseSensitive_ = value; + onChanged(); + return this; + } + /** + *
+       * Indicates whether the text should be treated as case sensitive during full-text search.
+       * 
+ * + * bool case_sensitive = 3; + * @return This builder for chaining. + */ + public Builder clearCaseSensitive() { + + caseSensitive_ = false; + 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.FulltextOptions) + } + + // @@protoc_insertion_point(class_scope:greptime.v1.FulltextOptions) + private static final io.greptime.v1.RowData.FulltextOptions DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new io.greptime.v1.RowData.FulltextOptions(); + } + + public static io.greptime.v1.RowData.FulltextOptions getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FulltextOptions parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new FulltextOptions(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.RowData.FulltextOptions getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Rows_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Rows_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnSchema_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnSchema_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Row_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Row_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Value_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Value_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnOptions_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnOptions_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_FulltextOptions_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_FulltextOptions_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" + + "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" + + "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" + + "s\030\002 \003(\0132\020.greptime.v1.Row\"\363\001\n\014ColumnSche" + + "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" + + "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" + + "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" + + "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." + + "v1.ColumnDataTypeExtension\022+\n\007options\030\005 " + + "\001(\0132\032.greptime.v1.ColumnOptions\")\n\003Row\022\"" + + "\n\006values\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005V" + + "alue\022\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 " + + "\001(\005H\000\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030" + + "\004 \001(\003H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value" + + "\030\006 \001(\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_val" + + "ue\030\010 \001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_v" + + "alue\030\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014bi" + + "nary_value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\t" + + "H\000\022\024\n\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_val" + + "ue\030\017 \001(\003H\000\022 \n\026timestamp_second_value\030\020 \001" + + "(\003H\000\022%\n\033timestamp_millisecond_value\030\021 \001(" + + "\003H\000\022%\n\033timestamp_microsecond_value\030\022 \001(\003" + + "H\000\022$\n\032timestamp_nanosecond_value\030\023 \001(\003H\000" + + "\022\033\n\021time_second_value\030\024 \001(\003H\000\022 \n\026time_mi" + + "llisecond_value\030\025 \001(\003H\000\022 \n\026time_microsec" + + "ond_value\030\026 \001(\003H\000\022\037\n\025time_nanosecond_val" + + "ue\030\027 \001(\003H\000\022#\n\031interval_year_month_value\030" + + "\030 \001(\005H\000\022!\n\027interval_day_time_value\030\031 \001(\003" + + "H\000\022J\n\035interval_month_day_nano_value\030\032 \001(" + + "\0132!.greptime.v1.IntervalMonthDayNanoH\000\0223" + + "\n\020decimal128_value\030\037 \001(\0132\027.greptime.v1.D" + + "ecimal128H\000B\014\n\nvalue_data\"?\n\rColumnOptio" + + "ns\022.\n\010fulltext\030\001 \001(\0132\034.greptime.v1.Fullt" + + "extOptions\"K\n\017FulltextOptions\022\016\n\006enable\030" + + "\001 \001(\010\022\020\n\010analyzer\030\002 \001(\t\022\026\n\016case_sensitiv" + + "e\030\003 \001(\010BP\n\016io.greptime.v1B\007RowDataZ5gith" + + "ub.com/GreptimeTeam/greptime-proto/go/gr" + + "eptime/v1b\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + io.greptime.v1.Common.getDescriptor(), + }); + internal_static_greptime_v1_Rows_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_greptime_v1_Rows_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_Rows_descriptor, + new java.lang.String[] { "Schema", "Rows", }); + internal_static_greptime_v1_ColumnSchema_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_greptime_v1_ColumnSchema_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnSchema_descriptor, + new java.lang.String[] { "ColumnName", "Datatype", "SemanticType", "DatatypeExtension", "Options", }); + internal_static_greptime_v1_Row_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_greptime_v1_Row_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_Row_descriptor, + new java.lang.String[] { "Values", }); + internal_static_greptime_v1_Value_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_greptime_v1_Value_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_Value_descriptor, + new java.lang.String[] { "I8Value", "I16Value", "I32Value", "I64Value", "U8Value", "U16Value", "U32Value", "U64Value", "F32Value", "F64Value", "BoolValue", "BinaryValue", "StringValue", "DateValue", "DatetimeValue", "TimestampSecondValue", "TimestampMillisecondValue", "TimestampMicrosecondValue", "TimestampNanosecondValue", "TimeSecondValue", "TimeMillisecondValue", "TimeMicrosecondValue", "TimeNanosecondValue", "IntervalYearMonthValue", "IntervalDayTimeValue", "IntervalMonthDayNanoValue", "Decimal128Value", "ValueData", }); + internal_static_greptime_v1_ColumnOptions_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_greptime_v1_ColumnOptions_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnOptions_descriptor, + new java.lang.String[] { "Fulltext", }); + internal_static_greptime_v1_FulltextOptions_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_greptime_v1_FulltextOptions_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_FulltextOptions_descriptor, + new java.lang.String[] { "Enable", "Analyzer", "CaseSensitive", }); io.greptime.v1.Common.getDescriptor(); } diff --git a/proto/greptime/v1/row.proto b/proto/greptime/v1/row.proto index f0fc5a75..4026d6fd 100644 --- a/proto/greptime/v1/row.proto +++ b/proto/greptime/v1/row.proto @@ -31,8 +31,12 @@ message ColumnSchema { string column_name = 1; ColumnDataType datatype = 2; SemanticType semantic_type = 3; + // Extension for ColumnDataType. ColumnDataTypeExtension datatype_extension = 4; + + // Additional options for the column. + ColumnOptions options = 5; } message Row { repeated Value values = 1; } @@ -72,3 +76,20 @@ message Value { Decimal128 decimal128_value = 31; } } + +message ColumnOptions { + // Options for fulltext. + FulltextOptions fulltext = 1; +} + +message FulltextOptions { + // Indicates whether full-text search is enabled for the column. + bool enable = 1; + + // The language-specific text analyzer to use for indexing and searching the text. + // Supported values are 'English' (Default) and 'Chinese'. + string analyzer = 2; + + // Indicates whether the text should be treated as case sensitive during full-text search. + bool case_sensitive = 3; +} From 885c151efb6ef576ab3b4daad15043a47e7344ff Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Mon, 24 Jun 2024 07:08:02 +0000 Subject: [PATCH 2/6] feat: use string instead Signed-off-by: Zhenchi --- c++/greptime/v1/row.pb.cc | 732 ++---- c++/greptime/v1/row.pb.h | 718 +----- go/greptime/v1/row.pb.go | 404 +-- .../src/main/java/io/greptime/v1/RowData.java | 2231 ++++------------- proto/greptime/v1/row.proto | 34 +- 5 files changed, 908 insertions(+), 3211 deletions(-) diff --git a/c++/greptime/v1/row.pb.cc b/c++/greptime/v1/row.pb.cc index bc23afe5..f9e3a568 100644 --- a/c++/greptime/v1/row.pb.cc +++ b/c++/greptime/v1/row.pb.cc @@ -36,11 +36,22 @@ struct RowsDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowsDefaultTypeInternal _Rows_default_instance_; +PROTOBUF_CONSTEXPR ColumnSchema_OptionsEntry_DoNotUse::ColumnSchema_OptionsEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + ColumnSchema_OptionsEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnSchema_OptionsEntry_DoNotUse_default_instance_; PROTOBUF_CONSTEXPR ColumnSchema::ColumnSchema( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.datatype_extension_)*/nullptr - , /*decltype(_impl_.options_)*/nullptr , /*decltype(_impl_.datatype_)*/0 , /*decltype(_impl_.semantic_type_)*/0 , /*decltype(_impl_._cached_size_)*/{}} {} @@ -80,37 +91,9 @@ struct ValueDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueDefaultTypeInternal _Value_default_instance_; -PROTOBUF_CONSTEXPR ColumnOptions::ColumnOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.fulltext_)*/nullptr - , /*decltype(_impl_._cached_size_)*/{}} {} -struct ColumnOptionsDefaultTypeInternal { - PROTOBUF_CONSTEXPR ColumnOptionsDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~ColumnOptionsDefaultTypeInternal() {} - union { - ColumnOptions _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnOptionsDefaultTypeInternal _ColumnOptions_default_instance_; -PROTOBUF_CONSTEXPR FulltextOptions::FulltextOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.analyzer_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.enable_)*/false - , /*decltype(_impl_.case_sensitive_)*/false - , /*decltype(_impl_._cached_size_)*/{}} {} -struct FulltextOptionsDefaultTypeInternal { - PROTOBUF_CONSTEXPR FulltextOptionsDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~FulltextOptionsDefaultTypeInternal() {} - union { - FulltextOptions _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FulltextOptionsDefaultTypeInternal _FulltextOptions_default_instance_; } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2frow_2eproto[6]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2frow_2eproto[5]; static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2frow_2eproto = nullptr; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2frow_2eproto = nullptr; @@ -123,6 +106,16 @@ const uint32_t TableStruct_greptime_2fv1_2frow_2eproto::offsets[] PROTOBUF_SECTI ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::greptime::v1::Rows, _impl_.schema_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Rows, _impl_.rows_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, value_), + 0, + 1, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema, _internal_metadata_), ~0u, // no _extensions_ @@ -175,89 +168,69 @@ const uint32_t TableStruct_greptime_2fv1_2frow_2eproto::offsets[] PROTOBUF_SECTI ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::greptime::v1::Value, _impl_.value_data_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions, _impl_.fulltext_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _impl_.enable_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _impl_.analyzer_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::FulltextOptions, _impl_.case_sensitive_), }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::greptime::v1::Rows)}, - { 8, -1, -1, sizeof(::greptime::v1::ColumnSchema)}, - { 19, -1, -1, sizeof(::greptime::v1::Row)}, - { 26, -1, -1, sizeof(::greptime::v1::Value)}, - { 60, -1, -1, sizeof(::greptime::v1::ColumnOptions)}, - { 67, -1, -1, sizeof(::greptime::v1::FulltextOptions)}, + { 8, 16, -1, sizeof(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse)}, + { 18, -1, -1, sizeof(::greptime::v1::ColumnSchema)}, + { 29, -1, -1, sizeof(::greptime::v1::Row)}, + { 36, -1, -1, sizeof(::greptime::v1::Value)}, }; static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_Rows_default_instance_._instance, + &::greptime::v1::_ColumnSchema_OptionsEntry_DoNotUse_default_instance_._instance, &::greptime::v1::_ColumnSchema_default_instance_._instance, &::greptime::v1::_Row_default_instance_._instance, &::greptime::v1::_Value_default_instance_._instance, - &::greptime::v1::_ColumnOptions_default_instance_._instance, - &::greptime::v1::_FulltextOptions_default_instance_._instance, }; const char descriptor_table_protodef_greptime_2fv1_2frow_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" - "s\030\002 \003(\0132\020.greptime.v1.Row\"\363\001\n\014ColumnSche" + "s\030\002 \003(\0132\020.greptime.v1.Row\"\257\002\n\014ColumnSche" "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." - "v1.ColumnDataTypeExtension\022+\n\007options\030\005 " - "\001(\0132\032.greptime.v1.ColumnOptions\")\n\003Row\022\"" - "\n\006values\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005V" - "alue\022\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 " - "\001(\005H\000\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030" - "\004 \001(\003H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value" - "\030\006 \001(\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_val" - "ue\030\010 \001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_v" - "alue\030\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014bi" - "nary_value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\t" - "H\000\022\024\n\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_val" - "ue\030\017 \001(\003H\000\022 \n\026timestamp_second_value\030\020 \001" - "(\003H\000\022%\n\033timestamp_millisecond_value\030\021 \001(" - "\003H\000\022%\n\033timestamp_microsecond_value\030\022 \001(\003" - "H\000\022$\n\032timestamp_nanosecond_value\030\023 \001(\003H\000" - "\022\033\n\021time_second_value\030\024 \001(\003H\000\022 \n\026time_mi" - "llisecond_value\030\025 \001(\003H\000\022 \n\026time_microsec" - "ond_value\030\026 \001(\003H\000\022\037\n\025time_nanosecond_val" - "ue\030\027 \001(\003H\000\022#\n\031interval_year_month_value\030" - "\030 \001(\005H\000\022!\n\027interval_day_time_value\030\031 \001(\003" - "H\000\022J\n\035interval_month_day_nano_value\030\032 \001(" - "\0132!.greptime.v1.IntervalMonthDayNanoH\000\0223" - "\n\020decimal128_value\030\037 \001(\0132\027.greptime.v1.D" - "ecimal128H\000B\014\n\nvalue_data\"\?\n\rColumnOptio" - "ns\022.\n\010fulltext\030\001 \001(\0132\034.greptime.v1.Fullt" - "extOptions\"K\n\017FulltextOptions\022\016\n\006enable\030" - "\001 \001(\010\022\020\n\010analyzer\030\002 \001(\t\022\026\n\016case_sensitiv" - "e\030\003 \001(\010BP\n\016io.greptime.v1B\007RowDataZ5gith" - "ub.com/GreptimeTeam/greptime-proto/go/gr" - "eptime/v1b\006proto3" + "v1.ColumnDataTypeExtension\0227\n\007options\030\005 " + "\003(\0132&.greptime.v1.ColumnSchema.OptionsEn" + "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + "e\030\002 \001(\t:\0028\001\")\n\003Row\022\"\n\006values\030\001 \003(\0132\022.gre" + "ptime.v1.Value\"\274\006\n\005Value\022\022\n\010i8_value\030\001 \001" + "(\005H\000\022\023\n\ti16_value\030\002 \001(\005H\000\022\023\n\ti32_value\030\003" + " \001(\005H\000\022\023\n\ti64_value\030\004 \001(\003H\000\022\022\n\010u8_value\030" + "\005 \001(\rH\000\022\023\n\tu16_value\030\006 \001(\rH\000\022\023\n\tu32_valu" + "e\030\007 \001(\rH\000\022\023\n\tu64_value\030\010 \001(\004H\000\022\023\n\tf32_va" + "lue\030\t \001(\002H\000\022\023\n\tf64_value\030\n \001(\001H\000\022\024\n\nbool" + "_value\030\013 \001(\010H\000\022\026\n\014binary_value\030\014 \001(\014H\000\022\026" + "\n\014string_value\030\r \001(\tH\000\022\024\n\ndate_value\030\016 \001" + "(\005H\000\022\030\n\016datetime_value\030\017 \001(\003H\000\022 \n\026timest" + "amp_second_value\030\020 \001(\003H\000\022%\n\033timestamp_mi" + "llisecond_value\030\021 \001(\003H\000\022%\n\033timestamp_mic" + "rosecond_value\030\022 \001(\003H\000\022$\n\032timestamp_nano" + "second_value\030\023 \001(\003H\000\022\033\n\021time_second_valu" + "e\030\024 \001(\003H\000\022 \n\026time_millisecond_value\030\025 \001(" + "\003H\000\022 \n\026time_microsecond_value\030\026 \001(\003H\000\022\037\n" + "\025time_nanosecond_value\030\027 \001(\003H\000\022#\n\031interv" + "al_year_month_value\030\030 \001(\005H\000\022!\n\027interval_" + "day_time_value\030\031 \001(\003H\000\022J\n\035interval_month" + "_day_nano_value\030\032 \001(\0132!.greptime.v1.Inte" + "rvalMonthDayNanoH\000\0223\n\020decimal128_value\030\037" + " \001(\0132\027.greptime.v1.Decimal128H\000B\014\n\nvalue" + "_dataBP\n\016io.greptime.v1B\007RowDataZ5github" + ".com/GreptimeTeam/greptime-proto/go/grep" + "time/v1b\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2frow_2eproto_deps[1] = { &::descriptor_table_greptime_2fv1_2fcommon_2eproto, }; static ::_pbi::once_flag descriptor_table_greptime_2fv1_2frow_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2frow_2eproto = { - false, false, 1497, descriptor_table_protodef_greptime_2fv1_2frow_2eproto, + false, false, 1415, descriptor_table_protodef_greptime_2fv1_2frow_2eproto, "greptime/v1/row.proto", - &descriptor_table_greptime_2fv1_2frow_2eproto_once, descriptor_table_greptime_2fv1_2frow_2eproto_deps, 1, 6, + &descriptor_table_greptime_2fv1_2frow_2eproto_once, descriptor_table_greptime_2fv1_2frow_2eproto_deps, 1, 5, schemas, file_default_instances, TableStruct_greptime_2fv1_2frow_2eproto::offsets, file_level_metadata_greptime_2fv1_2frow_2eproto, file_level_enum_descriptors_greptime_2fv1_2frow_2eproto, file_level_service_descriptors_greptime_2fv1_2frow_2eproto, @@ -492,20 +465,29 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Rows::GetMetadata() const { // =================================================================== +ColumnSchema_OptionsEntry_DoNotUse::ColumnSchema_OptionsEntry_DoNotUse() {} +ColumnSchema_OptionsEntry_DoNotUse::ColumnSchema_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void ColumnSchema_OptionsEntry_DoNotUse::MergeFrom(const ColumnSchema_OptionsEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata ColumnSchema_OptionsEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, + file_level_metadata_greptime_2fv1_2frow_2eproto[1]); +} + +// =================================================================== + class ColumnSchema::_Internal { public: static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const ColumnSchema* msg); - static const ::greptime::v1::ColumnOptions& options(const ColumnSchema* msg); }; const ::greptime::v1::ColumnDataTypeExtension& ColumnSchema::_Internal::datatype_extension(const ColumnSchema* msg) { return *msg->_impl_.datatype_extension_; } -const ::greptime::v1::ColumnOptions& -ColumnSchema::_Internal::options(const ColumnSchema* msg) { - return *msg->_impl_.options_; -} void ColumnSchema::clear_datatype_extension() { if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; @@ -516,20 +498,24 @@ ColumnSchema::ColumnSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); + if (arena != nullptr && !is_message_owned) { + arena->OwnCustomDestructor(this, &ColumnSchema::ArenaDtor); + } // @@protoc_insertion_point(arena_constructor:greptime.v1.ColumnSchema) } ColumnSchema::ColumnSchema(const ColumnSchema& from) : ::PROTOBUF_NAMESPACE_ID::Message() { ColumnSchema* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.column_name_){} + /*decltype(_impl_.options_)*/{} + , decltype(_impl_.column_name_){} , decltype(_impl_.datatype_extension_){nullptr} - , decltype(_impl_.options_){nullptr} , decltype(_impl_.datatype_){} , decltype(_impl_.semantic_type_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.options_.MergeFrom(from._impl_.options_); _impl_.column_name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.column_name_.Set("", GetArenaForAllocation()); @@ -541,9 +527,6 @@ ColumnSchema::ColumnSchema(const ColumnSchema& from) if (from._internal_has_datatype_extension()) { _this->_impl_.datatype_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.datatype_extension_); } - if (from._internal_has_options()) { - _this->_impl_.options_ = new ::greptime::v1::ColumnOptions(*from._impl_.options_); - } ::memcpy(&_impl_.datatype_, &from._impl_.datatype_, static_cast(reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); @@ -555,9 +538,9 @@ inline void ColumnSchema::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.column_name_){} + /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.column_name_){} , decltype(_impl_.datatype_extension_){nullptr} - , decltype(_impl_.options_){nullptr} , decltype(_impl_.datatype_){0} , decltype(_impl_.semantic_type_){0} , /*decltype(_impl_._cached_size_)*/{} @@ -572,6 +555,7 @@ ColumnSchema::~ColumnSchema() { // @@protoc_insertion_point(destructor:greptime.v1.ColumnSchema) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; + ArenaDtor(this); return; } SharedDtor(); @@ -579,11 +563,16 @@ ColumnSchema::~ColumnSchema() { inline void ColumnSchema::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.options_.Destruct(); + _impl_.options_.~MapField(); _impl_.column_name_.Destroy(); if (this != internal_default_instance()) delete _impl_.datatype_extension_; - if (this != internal_default_instance()) delete _impl_.options_; } +void ColumnSchema::ArenaDtor(void* object) { + ColumnSchema* _this = reinterpret_cast< ColumnSchema* >(object); + _this->_impl_.options_.Destruct(); +} void ColumnSchema::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } @@ -594,15 +583,12 @@ void ColumnSchema::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + _impl_.options_.Clear(); _impl_.column_name_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; - if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { - delete _impl_.options_; - } - _impl_.options_ = nullptr; ::memset(&_impl_.datatype_, 0, static_cast( reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); @@ -651,11 +637,16 @@ const char* ColumnSchema::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; - // .greptime.v1.ColumnOptions options = 5; + // map options = 5; case 5: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - ptr = ctx->ParseMessage(_internal_mutable_options(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.options_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr)); } else goto handle_unusual; continue; @@ -719,11 +710,34 @@ uint8_t* ColumnSchema::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } - // .greptime.v1.ColumnOptions options = 5; - if (this->_internal_has_options()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(5, _Internal::options(this), - _Internal::options(this).GetCachedSize(), target, stream); + // map options = 5; + if (!this->_internal_options().empty()) { + using MapType = ::_pb::Map; + using WireHelper = ColumnSchema_OptionsEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_options(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.ColumnSchema.OptionsEntry.key"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.second.data(), static_cast(entry.second.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.ColumnSchema.OptionsEntry.value"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(5, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(5, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -742,6 +756,15 @@ size_t ColumnSchema::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // map options = 5; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_options().begin(); + it != this->_internal_options().end(); ++it) { + total_size += ColumnSchema_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + // string column_name = 1; if (!this->_internal_column_name().empty()) { total_size += 1 + @@ -756,13 +779,6 @@ size_t ColumnSchema::ByteSizeLong() const { *_impl_.datatype_extension_); } - // .greptime.v1.ColumnOptions options = 5; - if (this->_internal_has_options()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.options_); - } - // .greptime.v1.ColumnDataType datatype = 2; if (this->_internal_datatype() != 0) { total_size += 1 + @@ -793,6 +809,7 @@ void ColumnSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P uint32_t cached_has_bits = 0; (void) cached_has_bits; + _this->_impl_.options_.MergeFrom(from._impl_.options_); if (!from._internal_column_name().empty()) { _this->_internal_set_column_name(from._internal_column_name()); } @@ -800,10 +817,6 @@ void ColumnSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P _this->_internal_mutable_datatype_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom( from._internal_datatype_extension()); } - if (from._internal_has_options()) { - _this->_internal_mutable_options()->::greptime::v1::ColumnOptions::MergeFrom( - from._internal_options()); - } if (from._internal_datatype() != 0) { _this->_internal_set_datatype(from._internal_datatype()); } @@ -829,6 +842,7 @@ void ColumnSchema::InternalSwap(ColumnSchema* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.options_.InternalSwap(&other->_impl_.options_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.column_name_, lhs_arena, &other->_impl_.column_name_, rhs_arena @@ -844,7 +858,7 @@ void ColumnSchema::InternalSwap(ColumnSchema* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ColumnSchema::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[1]); + file_level_metadata_greptime_2fv1_2frow_2eproto[2]); } // =================================================================== @@ -1029,7 +1043,7 @@ void Row::InternalSwap(Row* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Row::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[2]); + file_level_metadata_greptime_2fv1_2frow_2eproto[3]); } // =================================================================== @@ -2156,467 +2170,11 @@ void Value::InternalSwap(Value* other) { } ::PROTOBUF_NAMESPACE_ID::Metadata Value::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[3]); -} - -// =================================================================== - -class ColumnOptions::_Internal { - public: - static const ::greptime::v1::FulltextOptions& fulltext(const ColumnOptions* msg); -}; - -const ::greptime::v1::FulltextOptions& -ColumnOptions::_Internal::fulltext(const ColumnOptions* msg) { - return *msg->_impl_.fulltext_; -} -ColumnOptions::ColumnOptions(::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.ColumnOptions) -} -ColumnOptions::ColumnOptions(const ColumnOptions& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - ColumnOptions* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_.fulltext_){nullptr} - , /*decltype(_impl_._cached_size_)*/{}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_fulltext()) { - _this->_impl_.fulltext_ = new ::greptime::v1::FulltextOptions(*from._impl_.fulltext_); - } - // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnOptions) -} - -inline void ColumnOptions::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_.fulltext_){nullptr} - , /*decltype(_impl_._cached_size_)*/{} - }; -} - -ColumnOptions::~ColumnOptions() { - // @@protoc_insertion_point(destructor:greptime.v1.ColumnOptions) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void ColumnOptions::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete _impl_.fulltext_; -} - -void ColumnOptions::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void ColumnOptions::Clear() { -// @@protoc_insertion_point(message_clear_start:greptime.v1.ColumnOptions) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - if (GetArenaForAllocation() == nullptr && _impl_.fulltext_ != nullptr) { - delete _impl_.fulltext_; - } - _impl_.fulltext_ = nullptr; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* ColumnOptions::_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.FulltextOptions fulltext = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_fulltext(), 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* ColumnOptions::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ColumnOptions) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // .greptime.v1.FulltextOptions fulltext = 1; - if (this->_internal_has_fulltext()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::fulltext(this), - _Internal::fulltext(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.ColumnOptions) - return target; -} - -size_t ColumnOptions::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ColumnOptions) - 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.FulltextOptions fulltext = 1; - if (this->_internal_has_fulltext()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *_impl_.fulltext_); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnOptions::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - ColumnOptions::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnOptions::GetClassData() const { return &_class_data_; } - - -void ColumnOptions::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.ColumnOptions) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_fulltext()) { - _this->_internal_mutable_fulltext()->::greptime::v1::FulltextOptions::MergeFrom( - from._internal_fulltext()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void ColumnOptions::CopyFrom(const ColumnOptions& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.ColumnOptions) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool ColumnOptions::IsInitialized() const { - return true; -} - -void ColumnOptions::InternalSwap(ColumnOptions* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_.fulltext_, other->_impl_.fulltext_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata ColumnOptions::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, file_level_metadata_greptime_2fv1_2frow_2eproto[4]); } -// =================================================================== - -class FulltextOptions::_Internal { - public: -}; - -FulltextOptions::FulltextOptions(::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.FulltextOptions) -} -FulltextOptions::FulltextOptions(const FulltextOptions& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - FulltextOptions* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_.analyzer_){} - , decltype(_impl_.enable_){} - , decltype(_impl_.case_sensitive_){} - , /*decltype(_impl_._cached_size_)*/{}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.analyzer_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.analyzer_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_analyzer().empty()) { - _this->_impl_.analyzer_.Set(from._internal_analyzer(), - _this->GetArenaForAllocation()); - } - ::memcpy(&_impl_.enable_, &from._impl_.enable_, - static_cast(reinterpret_cast(&_impl_.case_sensitive_) - - reinterpret_cast(&_impl_.enable_)) + sizeof(_impl_.case_sensitive_)); - // @@protoc_insertion_point(copy_constructor:greptime.v1.FulltextOptions) -} - -inline void FulltextOptions::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_.analyzer_){} - , decltype(_impl_.enable_){false} - , decltype(_impl_.case_sensitive_){false} - , /*decltype(_impl_._cached_size_)*/{} - }; - _impl_.analyzer_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.analyzer_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -} - -FulltextOptions::~FulltextOptions() { - // @@protoc_insertion_point(destructor:greptime.v1.FulltextOptions) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void FulltextOptions::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.analyzer_.Destroy(); -} - -void FulltextOptions::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void FulltextOptions::Clear() { -// @@protoc_insertion_point(message_clear_start:greptime.v1.FulltextOptions) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.analyzer_.ClearToEmpty(); - ::memset(&_impl_.enable_, 0, static_cast( - reinterpret_cast(&_impl_.case_sensitive_) - - reinterpret_cast(&_impl_.enable_)) + sizeof(_impl_.case_sensitive_)); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* FulltextOptions::_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) { - // bool enable = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - _impl_.enable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string analyzer = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_analyzer(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.FulltextOptions.analyzer")); - } else - goto handle_unusual; - continue; - // bool case_sensitive = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - _impl_.case_sensitive_ = ::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* FulltextOptions::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.FulltextOptions) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // bool enable = 1; - if (this->_internal_enable() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_enable(), target); - } - - // string analyzer = 2; - if (!this->_internal_analyzer().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_analyzer().data(), static_cast(this->_internal_analyzer().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.FulltextOptions.analyzer"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_analyzer(), target); - } - - // bool case_sensitive = 3; - if (this->_internal_case_sensitive() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_case_sensitive(), 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.FulltextOptions) - return target; -} - -size_t FulltextOptions::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:greptime.v1.FulltextOptions) - 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 analyzer = 2; - if (!this->_internal_analyzer().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_analyzer()); - } - - // bool enable = 1; - if (this->_internal_enable() != 0) { - total_size += 1 + 1; - } - - // bool case_sensitive = 3; - if (this->_internal_case_sensitive() != 0) { - total_size += 1 + 1; - } - - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FulltextOptions::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - FulltextOptions::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FulltextOptions::GetClassData() const { return &_class_data_; } - - -void FulltextOptions::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.FulltextOptions) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (!from._internal_analyzer().empty()) { - _this->_internal_set_analyzer(from._internal_analyzer()); - } - if (from._internal_enable() != 0) { - _this->_internal_set_enable(from._internal_enable()); - } - if (from._internal_case_sensitive() != 0) { - _this->_internal_set_case_sensitive(from._internal_case_sensitive()); - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void FulltextOptions::CopyFrom(const FulltextOptions& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.FulltextOptions) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool FulltextOptions::IsInitialized() const { - return true; -} - -void FulltextOptions::InternalSwap(FulltextOptions* 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_.analyzer_, lhs_arena, - &other->_impl_.analyzer_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(FulltextOptions, _impl_.case_sensitive_) - + sizeof(FulltextOptions::_impl_.case_sensitive_) - - PROTOBUF_FIELD_OFFSET(FulltextOptions, _impl_.enable_)>( - reinterpret_cast(&_impl_.enable_), - reinterpret_cast(&other->_impl_.enable_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata FulltextOptions::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[5]); -} - // @@protoc_insertion_point(namespace_scope) } // namespace v1 } // namespace greptime @@ -2625,6 +2183,10 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::Rows* Arena::CreateMaybeMessage< ::greptime::v1::Rows >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Rows >(arena); } +template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse* +Arena::CreateMaybeMessage< ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse >(arena); +} template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnSchema* Arena::CreateMaybeMessage< ::greptime::v1::ColumnSchema >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::ColumnSchema >(arena); @@ -2637,14 +2199,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::Value* Arena::CreateMaybeMessage< ::greptime::v1::Value >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Value >(arena); } -template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnOptions* -Arena::CreateMaybeMessage< ::greptime::v1::ColumnOptions >(Arena* arena) { - return Arena::CreateMessageInternal< ::greptime::v1::ColumnOptions >(arena); -} -template<> PROTOBUF_NOINLINE ::greptime::v1::FulltextOptions* -Arena::CreateMaybeMessage< ::greptime::v1::FulltextOptions >(Arena* arena) { - return Arena::CreateMessageInternal< ::greptime::v1::FulltextOptions >(arena); -} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/c++/greptime/v1/row.pb.h b/c++/greptime/v1/row.pb.h index 8bb3165a..d85551b5 100644 --- a/c++/greptime/v1/row.pb.h +++ b/c++/greptime/v1/row.pb.h @@ -29,6 +29,9 @@ #include #include // IWYU pragma: export #include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include #include #include "greptime/v1/common.pb.h" // @@protoc_insertion_point(includes) @@ -47,15 +50,12 @@ struct TableStruct_greptime_2fv1_2frow_2eproto { extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_greptime_2fv1_2frow_2eproto; namespace greptime { namespace v1 { -class ColumnOptions; -struct ColumnOptionsDefaultTypeInternal; -extern ColumnOptionsDefaultTypeInternal _ColumnOptions_default_instance_; class ColumnSchema; struct ColumnSchemaDefaultTypeInternal; extern ColumnSchemaDefaultTypeInternal _ColumnSchema_default_instance_; -class FulltextOptions; -struct FulltextOptionsDefaultTypeInternal; -extern FulltextOptionsDefaultTypeInternal _FulltextOptions_default_instance_; +class ColumnSchema_OptionsEntry_DoNotUse; +struct ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal; +extern ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnSchema_OptionsEntry_DoNotUse_default_instance_; class Row; struct RowDefaultTypeInternal; extern RowDefaultTypeInternal _Row_default_instance_; @@ -68,9 +68,8 @@ extern ValueDefaultTypeInternal _Value_default_instance_; } // namespace v1 } // namespace greptime PROTOBUF_NAMESPACE_OPEN -template<> ::greptime::v1::ColumnOptions* Arena::CreateMaybeMessage<::greptime::v1::ColumnOptions>(Arena*); template<> ::greptime::v1::ColumnSchema* Arena::CreateMaybeMessage<::greptime::v1::ColumnSchema>(Arena*); -template<> ::greptime::v1::FulltextOptions* Arena::CreateMaybeMessage<::greptime::v1::FulltextOptions>(Arena*); +template<> ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse>(Arena*); template<> ::greptime::v1::Row* Arena::CreateMaybeMessage<::greptime::v1::Row>(Arena*); template<> ::greptime::v1::Rows* Arena::CreateMaybeMessage<::greptime::v1::Rows>(Arena*); template<> ::greptime::v1::Value* Arena::CreateMaybeMessage<::greptime::v1::Value>(Arena*); @@ -257,6 +256,34 @@ class Rows final : }; // ------------------------------------------------------------------- +class ColumnSchema_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + ColumnSchema_OptionsEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR ColumnSchema_OptionsEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit ColumnSchema_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const ColumnSchema_OptionsEntry_DoNotUse& other); + static const ColumnSchema_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ColumnSchema_OptionsEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnSchema.OptionsEntry.key"); + } + static bool ValidateValue(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnSchema.OptionsEntry.value"); + } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; +}; + +// ------------------------------------------------------------------- + class ColumnSchema final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnSchema) */ { public: @@ -305,7 +332,7 @@ class ColumnSchema final : &_ColumnSchema_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 2; friend void swap(ColumnSchema& a, ColumnSchema& b) { a.Swap(&b); @@ -366,6 +393,8 @@ class ColumnSchema final : protected: explicit ColumnSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); + private: + static void ArenaDtor(void* object); public: static const ClassData _class_data_; @@ -375,15 +404,33 @@ class ColumnSchema final : // nested types ---------------------------------------------------- + // accessors ------------------------------------------------------- enum : int { + kOptionsFieldNumber = 5, kColumnNameFieldNumber = 1, kDatatypeExtensionFieldNumber = 4, - kOptionsFieldNumber = 5, kDatatypeFieldNumber = 2, kSemanticTypeFieldNumber = 3, }; + // map options = 5; + int options_size() const; + private: + int _internal_options_size() const; + public: + void clear_options(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + _internal_options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + _internal_mutable_options(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + mutable_options(); + // string column_name = 1; void clear_column_name(); const std::string& column_name() const; @@ -416,24 +463,6 @@ class ColumnSchema final : ::greptime::v1::ColumnDataTypeExtension* datatype_extension); ::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_datatype_extension(); - // .greptime.v1.ColumnOptions options = 5; - bool has_options() const; - private: - bool _internal_has_options() const; - public: - void clear_options(); - const ::greptime::v1::ColumnOptions& options() const; - PROTOBUF_NODISCARD ::greptime::v1::ColumnOptions* release_options(); - ::greptime::v1::ColumnOptions* mutable_options(); - void set_allocated_options(::greptime::v1::ColumnOptions* options); - private: - const ::greptime::v1::ColumnOptions& _internal_options() const; - ::greptime::v1::ColumnOptions* _internal_mutable_options(); - public: - void unsafe_arena_set_allocated_options( - ::greptime::v1::ColumnOptions* options); - ::greptime::v1::ColumnOptions* unsafe_arena_release_options(); - // .greptime.v1.ColumnDataType datatype = 2; void clear_datatype(); ::greptime::v1::ColumnDataType datatype() const; @@ -460,9 +489,13 @@ class ColumnSchema final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + ColumnSchema_OptionsEntry_DoNotUse, + std::string, std::string, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; ::greptime::v1::ColumnDataTypeExtension* datatype_extension_; - ::greptime::v1::ColumnOptions* options_; int datatype_; int semantic_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -520,7 +553,7 @@ class Row final : &_Row_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 3; friend void swap(Row& a, Row& b) { a.Swap(&b); @@ -708,7 +741,7 @@ class Value final : &_Value_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 4; friend void swap(Value& a, Value& b) { a.Swap(&b); @@ -1258,338 +1291,6 @@ class Value final : union { Impl_ _impl_; }; friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; }; -// ------------------------------------------------------------------- - -class ColumnOptions final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnOptions) */ { - public: - inline ColumnOptions() : ColumnOptions(nullptr) {} - ~ColumnOptions() override; - explicit PROTOBUF_CONSTEXPR ColumnOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ColumnOptions(const ColumnOptions& from); - ColumnOptions(ColumnOptions&& from) noexcept - : ColumnOptions() { - *this = ::std::move(from); - } - - inline ColumnOptions& operator=(const ColumnOptions& from) { - CopyFrom(from); - return *this; - } - inline ColumnOptions& operator=(ColumnOptions&& 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 ColumnOptions& default_instance() { - return *internal_default_instance(); - } - static inline const ColumnOptions* internal_default_instance() { - return reinterpret_cast( - &_ColumnOptions_default_instance_); - } - static constexpr int kIndexInFileMessages = - 4; - - friend void swap(ColumnOptions& a, ColumnOptions& b) { - a.Swap(&b); - } - inline void Swap(ColumnOptions* 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(ColumnOptions* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - ColumnOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ColumnOptions& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ColumnOptions& from) { - ColumnOptions::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(ColumnOptions* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "greptime.v1.ColumnOptions"; - } - protected: - explicit ColumnOptions(::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 { - kFulltextFieldNumber = 1, - }; - // .greptime.v1.FulltextOptions fulltext = 1; - bool has_fulltext() const; - private: - bool _internal_has_fulltext() const; - public: - void clear_fulltext(); - const ::greptime::v1::FulltextOptions& fulltext() const; - PROTOBUF_NODISCARD ::greptime::v1::FulltextOptions* release_fulltext(); - ::greptime::v1::FulltextOptions* mutable_fulltext(); - void set_allocated_fulltext(::greptime::v1::FulltextOptions* fulltext); - private: - const ::greptime::v1::FulltextOptions& _internal_fulltext() const; - ::greptime::v1::FulltextOptions* _internal_mutable_fulltext(); - public: - void unsafe_arena_set_allocated_fulltext( - ::greptime::v1::FulltextOptions* fulltext); - ::greptime::v1::FulltextOptions* unsafe_arena_release_fulltext(); - - // @@protoc_insertion_point(class_scope:greptime.v1.ColumnOptions) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::greptime::v1::FulltextOptions* fulltext_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; -}; -// ------------------------------------------------------------------- - -class FulltextOptions final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.FulltextOptions) */ { - public: - inline FulltextOptions() : FulltextOptions(nullptr) {} - ~FulltextOptions() override; - explicit PROTOBUF_CONSTEXPR FulltextOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FulltextOptions(const FulltextOptions& from); - FulltextOptions(FulltextOptions&& from) noexcept - : FulltextOptions() { - *this = ::std::move(from); - } - - inline FulltextOptions& operator=(const FulltextOptions& from) { - CopyFrom(from); - return *this; - } - inline FulltextOptions& operator=(FulltextOptions&& 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 FulltextOptions& default_instance() { - return *internal_default_instance(); - } - static inline const FulltextOptions* internal_default_instance() { - return reinterpret_cast( - &_FulltextOptions_default_instance_); - } - static constexpr int kIndexInFileMessages = - 5; - - friend void swap(FulltextOptions& a, FulltextOptions& b) { - a.Swap(&b); - } - inline void Swap(FulltextOptions* 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(FulltextOptions* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - FulltextOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FulltextOptions& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FulltextOptions& from) { - FulltextOptions::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(FulltextOptions* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "greptime.v1.FulltextOptions"; - } - protected: - explicit FulltextOptions(::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 { - kAnalyzerFieldNumber = 2, - kEnableFieldNumber = 1, - kCaseSensitiveFieldNumber = 3, - }; - // string analyzer = 2; - void clear_analyzer(); - const std::string& analyzer() const; - template - void set_analyzer(ArgT0&& arg0, ArgT... args); - std::string* mutable_analyzer(); - PROTOBUF_NODISCARD std::string* release_analyzer(); - void set_allocated_analyzer(std::string* analyzer); - private: - const std::string& _internal_analyzer() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_analyzer(const std::string& value); - std::string* _internal_mutable_analyzer(); - public: - - // bool enable = 1; - void clear_enable(); - bool enable() const; - void set_enable(bool value); - private: - bool _internal_enable() const; - void _internal_set_enable(bool value); - public: - - // bool case_sensitive = 3; - void clear_case_sensitive(); - bool case_sensitive() const; - void set_case_sensitive(bool value); - private: - bool _internal_case_sensitive() const; - void _internal_set_case_sensitive(bool value); - public: - - // @@protoc_insertion_point(class_scope:greptime.v1.FulltextOptions) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr analyzer_; - bool enable_; - bool case_sensitive_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; -}; // =================================================================== @@ -1683,6 +1384,8 @@ Rows::rows() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // ColumnSchema // string column_name = 1; @@ -1860,94 +1563,33 @@ inline void ColumnSchema::set_allocated_datatype_extension(::greptime::v1::Colum // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnSchema.datatype_extension) } -// .greptime.v1.ColumnOptions options = 5; -inline bool ColumnSchema::_internal_has_options() const { - return this != internal_default_instance() && _impl_.options_ != nullptr; +// map options = 5; +inline int ColumnSchema::_internal_options_size() const { + return _impl_.options_.size(); } -inline bool ColumnSchema::has_options() const { - return _internal_has_options(); +inline int ColumnSchema::options_size() const { + return _internal_options_size(); } inline void ColumnSchema::clear_options() { - if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { - delete _impl_.options_; - } - _impl_.options_ = nullptr; + _impl_.options_.Clear(); } -inline const ::greptime::v1::ColumnOptions& ColumnSchema::_internal_options() const { - const ::greptime::v1::ColumnOptions* p = _impl_.options_; - return p != nullptr ? *p : reinterpret_cast( - ::greptime::v1::_ColumnOptions_default_instance_); +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +ColumnSchema::_internal_options() const { + return _impl_.options_.GetMap(); } -inline const ::greptime::v1::ColumnOptions& ColumnSchema::options() const { - // @@protoc_insertion_point(field_get:greptime.v1.ColumnSchema.options) +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +ColumnSchema::options() const { + // @@protoc_insertion_point(field_map:greptime.v1.ColumnSchema.options) return _internal_options(); } -inline void ColumnSchema::unsafe_arena_set_allocated_options( - ::greptime::v1::ColumnOptions* options) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); - } - _impl_.options_ = options; - if (options) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnSchema.options) -} -inline ::greptime::v1::ColumnOptions* ColumnSchema::release_options() { - - ::greptime::v1::ColumnOptions* temp = _impl_.options_; - _impl_.options_ = 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::ColumnOptions* ColumnSchema::unsafe_arena_release_options() { - // @@protoc_insertion_point(field_release:greptime.v1.ColumnSchema.options) - - ::greptime::v1::ColumnOptions* temp = _impl_.options_; - _impl_.options_ = nullptr; - return temp; -} -inline ::greptime::v1::ColumnOptions* ColumnSchema::_internal_mutable_options() { - - if (_impl_.options_ == nullptr) { - auto* p = CreateMaybeMessage<::greptime::v1::ColumnOptions>(GetArenaForAllocation()); - _impl_.options_ = p; - } - return _impl_.options_; -} -inline ::greptime::v1::ColumnOptions* ColumnSchema::mutable_options() { - ::greptime::v1::ColumnOptions* _msg = _internal_mutable_options(); - // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnSchema.options) - return _msg; +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +ColumnSchema::_internal_mutable_options() { + return _impl_.options_.MutableMap(); } -inline void ColumnSchema::set_allocated_options(::greptime::v1::ColumnOptions* options) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.options_; - } - if (options) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(options); - if (message_arena != submessage_arena) { - options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, options, submessage_arena); - } - - } else { - - } - _impl_.options_ = options; - // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnSchema.options) +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +ColumnSchema::mutable_options() { + // @@protoc_insertion_point(field_mutable_map:greptime.v1.ColumnSchema.options) + return _internal_mutable_options(); } // ------------------------------------------------------------------- @@ -3167,194 +2809,6 @@ inline void Value::clear_has_value_data() { inline Value::ValueDataCase Value::value_data_case() const { return Value::ValueDataCase(_impl_._oneof_case_[0]); } -// ------------------------------------------------------------------- - -// ColumnOptions - -// .greptime.v1.FulltextOptions fulltext = 1; -inline bool ColumnOptions::_internal_has_fulltext() const { - return this != internal_default_instance() && _impl_.fulltext_ != nullptr; -} -inline bool ColumnOptions::has_fulltext() const { - return _internal_has_fulltext(); -} -inline void ColumnOptions::clear_fulltext() { - if (GetArenaForAllocation() == nullptr && _impl_.fulltext_ != nullptr) { - delete _impl_.fulltext_; - } - _impl_.fulltext_ = nullptr; -} -inline const ::greptime::v1::FulltextOptions& ColumnOptions::_internal_fulltext() const { - const ::greptime::v1::FulltextOptions* p = _impl_.fulltext_; - return p != nullptr ? *p : reinterpret_cast( - ::greptime::v1::_FulltextOptions_default_instance_); -} -inline const ::greptime::v1::FulltextOptions& ColumnOptions::fulltext() const { - // @@protoc_insertion_point(field_get:greptime.v1.ColumnOptions.fulltext) - return _internal_fulltext(); -} -inline void ColumnOptions::unsafe_arena_set_allocated_fulltext( - ::greptime::v1::FulltextOptions* fulltext) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.fulltext_); - } - _impl_.fulltext_ = fulltext; - if (fulltext) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnOptions.fulltext) -} -inline ::greptime::v1::FulltextOptions* ColumnOptions::release_fulltext() { - - ::greptime::v1::FulltextOptions* temp = _impl_.fulltext_; - _impl_.fulltext_ = 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::FulltextOptions* ColumnOptions::unsafe_arena_release_fulltext() { - // @@protoc_insertion_point(field_release:greptime.v1.ColumnOptions.fulltext) - - ::greptime::v1::FulltextOptions* temp = _impl_.fulltext_; - _impl_.fulltext_ = nullptr; - return temp; -} -inline ::greptime::v1::FulltextOptions* ColumnOptions::_internal_mutable_fulltext() { - - if (_impl_.fulltext_ == nullptr) { - auto* p = CreateMaybeMessage<::greptime::v1::FulltextOptions>(GetArenaForAllocation()); - _impl_.fulltext_ = p; - } - return _impl_.fulltext_; -} -inline ::greptime::v1::FulltextOptions* ColumnOptions::mutable_fulltext() { - ::greptime::v1::FulltextOptions* _msg = _internal_mutable_fulltext(); - // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnOptions.fulltext) - return _msg; -} -inline void ColumnOptions::set_allocated_fulltext(::greptime::v1::FulltextOptions* fulltext) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.fulltext_; - } - if (fulltext) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fulltext); - if (message_arena != submessage_arena) { - fulltext = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, fulltext, submessage_arena); - } - - } else { - - } - _impl_.fulltext_ = fulltext; - // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnOptions.fulltext) -} - -// ------------------------------------------------------------------- - -// FulltextOptions - -// bool enable = 1; -inline void FulltextOptions::clear_enable() { - _impl_.enable_ = false; -} -inline bool FulltextOptions::_internal_enable() const { - return _impl_.enable_; -} -inline bool FulltextOptions::enable() const { - // @@protoc_insertion_point(field_get:greptime.v1.FulltextOptions.enable) - return _internal_enable(); -} -inline void FulltextOptions::_internal_set_enable(bool value) { - - _impl_.enable_ = value; -} -inline void FulltextOptions::set_enable(bool value) { - _internal_set_enable(value); - // @@protoc_insertion_point(field_set:greptime.v1.FulltextOptions.enable) -} - -// string analyzer = 2; -inline void FulltextOptions::clear_analyzer() { - _impl_.analyzer_.ClearToEmpty(); -} -inline const std::string& FulltextOptions::analyzer() const { - // @@protoc_insertion_point(field_get:greptime.v1.FulltextOptions.analyzer) - return _internal_analyzer(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void FulltextOptions::set_analyzer(ArgT0&& arg0, ArgT... args) { - - _impl_.analyzer_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:greptime.v1.FulltextOptions.analyzer) -} -inline std::string* FulltextOptions::mutable_analyzer() { - std::string* _s = _internal_mutable_analyzer(); - // @@protoc_insertion_point(field_mutable:greptime.v1.FulltextOptions.analyzer) - return _s; -} -inline const std::string& FulltextOptions::_internal_analyzer() const { - return _impl_.analyzer_.Get(); -} -inline void FulltextOptions::_internal_set_analyzer(const std::string& value) { - - _impl_.analyzer_.Set(value, GetArenaForAllocation()); -} -inline std::string* FulltextOptions::_internal_mutable_analyzer() { - - return _impl_.analyzer_.Mutable(GetArenaForAllocation()); -} -inline std::string* FulltextOptions::release_analyzer() { - // @@protoc_insertion_point(field_release:greptime.v1.FulltextOptions.analyzer) - return _impl_.analyzer_.Release(); -} -inline void FulltextOptions::set_allocated_analyzer(std::string* analyzer) { - if (analyzer != nullptr) { - - } else { - - } - _impl_.analyzer_.SetAllocated(analyzer, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.analyzer_.IsDefault()) { - _impl_.analyzer_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:greptime.v1.FulltextOptions.analyzer) -} - -// bool case_sensitive = 3; -inline void FulltextOptions::clear_case_sensitive() { - _impl_.case_sensitive_ = false; -} -inline bool FulltextOptions::_internal_case_sensitive() const { - return _impl_.case_sensitive_; -} -inline bool FulltextOptions::case_sensitive() const { - // @@protoc_insertion_point(field_get:greptime.v1.FulltextOptions.case_sensitive) - return _internal_case_sensitive(); -} -inline void FulltextOptions::_internal_set_case_sensitive(bool value) { - - _impl_.case_sensitive_ = value; -} -inline void FulltextOptions::set_case_sensitive(bool value) { - _internal_set_case_sensitive(value); - // @@protoc_insertion_point(field_set:greptime.v1.FulltextOptions.case_sensitive) -} - #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -3366,8 +2820,6 @@ inline void FulltextOptions::set_case_sensitive(bool value) { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/go/greptime/v1/row.pb.go b/go/greptime/v1/row.pb.go index 7eacc970..5c775bca 100644 --- a/go/greptime/v1/row.pb.go +++ b/go/greptime/v1/row.pb.go @@ -100,7 +100,23 @@ type ColumnSchema struct { // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,4,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` // Additional options for the column. - Options *ColumnOptions `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"` + // + // Supported keys: + // + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is enabled for the column. + // "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. + // // Supported values are "English" (Default) and "Chinese". + // "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + Options map[string]string `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ColumnSchema) Reset() { @@ -163,7 +179,7 @@ func (x *ColumnSchema) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } -func (x *ColumnSchema) GetOptions() *ColumnOptions { +func (x *ColumnSchema) GetOptions() map[string]string { if x != nil { return x.Options } @@ -648,121 +664,6 @@ func (*Value_IntervalMonthDayNanoValue) isValue_ValueData() {} func (*Value_Decimal128Value) isValue_ValueData() {} -type ColumnOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Options for fulltext. - Fulltext *FulltextOptions `protobuf:"bytes,1,opt,name=fulltext,proto3" json:"fulltext,omitempty"` -} - -func (x *ColumnOptions) Reset() { - *x = ColumnOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_greptime_v1_row_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ColumnOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ColumnOptions) ProtoMessage() {} - -func (x *ColumnOptions) ProtoReflect() protoreflect.Message { - mi := &file_greptime_v1_row_proto_msgTypes[4] - 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 ColumnOptions.ProtoReflect.Descriptor instead. -func (*ColumnOptions) Descriptor() ([]byte, []int) { - return file_greptime_v1_row_proto_rawDescGZIP(), []int{4} -} - -func (x *ColumnOptions) GetFulltext() *FulltextOptions { - if x != nil { - return x.Fulltext - } - return nil -} - -type FulltextOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Indicates whether full-text search is enabled for the column. - Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` - // The language-specific text analyzer to use for indexing and searching the text. - // Supported values are 'English' (Default) and 'Chinese'. - Analyzer string `protobuf:"bytes,2,opt,name=analyzer,proto3" json:"analyzer,omitempty"` - // Indicates whether the text should be treated as case sensitive during full-text search. - CaseSensitive bool `protobuf:"varint,3,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` -} - -func (x *FulltextOptions) Reset() { - *x = FulltextOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_greptime_v1_row_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FulltextOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FulltextOptions) ProtoMessage() {} - -func (x *FulltextOptions) ProtoReflect() protoreflect.Message { - mi := &file_greptime_v1_row_proto_msgTypes[5] - 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 FulltextOptions.ProtoReflect.Descriptor instead. -func (*FulltextOptions) Descriptor() ([]byte, []int) { - return file_greptime_v1_row_proto_rawDescGZIP(), []int{5} -} - -func (x *FulltextOptions) GetEnable() bool { - if x != nil { - return x.Enable - } - return false -} - -func (x *FulltextOptions) GetAnalyzer() string { - if x != nil { - return x.Analyzer - } - return "" -} - -func (x *FulltextOptions) GetCaseSensitive() bool { - if x != nil { - return x.CaseSensitive - } - return false -} - var File_greptime_v1_row_proto protoreflect.FileDescriptor var file_greptime_v1_row_proto_rawDesc = []byte{ @@ -776,7 +677,7 @@ var file_greptime_v1_row_proto_rawDesc = []byte{ 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x24, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, - 0xb3, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0xfb, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, @@ -792,109 +693,102 @@ var file_greptime_v1_row_proto_rawDesc = []byte{ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x31, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x06, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xef, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1d, 0x0a, 0x09, 0x69, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, - 0x0a, 0x09, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, - 0x09, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x08, 0x69, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, - 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, - 0x52, 0x07, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x31, 0x36, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, - 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x33, 0x32, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, - 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x36, 0x34, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x75, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x62, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, - 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, - 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, - 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x16, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, - 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x65, 0x0a, 0x1d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, - 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, - 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x69, 0x6e, 0x74, + 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 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, 0x31, 0x0a, + 0x03, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x22, 0xef, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x38, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, + 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x31, 0x36, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x31, + 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1d, 0x0a, 0x09, 0x75, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x75, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, + 0x0a, 0x09, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, + 0x09, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x00, 0x52, 0x08, 0x66, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, + 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, + 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, + 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, + 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, + 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, + 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x74, 0x69, + 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, + 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, + 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x00, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, + 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x65, 0x0a, 0x1d, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, - 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, - 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x63, - 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x49, 0x0a, 0x0d, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x66, - 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x6c, - 0x74, 0x65, 0x78, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x08, 0x66, 0x75, 0x6c, - 0x6c, 0x74, 0x65, 0x78, 0x74, 0x22, 0x6c, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, - 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x52, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 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, + 0x6f, 0x48, 0x00, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, + 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, + 0x0a, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, + 0x38, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x52, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 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 ( @@ -909,36 +803,34 @@ func file_greptime_v1_row_proto_rawDescGZIP() []byte { return file_greptime_v1_row_proto_rawDescData } -var file_greptime_v1_row_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_greptime_v1_row_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_greptime_v1_row_proto_goTypes = []interface{}{ (*Rows)(nil), // 0: greptime.v1.Rows (*ColumnSchema)(nil), // 1: greptime.v1.ColumnSchema (*Row)(nil), // 2: greptime.v1.Row (*Value)(nil), // 3: greptime.v1.Value - (*ColumnOptions)(nil), // 4: greptime.v1.ColumnOptions - (*FulltextOptions)(nil), // 5: greptime.v1.FulltextOptions - (ColumnDataType)(0), // 6: greptime.v1.ColumnDataType - (SemanticType)(0), // 7: greptime.v1.SemanticType - (*ColumnDataTypeExtension)(nil), // 8: greptime.v1.ColumnDataTypeExtension - (*IntervalMonthDayNano)(nil), // 9: greptime.v1.IntervalMonthDayNano - (*Decimal128)(nil), // 10: greptime.v1.Decimal128 + nil, // 4: greptime.v1.ColumnSchema.OptionsEntry + (ColumnDataType)(0), // 5: greptime.v1.ColumnDataType + (SemanticType)(0), // 6: greptime.v1.SemanticType + (*ColumnDataTypeExtension)(nil), // 7: greptime.v1.ColumnDataTypeExtension + (*IntervalMonthDayNano)(nil), // 8: greptime.v1.IntervalMonthDayNano + (*Decimal128)(nil), // 9: greptime.v1.Decimal128 } var file_greptime_v1_row_proto_depIdxs = []int32{ - 1, // 0: greptime.v1.Rows.schema:type_name -> greptime.v1.ColumnSchema - 2, // 1: greptime.v1.Rows.rows:type_name -> greptime.v1.Row - 6, // 2: greptime.v1.ColumnSchema.datatype:type_name -> greptime.v1.ColumnDataType - 7, // 3: greptime.v1.ColumnSchema.semantic_type:type_name -> greptime.v1.SemanticType - 8, // 4: greptime.v1.ColumnSchema.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 4, // 5: greptime.v1.ColumnSchema.options:type_name -> greptime.v1.ColumnOptions - 3, // 6: greptime.v1.Row.values:type_name -> greptime.v1.Value - 9, // 7: greptime.v1.Value.interval_month_day_nano_value:type_name -> greptime.v1.IntervalMonthDayNano - 10, // 8: greptime.v1.Value.decimal128_value:type_name -> greptime.v1.Decimal128 - 5, // 9: greptime.v1.ColumnOptions.fulltext:type_name -> greptime.v1.FulltextOptions - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 1, // 0: greptime.v1.Rows.schema:type_name -> greptime.v1.ColumnSchema + 2, // 1: greptime.v1.Rows.rows:type_name -> greptime.v1.Row + 5, // 2: greptime.v1.ColumnSchema.datatype:type_name -> greptime.v1.ColumnDataType + 6, // 3: greptime.v1.ColumnSchema.semantic_type:type_name -> greptime.v1.SemanticType + 7, // 4: greptime.v1.ColumnSchema.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 4, // 5: greptime.v1.ColumnSchema.options:type_name -> greptime.v1.ColumnSchema.OptionsEntry + 3, // 6: greptime.v1.Row.values:type_name -> greptime.v1.Value + 8, // 7: greptime.v1.Value.interval_month_day_nano_value:type_name -> greptime.v1.IntervalMonthDayNano + 9, // 8: greptime.v1.Value.decimal128_value:type_name -> greptime.v1.Decimal128 + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_greptime_v1_row_proto_init() } @@ -996,30 +888,6 @@ func file_greptime_v1_row_proto_init() { return nil } } - file_greptime_v1_row_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ColumnOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_greptime_v1_row_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FulltextOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } file_greptime_v1_row_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Value_I8Value)(nil), @@ -1056,7 +924,7 @@ func file_greptime_v1_row_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_row_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/java/src/main/java/io/greptime/v1/RowData.java b/java/src/main/java/io/greptime/v1/RowData.java index 8735fc5c..b19500da 100644 --- a/java/src/main/java/io/greptime/v1/RowData.java +++ b/java/src/main/java/io/greptime/v1/RowData.java @@ -1249,29 +1249,118 @@ public interface ColumnSchemaOrBuilder extends /** *
      * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
      * 
* - * .greptime.v1.ColumnOptions options = 5; - * @return Whether the options field is set. + * map<string, string> options = 5; */ - boolean hasOptions(); + int getOptionsCount(); /** *
      * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
      * 
* - * .greptime.v1.ColumnOptions options = 5; - * @return The options. + * map<string, string> options = 5; */ - io.greptime.v1.RowData.ColumnOptions getOptions(); + boolean containsOptions( + java.lang.String key); + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getOptions(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 5; + */ + java.util.Map + getOptionsMap(); /** *
      * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
      * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - io.greptime.v1.RowData.ColumnOptionsOrBuilder getOptionsOrBuilder(); + + /* nullable */ +java.lang.String getOptionsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 5; + */ + + java.lang.String getOptionsOrThrow( + java.lang.String key); } /** * Protobuf type {@code greptime.v1.ColumnSchema} @@ -1311,6 +1400,7 @@ private ColumnSchema( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -1353,16 +1443,16 @@ private ColumnSchema( break; } case 42: { - io.greptime.v1.RowData.ColumnOptions.Builder subBuilder = null; - if (options_ != null) { - subBuilder = options_.toBuilder(); - } - options_ = input.readMessage(io.greptime.v1.RowData.ColumnOptions.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(options_); - options_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; } - + com.google.protobuf.MapEntry + options__ = input.readMessage( + OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + options_.getMutableMap().put( + options__.getKey(), options__.getValue()); break; } default: { @@ -1391,6 +1481,18 @@ private ColumnSchema( return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnSchema_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -1514,41 +1616,148 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } public static final int OPTIONS_FIELD_NUMBER = 5; - private io.greptime.v1.RowData.ColumnOptions options_; + private static final class OptionsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + io.greptime.v1.RowData.internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } /** *
      * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
      * 
* - * .greptime.v1.ColumnOptions options = 5; - * @return Whether the options field is set. + * map<string, string> options = 5; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 5; */ @java.lang.Override - public boolean hasOptions() { - return options_ != null; + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); } /** *
      * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
      * 
* - * .greptime.v1.ColumnOptions options = 5; - * @return The options. + * map<string, string> options = 5; */ @java.lang.Override - public io.greptime.v1.RowData.ColumnOptions getOptions() { - return options_ == null ? io.greptime.v1.RowData.ColumnOptions.getDefaultInstance() : options_; + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
      * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+     *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+     *                                     // Supported values are "English" (Default) and "Chinese".
+     *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
      * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ @java.lang.Override - public io.greptime.v1.RowData.ColumnOptionsOrBuilder getOptionsOrBuilder() { - return getOptions(); + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -1577,9 +1786,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(4, getDatatypeExtension()); } - if (options_ != null) { - output.writeMessage(5, getOptions()); - } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetOptions(), + OptionsDefaultEntryHolder.defaultEntry, + 5); unknownFields.writeTo(output); } @@ -1604,9 +1816,15 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getDatatypeExtension()); } - if (options_ != null) { + for (java.util.Map.Entry entry + : internalGetOptions().getMap().entrySet()) { + com.google.protobuf.MapEntry + options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, getOptions()); + .computeMessageSize(5, options__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -1632,11 +1850,8 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } - if (hasOptions() != other.hasOptions()) return false; - if (hasOptions()) { - if (!getOptions() - .equals(other.getOptions())) return false; - } + if (!internalGetOptions().equals( + other.internalGetOptions())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1658,9 +1873,9 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } - if (hasOptions()) { + if (!internalGetOptions().getMap().isEmpty()) { hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + getOptions().hashCode(); + hash = (53 * hash) + internalGetOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -1769,6 +1984,28 @@ public static final class Builder extends return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnSchema_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 5: + return internalGetMutableOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -1807,12 +2044,7 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } - if (optionsBuilder_ == null) { - options_ = null; - } else { - options_ = null; - optionsBuilder_ = null; - } + internalGetMutableOptions().clear(); return this; } @@ -1839,6 +2071,7 @@ public io.greptime.v1.RowData.ColumnSchema build() { @java.lang.Override public io.greptime.v1.RowData.ColumnSchema buildPartial() { io.greptime.v1.RowData.ColumnSchema result = new io.greptime.v1.RowData.ColumnSchema(this); + int from_bitField0_ = bitField0_; result.columnName_ = columnName_; result.datatype_ = datatype_; result.semanticType_ = semanticType_; @@ -1847,11 +2080,8 @@ public io.greptime.v1.RowData.ColumnSchema buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } - if (optionsBuilder_ == null) { - result.options_ = options_; - } else { - result.options_ = optionsBuilder_.build(); - } + result.options_ = internalGetOptions(); + result.options_.makeImmutable(); onBuilt(); return result; } @@ -1913,9 +2143,8 @@ public Builder mergeFrom(io.greptime.v1.RowData.ColumnSchema other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } - if (other.hasOptions()) { - mergeOptions(other.getOptions()); - } + internalGetMutableOptions().mergeFrom( + other.internalGetOptions()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1944,6 +2173,7 @@ public Builder mergeFrom( } return this; } + private int bitField0_; private java.lang.Object columnName_ = ""; /** @@ -2284,159 +2514,247 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return datatypeExtensionBuilder_; } - private io.greptime.v1.RowData.ColumnOptions options_; - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.RowData.ColumnOptions, io.greptime.v1.RowData.ColumnOptions.Builder, io.greptime.v1.RowData.ColumnOptionsOrBuilder> optionsBuilder_; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + private com.google.protobuf.MapField + internalGetMutableOptions() { + onChanged();; + if (options_ == null) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + if (!options_.isMutable()) { + options_ = options_.copy(); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; - * @return Whether the options field is set. + * map<string, string> options = 5; */ - public boolean hasOptions() { - return optionsBuilder_ != null || options_ != null; + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); } /** - *
-       * Additional options for the column.
-       * 
- * - * .greptime.v1.ColumnOptions options = 5; - * @return The options. + * Use {@link #getOptionsMap()} instead. */ - public io.greptime.v1.RowData.ColumnOptions getOptions() { - if (optionsBuilder_ == null) { - return options_ == null ? io.greptime.v1.RowData.ColumnOptions.getDefaultInstance() : options_; - } else { - return optionsBuilder_.getMessage(); - } + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - public Builder setOptions(io.greptime.v1.RowData.ColumnOptions value) { - if (optionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - options_ = value; - onChanged(); - } else { - optionsBuilder_.setMessage(value); - } + @java.lang.Override - return this; + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - public Builder setOptions( - io.greptime.v1.RowData.ColumnOptions.Builder builderForValue) { - if (optionsBuilder_ == null) { - options_ = builderForValue.build(); - onChanged(); - } else { - optionsBuilder_.setMessage(builderForValue.build()); - } + @java.lang.Override - return this; + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - public Builder mergeOptions(io.greptime.v1.RowData.ColumnOptions value) { - if (optionsBuilder_ == null) { - if (options_ != null) { - options_ = - io.greptime.v1.RowData.ColumnOptions.newBuilder(options_).mergeFrom(value).buildPartial(); - } else { - options_ = value; - } - onChanged(); - } else { - optionsBuilder_.mergeFrom(value); + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); } + return map.get(key); + } + public Builder clearOptions() { + internalGetMutableOptions().getMutableMap() + .clear(); return this; } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - public Builder clearOptions() { - if (optionsBuilder_ == null) { - options_ = null; - onChanged(); - } else { - options_ = null; - optionsBuilder_ = null; - } + public Builder removeOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + internalGetMutableOptions().getMutableMap() + .remove(key); return this; } /** - *
-       * Additional options for the column.
-       * 
- * - * .greptime.v1.ColumnOptions options = 5; + * Use alternate mutation accessors instead. */ - public io.greptime.v1.RowData.ColumnOptions.Builder getOptionsBuilder() { - - onChanged(); - return getOptionsFieldBuilder().getBuilder(); + @java.lang.Deprecated + public java.util.Map + getMutableOptions() { + return internalGetMutableOptions().getMutableMap(); } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - public io.greptime.v1.RowData.ColumnOptionsOrBuilder getOptionsOrBuilder() { - if (optionsBuilder_ != null) { - return optionsBuilder_.getMessageOrBuilder(); - } else { - return options_ == null ? - io.greptime.v1.RowData.ColumnOptions.getDefaultInstance() : options_; - } + public Builder putOptions( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new NullPointerException("map key"); } + if (value == null) { + throw new NullPointerException("map value"); +} + + internalGetMutableOptions().getMutableMap() + .put(key, value); + return this; } /** *
        * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,              // Indicates whether full-text search is enabled for the column.
+       *        "analyzer": string,          // The language-specific text analyzer to use for indexing and searching text.
+       *                                     // Supported values are "English" (Default) and "Chinese".
+       *        "case-sensitive": bool       // Indicates whether the text should be treated as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
        * 
* - * .greptime.v1.ColumnOptions options = 5; + * map<string, string> options = 5; */ - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.RowData.ColumnOptions, io.greptime.v1.RowData.ColumnOptions.Builder, io.greptime.v1.RowData.ColumnOptionsOrBuilder> - getOptionsFieldBuilder() { - if (optionsBuilder_ == null) { - optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.RowData.ColumnOptions, io.greptime.v1.RowData.ColumnOptions.Builder, io.greptime.v1.RowData.ColumnOptionsOrBuilder>( - getOptions(), - getParentForChildren(), - isClean()); - options_ = null; - } - return optionsBuilder_; + + public Builder putAllOptions( + java.util.Map values) { + internalGetMutableOptions().getMutableMap() + .putAll(values); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -6950,1520 +7268,35 @@ public io.greptime.v1.RowData.Value getDefaultInstanceForType() { } - public interface ColumnOptionsOrBuilder extends - // @@protoc_insertion_point(interface_extends:greptime.v1.ColumnOptions) - com.google.protobuf.MessageOrBuilder { + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Rows_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Rows_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnSchema_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnSchema_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnSchema_OptionsEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Row_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Row_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Value_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Value_fieldAccessorTable; - /** - *
-     * Options for fulltext.
-     * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - * @return Whether the fulltext field is set. - */ - boolean hasFulltext(); - /** - *
-     * Options for fulltext.
-     * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - * @return The fulltext. - */ - io.greptime.v1.RowData.FulltextOptions getFulltext(); - /** - *
-     * Options for fulltext.
-     * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - io.greptime.v1.RowData.FulltextOptionsOrBuilder getFulltextOrBuilder(); - } - /** - * Protobuf type {@code greptime.v1.ColumnOptions} - */ - public static final class ColumnOptions extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:greptime.v1.ColumnOptions) - ColumnOptionsOrBuilder { - private static final long serialVersionUID = 0L; - // Use ColumnOptions.newBuilder() to construct. - private ColumnOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ColumnOptions() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ColumnOptions(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ColumnOptions( - 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.RowData.FulltextOptions.Builder subBuilder = null; - if (fulltext_ != null) { - subBuilder = fulltext_.toBuilder(); - } - fulltext_ = input.readMessage(io.greptime.v1.RowData.FulltextOptions.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(fulltext_); - fulltext_ = 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.RowData.internal_static_greptime_v1_ColumnOptions_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_fieldAccessorTable - .ensureFieldAccessorsInitialized( - io.greptime.v1.RowData.ColumnOptions.class, io.greptime.v1.RowData.ColumnOptions.Builder.class); - } - - public static final int FULLTEXT_FIELD_NUMBER = 1; - private io.greptime.v1.RowData.FulltextOptions fulltext_; - /** - *
-     * Options for fulltext.
-     * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - * @return Whether the fulltext field is set. - */ - @java.lang.Override - public boolean hasFulltext() { - return fulltext_ != null; - } - /** - *
-     * Options for fulltext.
-     * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - * @return The fulltext. - */ - @java.lang.Override - public io.greptime.v1.RowData.FulltextOptions getFulltext() { - return fulltext_ == null ? io.greptime.v1.RowData.FulltextOptions.getDefaultInstance() : fulltext_; - } - /** - *
-     * Options for fulltext.
-     * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - @java.lang.Override - public io.greptime.v1.RowData.FulltextOptionsOrBuilder getFulltextOrBuilder() { - return getFulltext(); - } - - 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 (fulltext_ != null) { - output.writeMessage(1, getFulltext()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (fulltext_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getFulltext()); - } - 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.RowData.ColumnOptions)) { - return super.equals(obj); - } - io.greptime.v1.RowData.ColumnOptions other = (io.greptime.v1.RowData.ColumnOptions) obj; - - if (hasFulltext() != other.hasFulltext()) return false; - if (hasFulltext()) { - if (!getFulltext() - .equals(other.getFulltext())) 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 (hasFulltext()) { - hash = (37 * hash) + FULLTEXT_FIELD_NUMBER; - hash = (53 * hash) + getFulltext().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static io.greptime.v1.RowData.ColumnOptions parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.RowData.ColumnOptions parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static io.greptime.v1.RowData.ColumnOptions parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static io.greptime.v1.RowData.ColumnOptions 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.RowData.ColumnOptions 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.ColumnOptions} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:greptime.v1.ColumnOptions) - io.greptime.v1.RowData.ColumnOptionsOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_fieldAccessorTable - .ensureFieldAccessorsInitialized( - io.greptime.v1.RowData.ColumnOptions.class, io.greptime.v1.RowData.ColumnOptions.Builder.class); - } - - // Construct using io.greptime.v1.RowData.ColumnOptions.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 (fulltextBuilder_ == null) { - fulltext_ = null; - } else { - fulltext_ = null; - fulltextBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnOptions_descriptor; - } - - @java.lang.Override - public io.greptime.v1.RowData.ColumnOptions getDefaultInstanceForType() { - return io.greptime.v1.RowData.ColumnOptions.getDefaultInstance(); - } - - @java.lang.Override - public io.greptime.v1.RowData.ColumnOptions build() { - io.greptime.v1.RowData.ColumnOptions result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public io.greptime.v1.RowData.ColumnOptions buildPartial() { - io.greptime.v1.RowData.ColumnOptions result = new io.greptime.v1.RowData.ColumnOptions(this); - if (fulltextBuilder_ == null) { - result.fulltext_ = fulltext_; - } else { - result.fulltext_ = fulltextBuilder_.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.RowData.ColumnOptions) { - return mergeFrom((io.greptime.v1.RowData.ColumnOptions)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(io.greptime.v1.RowData.ColumnOptions other) { - if (other == io.greptime.v1.RowData.ColumnOptions.getDefaultInstance()) return this; - if (other.hasFulltext()) { - mergeFulltext(other.getFulltext()); - } - 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.RowData.ColumnOptions parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (io.greptime.v1.RowData.ColumnOptions) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private io.greptime.v1.RowData.FulltextOptions fulltext_; - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.RowData.FulltextOptions, io.greptime.v1.RowData.FulltextOptions.Builder, io.greptime.v1.RowData.FulltextOptionsOrBuilder> fulltextBuilder_; - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - * @return Whether the fulltext field is set. - */ - public boolean hasFulltext() { - return fulltextBuilder_ != null || fulltext_ != null; - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - * @return The fulltext. - */ - public io.greptime.v1.RowData.FulltextOptions getFulltext() { - if (fulltextBuilder_ == null) { - return fulltext_ == null ? io.greptime.v1.RowData.FulltextOptions.getDefaultInstance() : fulltext_; - } else { - return fulltextBuilder_.getMessage(); - } - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - public Builder setFulltext(io.greptime.v1.RowData.FulltextOptions value) { - if (fulltextBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - fulltext_ = value; - onChanged(); - } else { - fulltextBuilder_.setMessage(value); - } - - return this; - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - public Builder setFulltext( - io.greptime.v1.RowData.FulltextOptions.Builder builderForValue) { - if (fulltextBuilder_ == null) { - fulltext_ = builderForValue.build(); - onChanged(); - } else { - fulltextBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - public Builder mergeFulltext(io.greptime.v1.RowData.FulltextOptions value) { - if (fulltextBuilder_ == null) { - if (fulltext_ != null) { - fulltext_ = - io.greptime.v1.RowData.FulltextOptions.newBuilder(fulltext_).mergeFrom(value).buildPartial(); - } else { - fulltext_ = value; - } - onChanged(); - } else { - fulltextBuilder_.mergeFrom(value); - } - - return this; - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - public Builder clearFulltext() { - if (fulltextBuilder_ == null) { - fulltext_ = null; - onChanged(); - } else { - fulltext_ = null; - fulltextBuilder_ = null; - } - - return this; - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - public io.greptime.v1.RowData.FulltextOptions.Builder getFulltextBuilder() { - - onChanged(); - return getFulltextFieldBuilder().getBuilder(); - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - public io.greptime.v1.RowData.FulltextOptionsOrBuilder getFulltextOrBuilder() { - if (fulltextBuilder_ != null) { - return fulltextBuilder_.getMessageOrBuilder(); - } else { - return fulltext_ == null ? - io.greptime.v1.RowData.FulltextOptions.getDefaultInstance() : fulltext_; - } - } - /** - *
-       * Options for fulltext.
-       * 
- * - * .greptime.v1.FulltextOptions fulltext = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.RowData.FulltextOptions, io.greptime.v1.RowData.FulltextOptions.Builder, io.greptime.v1.RowData.FulltextOptionsOrBuilder> - getFulltextFieldBuilder() { - if (fulltextBuilder_ == null) { - fulltextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - io.greptime.v1.RowData.FulltextOptions, io.greptime.v1.RowData.FulltextOptions.Builder, io.greptime.v1.RowData.FulltextOptionsOrBuilder>( - getFulltext(), - getParentForChildren(), - isClean()); - fulltext_ = null; - } - return fulltextBuilder_; - } - @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.ColumnOptions) - } - - // @@protoc_insertion_point(class_scope:greptime.v1.ColumnOptions) - private static final io.greptime.v1.RowData.ColumnOptions DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new io.greptime.v1.RowData.ColumnOptions(); - } - - public static io.greptime.v1.RowData.ColumnOptions getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ColumnOptions parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ColumnOptions(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.RowData.ColumnOptions getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface FulltextOptionsOrBuilder extends - // @@protoc_insertion_point(interface_extends:greptime.v1.FulltextOptions) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Indicates whether full-text search is enabled for the column.
-     * 
- * - * bool enable = 1; - * @return The enable. - */ - boolean getEnable(); - - /** - *
-     * The language-specific text analyzer to use for indexing and searching the text.
-     * Supported values are 'English' (Default) and 'Chinese'.
-     * 
- * - * string analyzer = 2; - * @return The analyzer. - */ - java.lang.String getAnalyzer(); - /** - *
-     * The language-specific text analyzer to use for indexing and searching the text.
-     * Supported values are 'English' (Default) and 'Chinese'.
-     * 
- * - * string analyzer = 2; - * @return The bytes for analyzer. - */ - com.google.protobuf.ByteString - getAnalyzerBytes(); - - /** - *
-     * Indicates whether the text should be treated as case sensitive during full-text search.
-     * 
- * - * bool case_sensitive = 3; - * @return The caseSensitive. - */ - boolean getCaseSensitive(); - } - /** - * Protobuf type {@code greptime.v1.FulltextOptions} - */ - public static final class FulltextOptions extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:greptime.v1.FulltextOptions) - FulltextOptionsOrBuilder { - private static final long serialVersionUID = 0L; - // Use FulltextOptions.newBuilder() to construct. - private FulltextOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private FulltextOptions() { - analyzer_ = ""; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new FulltextOptions(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private FulltextOptions( - 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: { - - enable_ = input.readBool(); - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - analyzer_ = s; - break; - } - case 24: { - - caseSensitive_ = input.readBool(); - 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.RowData.internal_static_greptime_v1_FulltextOptions_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_fieldAccessorTable - .ensureFieldAccessorsInitialized( - io.greptime.v1.RowData.FulltextOptions.class, io.greptime.v1.RowData.FulltextOptions.Builder.class); - } - - public static final int ENABLE_FIELD_NUMBER = 1; - private boolean enable_; - /** - *
-     * Indicates whether full-text search is enabled for the column.
-     * 
- * - * bool enable = 1; - * @return The enable. - */ - @java.lang.Override - public boolean getEnable() { - return enable_; - } - - public static final int ANALYZER_FIELD_NUMBER = 2; - private volatile java.lang.Object analyzer_; - /** - *
-     * The language-specific text analyzer to use for indexing and searching the text.
-     * Supported values are 'English' (Default) and 'Chinese'.
-     * 
- * - * string analyzer = 2; - * @return The analyzer. - */ - @java.lang.Override - public java.lang.String getAnalyzer() { - java.lang.Object ref = analyzer_; - 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(); - analyzer_ = s; - return s; - } - } - /** - *
-     * The language-specific text analyzer to use for indexing and searching the text.
-     * Supported values are 'English' (Default) and 'Chinese'.
-     * 
- * - * string analyzer = 2; - * @return The bytes for analyzer. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getAnalyzerBytes() { - java.lang.Object ref = analyzer_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - analyzer_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int CASE_SENSITIVE_FIELD_NUMBER = 3; - private boolean caseSensitive_; - /** - *
-     * Indicates whether the text should be treated as case sensitive during full-text search.
-     * 
- * - * bool case_sensitive = 3; - * @return The caseSensitive. - */ - @java.lang.Override - public boolean getCaseSensitive() { - return caseSensitive_; - } - - 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 (enable_ != false) { - output.writeBool(1, enable_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(analyzer_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, analyzer_); - } - if (caseSensitive_ != false) { - output.writeBool(3, caseSensitive_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (enable_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(1, enable_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(analyzer_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, analyzer_); - } - if (caseSensitive_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, caseSensitive_); - } - 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.RowData.FulltextOptions)) { - return super.equals(obj); - } - io.greptime.v1.RowData.FulltextOptions other = (io.greptime.v1.RowData.FulltextOptions) obj; - - if (getEnable() - != other.getEnable()) return false; - if (!getAnalyzer() - .equals(other.getAnalyzer())) return false; - if (getCaseSensitive() - != other.getCaseSensitive()) 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) + ENABLE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getEnable()); - hash = (37 * hash) + ANALYZER_FIELD_NUMBER; - hash = (53 * hash) + getAnalyzer().hashCode(); - hash = (37 * hash) + CASE_SENSITIVE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getCaseSensitive()); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static io.greptime.v1.RowData.FulltextOptions parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static io.greptime.v1.RowData.FulltextOptions parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static io.greptime.v1.RowData.FulltextOptions parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static io.greptime.v1.RowData.FulltextOptions 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.RowData.FulltextOptions 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.FulltextOptions} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:greptime.v1.FulltextOptions) - io.greptime.v1.RowData.FulltextOptionsOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_fieldAccessorTable - .ensureFieldAccessorsInitialized( - io.greptime.v1.RowData.FulltextOptions.class, io.greptime.v1.RowData.FulltextOptions.Builder.class); - } - - // Construct using io.greptime.v1.RowData.FulltextOptions.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(); - enable_ = false; - - analyzer_ = ""; - - caseSensitive_ = false; - - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return io.greptime.v1.RowData.internal_static_greptime_v1_FulltextOptions_descriptor; - } - - @java.lang.Override - public io.greptime.v1.RowData.FulltextOptions getDefaultInstanceForType() { - return io.greptime.v1.RowData.FulltextOptions.getDefaultInstance(); - } - - @java.lang.Override - public io.greptime.v1.RowData.FulltextOptions build() { - io.greptime.v1.RowData.FulltextOptions result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public io.greptime.v1.RowData.FulltextOptions buildPartial() { - io.greptime.v1.RowData.FulltextOptions result = new io.greptime.v1.RowData.FulltextOptions(this); - result.enable_ = enable_; - result.analyzer_ = analyzer_; - result.caseSensitive_ = caseSensitive_; - 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.RowData.FulltextOptions) { - return mergeFrom((io.greptime.v1.RowData.FulltextOptions)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(io.greptime.v1.RowData.FulltextOptions other) { - if (other == io.greptime.v1.RowData.FulltextOptions.getDefaultInstance()) return this; - if (other.getEnable() != false) { - setEnable(other.getEnable()); - } - if (!other.getAnalyzer().isEmpty()) { - analyzer_ = other.analyzer_; - onChanged(); - } - if (other.getCaseSensitive() != false) { - setCaseSensitive(other.getCaseSensitive()); - } - 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.RowData.FulltextOptions parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (io.greptime.v1.RowData.FulltextOptions) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private boolean enable_ ; - /** - *
-       * Indicates whether full-text search is enabled for the column.
-       * 
- * - * bool enable = 1; - * @return The enable. - */ - @java.lang.Override - public boolean getEnable() { - return enable_; - } - /** - *
-       * Indicates whether full-text search is enabled for the column.
-       * 
- * - * bool enable = 1; - * @param value The enable to set. - * @return This builder for chaining. - */ - public Builder setEnable(boolean value) { - - enable_ = value; - onChanged(); - return this; - } - /** - *
-       * Indicates whether full-text search is enabled for the column.
-       * 
- * - * bool enable = 1; - * @return This builder for chaining. - */ - public Builder clearEnable() { - - enable_ = false; - onChanged(); - return this; - } - - private java.lang.Object analyzer_ = ""; - /** - *
-       * The language-specific text analyzer to use for indexing and searching the text.
-       * Supported values are 'English' (Default) and 'Chinese'.
-       * 
- * - * string analyzer = 2; - * @return The analyzer. - */ - public java.lang.String getAnalyzer() { - java.lang.Object ref = analyzer_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - analyzer_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The language-specific text analyzer to use for indexing and searching the text.
-       * Supported values are 'English' (Default) and 'Chinese'.
-       * 
- * - * string analyzer = 2; - * @return The bytes for analyzer. - */ - public com.google.protobuf.ByteString - getAnalyzerBytes() { - java.lang.Object ref = analyzer_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - analyzer_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The language-specific text analyzer to use for indexing and searching the text.
-       * Supported values are 'English' (Default) and 'Chinese'.
-       * 
- * - * string analyzer = 2; - * @param value The analyzer to set. - * @return This builder for chaining. - */ - public Builder setAnalyzer( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - analyzer_ = value; - onChanged(); - return this; - } - /** - *
-       * The language-specific text analyzer to use for indexing and searching the text.
-       * Supported values are 'English' (Default) and 'Chinese'.
-       * 
- * - * string analyzer = 2; - * @return This builder for chaining. - */ - public Builder clearAnalyzer() { - - analyzer_ = getDefaultInstance().getAnalyzer(); - onChanged(); - return this; - } - /** - *
-       * The language-specific text analyzer to use for indexing and searching the text.
-       * Supported values are 'English' (Default) and 'Chinese'.
-       * 
- * - * string analyzer = 2; - * @param value The bytes for analyzer to set. - * @return This builder for chaining. - */ - public Builder setAnalyzerBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - analyzer_ = value; - onChanged(); - return this; - } - - private boolean caseSensitive_ ; - /** - *
-       * Indicates whether the text should be treated as case sensitive during full-text search.
-       * 
- * - * bool case_sensitive = 3; - * @return The caseSensitive. - */ - @java.lang.Override - public boolean getCaseSensitive() { - return caseSensitive_; - } - /** - *
-       * Indicates whether the text should be treated as case sensitive during full-text search.
-       * 
- * - * bool case_sensitive = 3; - * @param value The caseSensitive to set. - * @return This builder for chaining. - */ - public Builder setCaseSensitive(boolean value) { - - caseSensitive_ = value; - onChanged(); - return this; - } - /** - *
-       * Indicates whether the text should be treated as case sensitive during full-text search.
-       * 
- * - * bool case_sensitive = 3; - * @return This builder for chaining. - */ - public Builder clearCaseSensitive() { - - caseSensitive_ = false; - 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.FulltextOptions) - } - - // @@protoc_insertion_point(class_scope:greptime.v1.FulltextOptions) - private static final io.greptime.v1.RowData.FulltextOptions DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new io.greptime.v1.RowData.FulltextOptions(); - } - - public static io.greptime.v1.RowData.FulltextOptions getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public FulltextOptions parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new FulltextOptions(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.RowData.FulltextOptions getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Rows_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Rows_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_ColumnSchema_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_ColumnSchema_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Row_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Row_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Value_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Value_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_ColumnOptions_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_ColumnOptions_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_FulltextOptions_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_FulltextOptions_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; } private static com.google.protobuf.Descriptors.FileDescriptor descriptor; @@ -8472,41 +7305,39 @@ public io.greptime.v1.RowData.FulltextOptions getDefaultInstanceForType() { "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" + "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" + "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" + - "s\030\002 \003(\0132\020.greptime.v1.Row\"\363\001\n\014ColumnSche" + + "s\030\002 \003(\0132\020.greptime.v1.Row\"\257\002\n\014ColumnSche" + "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" + "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" + "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" + "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." + - "v1.ColumnDataTypeExtension\022+\n\007options\030\005 " + - "\001(\0132\032.greptime.v1.ColumnOptions\")\n\003Row\022\"" + - "\n\006values\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005V" + - "alue\022\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 " + - "\001(\005H\000\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030" + - "\004 \001(\003H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value" + - "\030\006 \001(\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_val" + - "ue\030\010 \001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_v" + - "alue\030\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014bi" + - "nary_value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\t" + - "H\000\022\024\n\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_val" + - "ue\030\017 \001(\003H\000\022 \n\026timestamp_second_value\030\020 \001" + - "(\003H\000\022%\n\033timestamp_millisecond_value\030\021 \001(" + - "\003H\000\022%\n\033timestamp_microsecond_value\030\022 \001(\003" + - "H\000\022$\n\032timestamp_nanosecond_value\030\023 \001(\003H\000" + - "\022\033\n\021time_second_value\030\024 \001(\003H\000\022 \n\026time_mi" + - "llisecond_value\030\025 \001(\003H\000\022 \n\026time_microsec" + - "ond_value\030\026 \001(\003H\000\022\037\n\025time_nanosecond_val" + - "ue\030\027 \001(\003H\000\022#\n\031interval_year_month_value\030" + - "\030 \001(\005H\000\022!\n\027interval_day_time_value\030\031 \001(\003" + - "H\000\022J\n\035interval_month_day_nano_value\030\032 \001(" + - "\0132!.greptime.v1.IntervalMonthDayNanoH\000\0223" + - "\n\020decimal128_value\030\037 \001(\0132\027.greptime.v1.D" + - "ecimal128H\000B\014\n\nvalue_data\"?\n\rColumnOptio" + - "ns\022.\n\010fulltext\030\001 \001(\0132\034.greptime.v1.Fullt" + - "extOptions\"K\n\017FulltextOptions\022\016\n\006enable\030" + - "\001 \001(\010\022\020\n\010analyzer\030\002 \001(\t\022\026\n\016case_sensitiv" + - "e\030\003 \001(\010BP\n\016io.greptime.v1B\007RowDataZ5gith" + - "ub.com/GreptimeTeam/greptime-proto/go/gr" + - "eptime/v1b\006proto3" + "v1.ColumnDataTypeExtension\0227\n\007options\030\005 " + + "\003(\0132&.greptime.v1.ColumnSchema.OptionsEn" + + "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + + "e\030\002 \001(\t:\0028\001\")\n\003Row\022\"\n\006values\030\001 \003(\0132\022.gre" + + "ptime.v1.Value\"\274\006\n\005Value\022\022\n\010i8_value\030\001 \001" + + "(\005H\000\022\023\n\ti16_value\030\002 \001(\005H\000\022\023\n\ti32_value\030\003" + + " \001(\005H\000\022\023\n\ti64_value\030\004 \001(\003H\000\022\022\n\010u8_value\030" + + "\005 \001(\rH\000\022\023\n\tu16_value\030\006 \001(\rH\000\022\023\n\tu32_valu" + + "e\030\007 \001(\rH\000\022\023\n\tu64_value\030\010 \001(\004H\000\022\023\n\tf32_va" + + "lue\030\t \001(\002H\000\022\023\n\tf64_value\030\n \001(\001H\000\022\024\n\nbool" + + "_value\030\013 \001(\010H\000\022\026\n\014binary_value\030\014 \001(\014H\000\022\026" + + "\n\014string_value\030\r \001(\tH\000\022\024\n\ndate_value\030\016 \001" + + "(\005H\000\022\030\n\016datetime_value\030\017 \001(\003H\000\022 \n\026timest" + + "amp_second_value\030\020 \001(\003H\000\022%\n\033timestamp_mi" + + "llisecond_value\030\021 \001(\003H\000\022%\n\033timestamp_mic" + + "rosecond_value\030\022 \001(\003H\000\022$\n\032timestamp_nano" + + "second_value\030\023 \001(\003H\000\022\033\n\021time_second_valu" + + "e\030\024 \001(\003H\000\022 \n\026time_millisecond_value\030\025 \001(" + + "\003H\000\022 \n\026time_microsecond_value\030\026 \001(\003H\000\022\037\n" + + "\025time_nanosecond_value\030\027 \001(\003H\000\022#\n\031interv" + + "al_year_month_value\030\030 \001(\005H\000\022!\n\027interval_" + + "day_time_value\030\031 \001(\003H\000\022J\n\035interval_month" + + "_day_nano_value\030\032 \001(\0132!.greptime.v1.Inte" + + "rvalMonthDayNanoH\000\0223\n\020decimal128_value\030\037" + + " \001(\0132\027.greptime.v1.Decimal128H\000B\014\n\nvalue" + + "_dataBP\n\016io.greptime.v1B\007RowDataZ5github" + + ".com/GreptimeTeam/greptime-proto/go/grep" + + "time/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -8525,6 +7356,12 @@ public io.greptime.v1.RowData.FulltextOptions getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_ColumnSchema_descriptor, new java.lang.String[] { "ColumnName", "Datatype", "SemanticType", "DatatypeExtension", "Options", }); + internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor = + internal_static_greptime_v1_ColumnSchema_descriptor.getNestedTypes().get(0); + internal_static_greptime_v1_ColumnSchema_OptionsEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); internal_static_greptime_v1_Row_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_greptime_v1_Row_fieldAccessorTable = new @@ -8537,18 +7374,6 @@ public io.greptime.v1.RowData.FulltextOptions getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_Value_descriptor, new java.lang.String[] { "I8Value", "I16Value", "I32Value", "I64Value", "U8Value", "U16Value", "U32Value", "U64Value", "F32Value", "F64Value", "BoolValue", "BinaryValue", "StringValue", "DateValue", "DatetimeValue", "TimestampSecondValue", "TimestampMillisecondValue", "TimestampMicrosecondValue", "TimestampNanosecondValue", "TimeSecondValue", "TimeMillisecondValue", "TimeMicrosecondValue", "TimeNanosecondValue", "IntervalYearMonthValue", "IntervalDayTimeValue", "IntervalMonthDayNanoValue", "Decimal128Value", "ValueData", }); - internal_static_greptime_v1_ColumnOptions_descriptor = - getDescriptor().getMessageTypes().get(4); - internal_static_greptime_v1_ColumnOptions_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_ColumnOptions_descriptor, - new java.lang.String[] { "Fulltext", }); - internal_static_greptime_v1_FulltextOptions_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_greptime_v1_FulltextOptions_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_FulltextOptions_descriptor, - new java.lang.String[] { "Enable", "Analyzer", "CaseSensitive", }); io.greptime.v1.Common.getDescriptor(); } diff --git a/proto/greptime/v1/row.proto b/proto/greptime/v1/row.proto index 4026d6fd..9ae09f03 100644 --- a/proto/greptime/v1/row.proto +++ b/proto/greptime/v1/row.proto @@ -36,7 +36,22 @@ message ColumnSchema { ColumnDataTypeExtension datatype_extension = 4; // Additional options for the column. - ColumnOptions options = 5; + // + // Supported keys: + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is enabled for the column. + // "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. + // // Supported values are "English" (Default) and "Chinese". + // "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + map options = 5; } message Row { repeated Value values = 1; } @@ -76,20 +91,3 @@ message Value { Decimal128 decimal128_value = 31; } } - -message ColumnOptions { - // Options for fulltext. - FulltextOptions fulltext = 1; -} - -message FulltextOptions { - // Indicates whether full-text search is enabled for the column. - bool enable = 1; - - // The language-specific text analyzer to use for indexing and searching the text. - // Supported values are 'English' (Default) and 'Chinese'. - string analyzer = 2; - - // Indicates whether the text should be treated as case sensitive during full-text search. - bool case_sensitive = 3; -} From b8493508b01c86545b67c891a7af50fc837751b0 Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Mon, 24 Jun 2024 07:19:06 +0000 Subject: [PATCH 3/6] chore: polish Signed-off-by: Zhenchi --- proto/greptime/v1/row.proto | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/proto/greptime/v1/row.proto b/proto/greptime/v1/row.proto index 9ae09f03..8cae323b 100644 --- a/proto/greptime/v1/row.proto +++ b/proto/greptime/v1/row.proto @@ -43,10 +43,15 @@ message ColumnSchema { // // The fulltext options JSON structure: // { - // "enable": bool, // Indicates whether full-text search is enabled for the column. - // "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - // // Supported values are "English" (Default) and "Chinese". - // "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. // } // // Example: From 7af08d2474fdea7d3cafa95ce5360fb9ce5956a0 Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Mon, 24 Jun 2024 07:41:44 +0000 Subject: [PATCH 4/6] chore: copy every where Signed-off-by: Zhenchi --- proto/greptime/v1/column.proto | 23 +++++++++++++++++++++++ proto/greptime/v1/ddl.proto | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/proto/greptime/v1/column.proto b/proto/greptime/v1/column.proto index 6a23ec0a..70cf6058 100644 --- a/proto/greptime/v1/column.proto +++ b/proto/greptime/v1/column.proto @@ -80,4 +80,27 @@ message Column { // Extension for ColumnDataType. ColumnDataTypeExtension datatype_extension = 6; + + // Additional options for the column. + // + // Supported keys: + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + map options = 7; } diff --git a/proto/greptime/v1/ddl.proto b/proto/greptime/v1/ddl.proto index 7fa181f1..3fd8229d 100644 --- a/proto/greptime/v1/ddl.proto +++ b/proto/greptime/v1/ddl.proto @@ -169,8 +169,32 @@ message ColumnDef { bytes default_constraint = 4; SemanticType semantic_type = 5; string comment = 6; + // Extension for ColumnDataType. ColumnDataTypeExtension datatype_extension = 7; + + // Additional options for the column. + // + // Supported keys: + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + map options = 8; } message AddColumnLocation { From 50003973a21060f6c0e3143dfde30ef1f70a40a7 Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Sun, 7 Jul 2024 17:58:39 +0000 Subject: [PATCH 5/6] doc: polish Signed-off-by: Zhenchi --- c++/greptime/v1/column.pb.cc | 177 ++++- c++/greptime/v1/column.pb.h | 95 ++- c++/greptime/v1/ddl.pb.cc | 150 +++- c++/greptime/v1/ddl.pb.h | 95 ++- go/greptime/v1/column.pb.go | 246 ++++--- go/greptime/v1/ddl.pb.go | 122 +-- go/greptime/v1/row.pb.go | 13 +- .../src/main/java/io/greptime/v1/Columns.java | 692 +++++++++++++++++- java/src/main/java/io/greptime/v1/Ddl.java | 661 ++++++++++++++++- .../src/main/java/io/greptime/v1/RowData.java | 176 +++-- 10 files changed, 2128 insertions(+), 299 deletions(-) diff --git a/c++/greptime/v1/column.pb.cc b/c++/greptime/v1/column.pb.cc index 34ac0d64..2f7bccb5 100644 --- a/c++/greptime/v1/column.pb.cc +++ b/c++/greptime/v1/column.pb.cc @@ -81,9 +81,21 @@ struct Column_ValuesDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Column_ValuesDefaultTypeInternal _Column_Values_default_instance_; +PROTOBUF_CONSTEXPR Column_OptionsEntry_DoNotUse::Column_OptionsEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct Column_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR Column_OptionsEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~Column_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + Column_OptionsEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Column_OptionsEntry_DoNotUseDefaultTypeInternal _Column_OptionsEntry_DoNotUse_default_instance_; PROTOBUF_CONSTEXPR Column::Column( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.null_mask_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.values_)*/nullptr , /*decltype(_impl_.datatype_extension_)*/nullptr @@ -101,7 +113,7 @@ struct ColumnDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefaultTypeInternal _Column_default_instance_; } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcolumn_2eproto[2]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcolumn_2eproto[3]; static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2fcolumn_2eproto = nullptr; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fcolumn_2eproto = nullptr; @@ -139,6 +151,16 @@ const uint32_t TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets[] PROTOBUF_SE PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.interval_day_time_values_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.interval_month_day_nano_values_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.decimal128_values_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, value_), + 0, + 1, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _internal_metadata_), ~0u, // no _extensions_ @@ -151,58 +173,63 @@ const uint32_t TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets[] PROTOBUF_SE PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _impl_.null_mask_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _impl_.datatype_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _impl_.datatype_extension_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _impl_.options_), }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::greptime::v1::Column_Values)}, - { 33, -1, -1, sizeof(::greptime::v1::Column)}, + { 33, 41, -1, sizeof(::greptime::v1::Column_OptionsEntry_DoNotUse)}, + { 43, -1, -1, sizeof(::greptime::v1::Column)}, }; static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_Column_Values_default_instance_._instance, + &::greptime::v1::_Column_OptionsEntry_DoNotUse_default_instance_._instance, &::greptime::v1::_Column_default_instance_._instance, }; const char descriptor_table_protodef_greptime_2fv1_2fcolumn_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\030greptime/v1/column.proto\022\013greptime.v1\032" - "\030greptime/v1/common.proto\"\226\010\n\006Column\022\023\n\013" + "\030greptime/v1/common.proto\"\371\010\n\006Column\022\023\n\013" "column_name\030\001 \001(\t\0220\n\rsemantic_type\030\002 \001(\016" "2\031.greptime.v1.SemanticType\022*\n\006values\030\003 " "\001(\0132\032.greptime.v1.Column.Values\022\021\n\tnull_" "mask\030\004 \001(\014\022-\n\010datatype\030\005 \001(\0162\033.greptime." "v1.ColumnDataType\022@\n\022datatype_extension\030" "\006 \001(\0132$.greptime.v1.ColumnDataTypeExtens" - "ion\032\224\006\n\006Values\022\021\n\ti8_values\030\001 \003(\005\022\022\n\ni16" - "_values\030\002 \003(\005\022\022\n\ni32_values\030\003 \003(\005\022\022\n\ni64" - "_values\030\004 \003(\003\022\021\n\tu8_values\030\005 \003(\r\022\022\n\nu16_" - "values\030\006 \003(\r\022\022\n\nu32_values\030\007 \003(\r\022\022\n\nu64_" - "values\030\010 \003(\004\022\022\n\nf32_values\030\t \003(\002\022\022\n\nf64_" - "values\030\n \003(\001\022\023\n\013bool_values\030\013 \003(\010\022\025\n\rbin" - "ary_values\030\014 \003(\014\022\025\n\rstring_values\030\r \003(\t\022" - "\023\n\013date_values\030\016 \003(\005\022\027\n\017datetime_values\030" - "\017 \003(\003\022\037\n\027timestamp_second_values\030\020 \003(\003\022$" - "\n\034timestamp_millisecond_values\030\021 \003(\003\022$\n\034" - "timestamp_microsecond_values\030\022 \003(\003\022#\n\033ti" - "mestamp_nanosecond_values\030\023 \003(\003\022\032\n\022time_" - "second_values\030\024 \003(\003\022\037\n\027time_millisecond_" - "values\030\025 \003(\003\022\037\n\027time_microsecond_values\030" - "\026 \003(\003\022\036\n\026time_nanosecond_values\030\027 \003(\003\022\"\n" - "\032interval_year_month_values\030\030 \003(\005\022 \n\030int" - "erval_day_time_values\030\031 \003(\003\022I\n\036interval_" - "month_day_nano_values\030\032 \003(\0132!.greptime.v" - "1.IntervalMonthDayNano\0222\n\021decimal128_val" - "ues\030\037 \003(\0132\027.greptime.v1.Decimal128BP\n\016io" - ".greptime.v1B\007ColumnsZ5github.com/Grepti" - "meTeam/greptime-proto/go/greptime/v1b\006pr" - "oto3" + "ion\0221\n\007options\030\007 \003(\0132 .greptime.v1.Colum" + "n.OptionsEntry\032\224\006\n\006Values\022\021\n\ti8_values\030\001" + " \003(\005\022\022\n\ni16_values\030\002 \003(\005\022\022\n\ni32_values\030\003" + " \003(\005\022\022\n\ni64_values\030\004 \003(\003\022\021\n\tu8_values\030\005 " + "\003(\r\022\022\n\nu16_values\030\006 \003(\r\022\022\n\nu32_values\030\007 " + "\003(\r\022\022\n\nu64_values\030\010 \003(\004\022\022\n\nf32_values\030\t " + "\003(\002\022\022\n\nf64_values\030\n \003(\001\022\023\n\013bool_values\030\013" + " \003(\010\022\025\n\rbinary_values\030\014 \003(\014\022\025\n\rstring_va" + "lues\030\r \003(\t\022\023\n\013date_values\030\016 \003(\005\022\027\n\017datet" + "ime_values\030\017 \003(\003\022\037\n\027timestamp_second_val" + "ues\030\020 \003(\003\022$\n\034timestamp_millisecond_value" + "s\030\021 \003(\003\022$\n\034timestamp_microsecond_values\030" + "\022 \003(\003\022#\n\033timestamp_nanosecond_values\030\023 \003" + "(\003\022\032\n\022time_second_values\030\024 \003(\003\022\037\n\027time_m" + "illisecond_values\030\025 \003(\003\022\037\n\027time_microsec" + "ond_values\030\026 \003(\003\022\036\n\026time_nanosecond_valu" + "es\030\027 \003(\003\022\"\n\032interval_year_month_values\030\030" + " \003(\005\022 \n\030interval_day_time_values\030\031 \003(\003\022I" + "\n\036interval_month_day_nano_values\030\032 \003(\0132!" + ".greptime.v1.IntervalMonthDayNano\0222\n\021dec" + "imal128_values\030\037 \003(\0132\027.greptime.v1.Decim" + "al128\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" + "lue\030\002 \001(\t:\0028\001BP\n\016io.greptime.v1B\007Columns" + "Z5github.com/GreptimeTeam/greptime-proto" + "/go/greptime/v1b\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fcolumn_2eproto_deps[1] = { &::descriptor_table_greptime_2fv1_2fcommon_2eproto, }; static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fcolumn_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fcolumn_2eproto = { - false, false, 1204, descriptor_table_protodef_greptime_2fv1_2fcolumn_2eproto, + false, false, 1303, descriptor_table_protodef_greptime_2fv1_2fcolumn_2eproto, "greptime/v1/column.proto", - &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, descriptor_table_greptime_2fv1_2fcolumn_2eproto_deps, 1, 2, + &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, descriptor_table_greptime_2fv1_2fcolumn_2eproto_deps, 1, 3, schemas, file_default_instances, TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets, file_level_metadata_greptime_2fv1_2fcolumn_2eproto, file_level_enum_descriptors_greptime_2fv1_2fcolumn_2eproto, file_level_service_descriptors_greptime_2fv1_2fcolumn_2eproto, @@ -1455,6 +1482,20 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Column_Values::GetMetadata() const { // =================================================================== +Column_OptionsEntry_DoNotUse::Column_OptionsEntry_DoNotUse() {} +Column_OptionsEntry_DoNotUse::Column_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void Column_OptionsEntry_DoNotUse::MergeFrom(const Column_OptionsEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata Column_OptionsEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_greptime_2fv1_2fcolumn_2eproto_getter, &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, + file_level_metadata_greptime_2fv1_2fcolumn_2eproto[1]); +} + +// =================================================================== + class Column::_Internal { public: static const ::greptime::v1::Column_Values& values(const Column* msg); @@ -1479,13 +1520,17 @@ Column::Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); + if (arena != nullptr && !is_message_owned) { + arena->OwnCustomDestructor(this, &Column::ArenaDtor); + } // @@protoc_insertion_point(arena_constructor:greptime.v1.Column) } Column::Column(const Column& from) : ::PROTOBUF_NAMESPACE_ID::Message() { Column* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.column_name_){} + /*decltype(_impl_.options_)*/{} + , decltype(_impl_.column_name_){} , decltype(_impl_.null_mask_){} , decltype(_impl_.values_){nullptr} , decltype(_impl_.datatype_extension_){nullptr} @@ -1494,6 +1539,7 @@ Column::Column(const Column& from) , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.options_.MergeFrom(from._impl_.options_); _impl_.column_name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.column_name_.Set("", GetArenaForAllocation()); @@ -1527,7 +1573,8 @@ inline void Column::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.column_name_){} + /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.column_name_){} , decltype(_impl_.null_mask_){} , decltype(_impl_.values_){nullptr} , decltype(_impl_.datatype_extension_){nullptr} @@ -1549,6 +1596,7 @@ Column::~Column() { // @@protoc_insertion_point(destructor:greptime.v1.Column) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; + ArenaDtor(this); return; } SharedDtor(); @@ -1556,12 +1604,18 @@ Column::~Column() { inline void Column::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.options_.Destruct(); + _impl_.options_.~MapField(); _impl_.column_name_.Destroy(); _impl_.null_mask_.Destroy(); if (this != internal_default_instance()) delete _impl_.values_; if (this != internal_default_instance()) delete _impl_.datatype_extension_; } +void Column::ArenaDtor(void* object) { + Column* _this = reinterpret_cast< Column* >(object); + _this->_impl_.options_.Destruct(); +} void Column::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } @@ -1572,6 +1626,7 @@ void Column::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + _impl_.options_.Clear(); _impl_.column_name_.ClearToEmpty(); _impl_.null_mask_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && _impl_.values_ != nullptr) { @@ -1647,6 +1702,19 @@ const char* Column::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { } else goto handle_unusual; continue; + // map options = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.options_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr)); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -1720,6 +1788,36 @@ uint8_t* Column::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } + // map options = 7; + if (!this->_internal_options().empty()) { + using MapType = ::_pb::Map; + using WireHelper = Column_OptionsEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_options(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.Column.OptionsEntry.key"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.second.data(), static_cast(entry.second.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.Column.OptionsEntry.value"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(7, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(7, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } + } + 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); @@ -1736,6 +1834,15 @@ size_t Column::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // map options = 7; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_options().begin(); + it != this->_internal_options().end(); ++it) { + total_size += Column_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + // string column_name = 1; if (!this->_internal_column_name().empty()) { total_size += 1 + @@ -1794,6 +1901,7 @@ void Column::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBU uint32_t cached_has_bits = 0; (void) cached_has_bits; + _this->_impl_.options_.MergeFrom(from._impl_.options_); if (!from._internal_column_name().empty()) { _this->_internal_set_column_name(from._internal_column_name()); } @@ -1833,6 +1941,7 @@ void Column::InternalSwap(Column* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.options_.InternalSwap(&other->_impl_.options_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.column_name_, lhs_arena, &other->_impl_.column_name_, rhs_arena @@ -1852,7 +1961,7 @@ void Column::InternalSwap(Column* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Column::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2fcolumn_2eproto_getter, &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, - file_level_metadata_greptime_2fv1_2fcolumn_2eproto[1]); + file_level_metadata_greptime_2fv1_2fcolumn_2eproto[2]); } // @@protoc_insertion_point(namespace_scope) @@ -1863,6 +1972,10 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::Column_Values* Arena::CreateMaybeMessage< ::greptime::v1::Column_Values >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Column_Values >(arena); } +template<> PROTOBUF_NOINLINE ::greptime::v1::Column_OptionsEntry_DoNotUse* +Arena::CreateMaybeMessage< ::greptime::v1::Column_OptionsEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::Column_OptionsEntry_DoNotUse >(arena); +} template<> PROTOBUF_NOINLINE ::greptime::v1::Column* Arena::CreateMaybeMessage< ::greptime::v1::Column >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Column >(arena); diff --git a/c++/greptime/v1/column.pb.h b/c++/greptime/v1/column.pb.h index c105cbef..80493d5a 100644 --- a/c++/greptime/v1/column.pb.h +++ b/c++/greptime/v1/column.pb.h @@ -29,6 +29,9 @@ #include #include // IWYU pragma: export #include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include #include #include "greptime/v1/common.pb.h" // @@protoc_insertion_point(includes) @@ -50,6 +53,9 @@ namespace v1 { class Column; struct ColumnDefaultTypeInternal; extern ColumnDefaultTypeInternal _Column_default_instance_; +class Column_OptionsEntry_DoNotUse; +struct Column_OptionsEntry_DoNotUseDefaultTypeInternal; +extern Column_OptionsEntry_DoNotUseDefaultTypeInternal _Column_OptionsEntry_DoNotUse_default_instance_; class Column_Values; struct Column_ValuesDefaultTypeInternal; extern Column_ValuesDefaultTypeInternal _Column_Values_default_instance_; @@ -57,6 +63,7 @@ extern Column_ValuesDefaultTypeInternal _Column_Values_default_instance_; } // namespace greptime PROTOBUF_NAMESPACE_OPEN template<> ::greptime::v1::Column* Arena::CreateMaybeMessage<::greptime::v1::Column>(Arena*); +template<> ::greptime::v1::Column_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::Column_OptionsEntry_DoNotUse>(Arena*); template<> ::greptime::v1::Column_Values* Arena::CreateMaybeMessage<::greptime::v1::Column_Values>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace greptime { @@ -865,6 +872,34 @@ class Column_Values final : }; // ------------------------------------------------------------------- +class Column_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + Column_OptionsEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR Column_OptionsEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit Column_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const Column_OptionsEntry_DoNotUse& other); + static const Column_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_Column_OptionsEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.Column.OptionsEntry.key"); + } + static bool ValidateValue(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.Column.OptionsEntry.value"); + } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_greptime_2fv1_2fcolumn_2eproto; +}; + +// ------------------------------------------------------------------- + class Column final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.Column) */ { public: @@ -913,7 +948,7 @@ class Column final : &_Column_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 2; friend void swap(Column& a, Column& b) { a.Swap(&b); @@ -974,6 +1009,8 @@ class Column final : protected: explicit Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); + private: + static void ArenaDtor(void* object); public: static const ClassData _class_data_; @@ -988,6 +1025,7 @@ class Column final : // accessors ------------------------------------------------------- enum : int { + kOptionsFieldNumber = 7, kColumnNameFieldNumber = 1, kNullMaskFieldNumber = 4, kValuesFieldNumber = 3, @@ -995,6 +1033,23 @@ class Column final : kSemanticTypeFieldNumber = 2, kDatatypeFieldNumber = 5, }; + // map options = 7; + int options_size() const; + private: + int _internal_options_size() const; + public: + void clear_options(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + _internal_options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + _internal_mutable_options(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + mutable_options(); + // string column_name = 1; void clear_column_name(); const std::string& column_name() const; @@ -1085,6 +1140,11 @@ class Column final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + Column_OptionsEntry_DoNotUse, + std::string, std::string, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr null_mask_; ::greptime::v1::Column_Values* values_; @@ -2414,6 +2474,8 @@ Column_Values::decimal128_values() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // Column // string column_name = 1; @@ -2731,11 +2793,42 @@ inline void Column::set_allocated_datatype_extension(::greptime::v1::ColumnDataT // @@protoc_insertion_point(field_set_allocated:greptime.v1.Column.datatype_extension) } +// map options = 7; +inline int Column::_internal_options_size() const { + return _impl_.options_.size(); +} +inline int Column::options_size() const { + return _internal_options_size(); +} +inline void Column::clear_options() { + _impl_.options_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +Column::_internal_options() const { + return _impl_.options_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +Column::options() const { + // @@protoc_insertion_point(field_map:greptime.v1.Column.options) + return _internal_options(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +Column::_internal_mutable_options() { + return _impl_.options_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +Column::mutable_options() { + // @@protoc_insertion_point(field_mutable_map:greptime.v1.Column.options) + return _internal_mutable_options(); +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc index 537cd584..af039a37 100644 --- a/c++/greptime/v1/ddl.pb.cc +++ b/c++/greptime/v1/ddl.pb.cc @@ -367,9 +367,21 @@ struct FlowIdDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FlowIdDefaultTypeInternal _FlowId_default_instance_; +PROTOBUF_CONSTEXPR ColumnDef_OptionsEntry_DoNotUse::ColumnDef_OptionsEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + ColumnDef_OptionsEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnDef_OptionsEntry_DoNotUse_default_instance_; PROTOBUF_CONSTEXPR ColumnDef::ColumnDef( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.comment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.datatype_extension_)*/nullptr @@ -402,7 +414,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[25]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fddl_2eproto[26]; 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; @@ -640,6 +652,16 @@ 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::FlowId, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse, _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_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse, value_), + 0, + 1, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _internal_metadata_), ~0u, // no _extensions_ @@ -653,6 +675,7 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.semantic_type_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.comment_), PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.datatype_extension_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.options_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _internal_metadata_), ~0u, // no _extensions_ @@ -686,8 +709,9 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 212, -1, -1, sizeof(::greptime::v1::DropColumn)}, { 219, -1, -1, sizeof(::greptime::v1::TableId)}, { 226, -1, -1, sizeof(::greptime::v1::FlowId)}, - { 233, -1, -1, sizeof(::greptime::v1::ColumnDef)}, - { 246, -1, -1, sizeof(::greptime::v1::AddColumnLocation)}, + { 233, 241, -1, sizeof(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse)}, + { 243, -1, -1, sizeof(::greptime::v1::ColumnDef)}, + { 257, -1, -1, sizeof(::greptime::v1::AddColumnLocation)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -714,6 +738,7 @@ static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_DropColumn_default_instance_._instance, &::greptime::v1::_TableId_default_instance_._instance, &::greptime::v1::_FlowId_default_instance_._instance, + &::greptime::v1::_ColumnDef_OptionsEntry_DoNotUse_default_instance_._instance, &::greptime::v1::_ColumnDef_default_instance_._instance, &::greptime::v1::_AddColumnLocation_default_instance_._instance, }; @@ -800,28 +825,31 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT "type_extension\030\003 \001(\0132$.greptime.v1.Colum" "nDataTypeExtension\"\032\n\nDropColumn\022\014\n\004name" "\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022" - "\n\n\002id\030\001 \001(\r\"\377\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + "\n\n\002id\030\001 \001(\r\"\345\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" ".\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnD" "ataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_" "constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162" "\031.greptime.v1.SemanticType\022\017\n\007comment\030\006 " "\001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.grepti" - "me.v1.ColumnDataTypeExtension\"\230\001\n\021AddCol" - "umnLocation\022B\n\rlocation_type\030\001 \001(\0162+.gre" - "ptime.v1.AddColumnLocation.LocationType\022" - "\031\n\021after_column_name\030\002 \001(\t\"$\n\014LocationTy" - "pe\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime." - "v1B\003DdlZ5github.com/GreptimeTeam/greptim" - "e-proto/go/greptime/v1b\006proto3" + "me.v1.ColumnDataTypeExtension\0224\n\007options" + "\030\010 \003(\0132#.greptime.v1.ColumnDef.OptionsEn" + "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + "e\030\002 \001(\t:\0028\001\"\230\001\n\021AddColumnLocation\022B\n\rloc" + "ation_type\030\001 \001(\0162+.greptime.v1.AddColumn" + "Location.LocationType\022\031\n\021after_column_na" + "me\030\002 \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005A" + "FTER\020\001BL\n\016io.greptime.v1B\003DdlZ5github.co" + "m/GreptimeTeam/greptime-proto/go/greptim" + "e/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, 3750, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto, + false, false, 3852, 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, 25, + &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 26, 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, @@ -7800,6 +7828,20 @@ ::PROTOBUF_NAMESPACE_ID::Metadata FlowId::GetMetadata() const { // =================================================================== +ColumnDef_OptionsEntry_DoNotUse::ColumnDef_OptionsEntry_DoNotUse() {} +ColumnDef_OptionsEntry_DoNotUse::ColumnDef_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void ColumnDef_OptionsEntry_DoNotUse::MergeFrom(const ColumnDef_OptionsEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef_OptionsEntry_DoNotUse::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[23]); +} + +// =================================================================== + class ColumnDef::_Internal { public: static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const ColumnDef* msg); @@ -7819,13 +7861,17 @@ ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); + if (arena != nullptr && !is_message_owned) { + arena->OwnCustomDestructor(this, &ColumnDef::ArenaDtor); + } // @@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_.options_)*/{} + , decltype(_impl_.name_){} , decltype(_impl_.default_constraint_){} , decltype(_impl_.comment_){} , decltype(_impl_.datatype_extension_){nullptr} @@ -7835,6 +7881,7 @@ ColumnDef::ColumnDef(const ColumnDef& from) , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.options_.MergeFrom(from._impl_.options_); _impl_.name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.name_.Set("", GetArenaForAllocation()); @@ -7873,7 +7920,8 @@ inline void ColumnDef::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.name_){} + /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.name_){} , decltype(_impl_.default_constraint_){} , decltype(_impl_.comment_){} , decltype(_impl_.datatype_extension_){nullptr} @@ -7900,6 +7948,7 @@ ColumnDef::~ColumnDef() { // @@protoc_insertion_point(destructor:greptime.v1.ColumnDef) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; + ArenaDtor(this); return; } SharedDtor(); @@ -7907,12 +7956,18 @@ ColumnDef::~ColumnDef() { inline void ColumnDef::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.options_.Destruct(); + _impl_.options_.~MapField(); _impl_.name_.Destroy(); _impl_.default_constraint_.Destroy(); _impl_.comment_.Destroy(); if (this != internal_default_instance()) delete _impl_.datatype_extension_; } +void ColumnDef::ArenaDtor(void* object) { + ColumnDef* _this = reinterpret_cast< ColumnDef* >(object); + _this->_impl_.options_.Destruct(); +} void ColumnDef::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } @@ -7923,6 +7978,7 @@ void ColumnDef::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + _impl_.options_.Clear(); _impl_.name_.ClearToEmpty(); _impl_.default_constraint_.ClearToEmpty(); _impl_.comment_.ClearToEmpty(); @@ -8005,6 +8061,19 @@ const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx } else goto handle_unusual; continue; + // map options = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.options_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr)); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -8087,6 +8156,36 @@ uint8_t* ColumnDef::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } + // map options = 8; + if (!this->_internal_options().empty()) { + using MapType = ::_pb::Map; + using WireHelper = ColumnDef_OptionsEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_options(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.ColumnDef.OptionsEntry.key"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.second.data(), static_cast(entry.second.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.ColumnDef.OptionsEntry.value"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(8, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(8, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } + } + 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); @@ -8103,6 +8202,15 @@ size_t ColumnDef::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // map options = 8; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_options().begin(); + it != this->_internal_options().end(); ++it) { + total_size += ColumnDef_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + // string name = 1; if (!this->_internal_name().empty()) { total_size += 1 + @@ -8166,6 +8274,7 @@ void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT uint32_t cached_has_bits = 0; (void) cached_has_bits; + _this->_impl_.options_.MergeFrom(from._impl_.options_); if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); } @@ -8207,6 +8316,7 @@ void ColumnDef::InternalSwap(ColumnDef* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.options_.InternalSwap(&other->_impl_.options_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.name_, lhs_arena, &other->_impl_.name_, rhs_arena @@ -8230,7 +8340,7 @@ void ColumnDef::InternalSwap(ColumnDef* other) { ::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[23]); + file_level_metadata_greptime_2fv1_2fddl_2eproto[24]); } // =================================================================== @@ -8463,7 +8573,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[24]); + file_level_metadata_greptime_2fv1_2fddl_2eproto[25]); } // @@protoc_insertion_point(namespace_scope) @@ -8562,6 +8672,10 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::FlowId* Arena::CreateMaybeMessage< ::greptime::v1::FlowId >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::FlowId >(arena); } +template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse* +Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse >(arena); +} template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef* Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef >(arena); diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h index ff64e468..e7896dd2 100644 --- a/c++/greptime/v1/ddl.pb.h +++ b/c++/greptime/v1/ddl.pb.h @@ -72,6 +72,9 @@ extern ChangeColumnTypesDefaultTypeInternal _ChangeColumnTypes_default_instance_ class ColumnDef; struct ColumnDefDefaultTypeInternal; extern ColumnDefDefaultTypeInternal _ColumnDef_default_instance_; +class ColumnDef_OptionsEntry_DoNotUse; +struct ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal; +extern ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnDef_OptionsEntry_DoNotUse_default_instance_; class CreateDatabaseExpr; struct CreateDatabaseExprDefaultTypeInternal; extern CreateDatabaseExprDefaultTypeInternal _CreateDatabaseExpr_default_instance_; @@ -136,6 +139,7 @@ template<> ::greptime::v1::AlterExpr* Arena::CreateMaybeMessage<::greptime::v1:: template<> ::greptime::v1::ChangeColumnType* Arena::CreateMaybeMessage<::greptime::v1::ChangeColumnType>(Arena*); template<> ::greptime::v1::ChangeColumnTypes* Arena::CreateMaybeMessage<::greptime::v1::ChangeColumnTypes>(Arena*); template<> ::greptime::v1::ColumnDef* Arena::CreateMaybeMessage<::greptime::v1::ColumnDef>(Arena*); +template<> ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::ColumnDef_OptionsEntry_DoNotUse>(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::CreateFlowExpr* Arena::CreateMaybeMessage<::greptime::v1::CreateFlowExpr>(Arena*); @@ -4452,6 +4456,34 @@ class FlowId final : }; // ------------------------------------------------------------------- +class ColumnDef_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + ColumnDef_OptionsEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR ColumnDef_OptionsEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit ColumnDef_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const ColumnDef_OptionsEntry_DoNotUse& other); + static const ColumnDef_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ColumnDef_OptionsEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnDef.OptionsEntry.key"); + } + static bool ValidateValue(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnDef.OptionsEntry.value"); + } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_greptime_2fv1_2fddl_2eproto; +}; + +// ------------------------------------------------------------------- + class ColumnDef final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnDef) */ { public: @@ -4500,7 +4532,7 @@ class ColumnDef final : &_ColumnDef_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 24; friend void swap(ColumnDef& a, ColumnDef& b) { a.Swap(&b); @@ -4561,6 +4593,8 @@ class ColumnDef final : protected: explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); + private: + static void ArenaDtor(void* object); public: static const ClassData _class_data_; @@ -4570,9 +4604,11 @@ class ColumnDef final : // nested types ---------------------------------------------------- + // accessors ------------------------------------------------------- enum : int { + kOptionsFieldNumber = 8, kNameFieldNumber = 1, kDefaultConstraintFieldNumber = 4, kCommentFieldNumber = 6, @@ -4581,6 +4617,23 @@ class ColumnDef final : kIsNullableFieldNumber = 3, kSemanticTypeFieldNumber = 5, }; + // map options = 8; + int options_size() const; + private: + int _internal_options_size() const; + public: + void clear_options(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + _internal_options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + _internal_mutable_options(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + mutable_options(); + // string name = 1; void clear_name(); const std::string& name() const; @@ -4676,6 +4729,11 @@ class ColumnDef final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + ColumnDef_OptionsEntry_DoNotUse, + std::string, std::string, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comment_; @@ -4738,7 +4796,7 @@ class AddColumnLocation final : &_AddColumnLocation_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 25; friend void swap(AddColumnLocation& a, AddColumnLocation& b) { a.Swap(&b); @@ -9248,6 +9306,8 @@ inline void FlowId::set_id(uint32_t value) { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // ColumnDef // string name = 1; @@ -9545,6 +9605,35 @@ inline void ColumnDef::set_allocated_datatype_extension(::greptime::v1::ColumnDa // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.datatype_extension) } +// map options = 8; +inline int ColumnDef::_internal_options_size() const { + return _impl_.options_.size(); +} +inline int ColumnDef::options_size() const { + return _internal_options_size(); +} +inline void ColumnDef::clear_options() { + _impl_.options_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +ColumnDef::_internal_options() const { + return _impl_.options_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +ColumnDef::options() const { + // @@protoc_insertion_point(field_map:greptime.v1.ColumnDef.options) + return _internal_options(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +ColumnDef::_internal_mutable_options() { + return _impl_.options_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +ColumnDef::mutable_options() { + // @@protoc_insertion_point(field_mutable_map:greptime.v1.ColumnDef.options) + return _internal_mutable_options(); +} + // ------------------------------------------------------------------- // AddColumnLocation @@ -9670,6 +9759,8 @@ inline void AddColumnLocation::set_allocated_after_column_name(std::string* afte // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/go/greptime/v1/column.pb.go b/go/greptime/v1/column.pb.go index fca8adbc..b689d727 100644 --- a/go/greptime/v1/column.pb.go +++ b/go/greptime/v1/column.pb.go @@ -60,6 +60,29 @@ type Column struct { Datatype ColumnDataType `protobuf:"varint,5,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,6,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` + // Additional options for the column. + // + // Supported keys: + // + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + Options map[string]string `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Column) Reset() { @@ -136,6 +159,13 @@ func (x *Column) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } +func (x *Column) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + type Column_Values struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -398,7 +428,7 @@ var file_greptime_v1_column_proto_rawDesc = []byte{ 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x18, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xad, 0x0c, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x6f, 0x22, 0xa5, 0x0d, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, @@ -418,91 +448,99 @@ var file_greptime_v1_column_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x24, 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, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, - 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xe2, 0x09, 0x0a, - 0x06, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x38, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x69, 0x38, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x75, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x09, 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x09, 0x75, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x09, 0x75, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, - 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, - 0x09, 0x66, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x36, - 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, - 0x66, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, - 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0a, - 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, - 0x0c, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, - 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, - 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, - 0x15, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x03, 0x52, - 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x14, 0x20, 0x03, 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x4d, - 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, - 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x03, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, - 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, - 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, - 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, - 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x52, - 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, - 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x11, 0x64, - 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x52, - 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x42, 0x07, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 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, + 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe2, 0x09, 0x0a, 0x06, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x03, 0x52, 0x09, 0x69, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x08, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x31, + 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, + 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x33, 0x32, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x75, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x36, 0x34, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x75, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x33, 0x32, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, 0x66, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x66, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, + 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, + 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, + 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, + 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, + 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x17, + 0x20, 0x03, 0x28, 0x03, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x05, 0x52, 0x17, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, + 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x65, 0x0a, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, + 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, + 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x52, 0x1a, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, + 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x11, 0x64, 0x65, 0x63, 0x69, 0x6d, + 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x52, 0x10, 0x64, 0x65, 0x63, + 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 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, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 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 ( @@ -517,28 +555,30 @@ func file_greptime_v1_column_proto_rawDescGZIP() []byte { return file_greptime_v1_column_proto_rawDescData } -var file_greptime_v1_column_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_greptime_v1_column_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_greptime_v1_column_proto_goTypes = []interface{}{ (*Column)(nil), // 0: greptime.v1.Column (*Column_Values)(nil), // 1: greptime.v1.Column.Values - (SemanticType)(0), // 2: greptime.v1.SemanticType - (ColumnDataType)(0), // 3: greptime.v1.ColumnDataType - (*ColumnDataTypeExtension)(nil), // 4: greptime.v1.ColumnDataTypeExtension - (*IntervalMonthDayNano)(nil), // 5: greptime.v1.IntervalMonthDayNano - (*Decimal128)(nil), // 6: greptime.v1.Decimal128 + nil, // 2: greptime.v1.Column.OptionsEntry + (SemanticType)(0), // 3: greptime.v1.SemanticType + (ColumnDataType)(0), // 4: greptime.v1.ColumnDataType + (*ColumnDataTypeExtension)(nil), // 5: greptime.v1.ColumnDataTypeExtension + (*IntervalMonthDayNano)(nil), // 6: greptime.v1.IntervalMonthDayNano + (*Decimal128)(nil), // 7: greptime.v1.Decimal128 } var file_greptime_v1_column_proto_depIdxs = []int32{ - 2, // 0: greptime.v1.Column.semantic_type:type_name -> greptime.v1.SemanticType + 3, // 0: greptime.v1.Column.semantic_type:type_name -> greptime.v1.SemanticType 1, // 1: greptime.v1.Column.values:type_name -> greptime.v1.Column.Values - 3, // 2: greptime.v1.Column.datatype:type_name -> greptime.v1.ColumnDataType - 4, // 3: greptime.v1.Column.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 5, // 4: greptime.v1.Column.Values.interval_month_day_nano_values:type_name -> greptime.v1.IntervalMonthDayNano - 6, // 5: greptime.v1.Column.Values.decimal128_values:type_name -> greptime.v1.Decimal128 - 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 + 4, // 2: greptime.v1.Column.datatype:type_name -> greptime.v1.ColumnDataType + 5, // 3: greptime.v1.Column.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 2, // 4: greptime.v1.Column.options:type_name -> greptime.v1.Column.OptionsEntry + 6, // 5: greptime.v1.Column.Values.interval_month_day_nano_values:type_name -> greptime.v1.IntervalMonthDayNano + 7, // 6: greptime.v1.Column.Values.decimal128_values:type_name -> greptime.v1.Decimal128 + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_greptime_v1_column_proto_init() } @@ -579,7 +619,7 @@ func file_greptime_v1_column_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_column_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go index 82546331..9b28a52e 100644 --- a/go/greptime/v1/ddl.pb.go +++ b/go/greptime/v1/ddl.pb.go @@ -1636,6 +1636,29 @@ type ColumnDef struct { Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,7,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` + // Additional options for the column. + // + // Supported keys: + // + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + Options map[string]string `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ColumnDef) Reset() { @@ -1719,6 +1742,13 @@ func (x *ColumnDef) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } +func (x *ColumnDef) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + type AddColumnLocation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2043,7 +2073,7 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 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, 0x18, 0x0a, 0x06, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd8, 0x02, 0x0a, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd3, 0x03, 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, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -2065,24 +2095,32 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 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, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, + 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, 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 ( @@ -2098,7 +2136,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, 25) +var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_greptime_v1_ddl_proto_goTypes = []interface{}{ (AddColumnLocation_LocationType)(0), // 0: greptime.v1.AddColumnLocation.LocationType (*DdlRequest)(nil), // 1: greptime.v1.DdlRequest @@ -2126,11 +2164,12 @@ var file_greptime_v1_ddl_proto_goTypes = []interface{}{ nil, // 23: greptime.v1.CreateFlowExpr.FlowOptionsEntry nil, // 24: greptime.v1.CreateTableExpr.TableOptionsEntry nil, // 25: greptime.v1.CreateDatabaseExpr.OptionsEntry - (*TableName)(nil), // 26: greptime.v1.TableName - (*ExpireAfter)(nil), // 27: greptime.v1.ExpireAfter - (ColumnDataType)(0), // 28: greptime.v1.ColumnDataType - (*ColumnDataTypeExtension)(nil), // 29: greptime.v1.ColumnDataTypeExtension - (SemanticType)(0), // 30: greptime.v1.SemanticType + nil, // 26: greptime.v1.ColumnDef.OptionsEntry + (*TableName)(nil), // 27: greptime.v1.TableName + (*ExpireAfter)(nil), // 28: greptime.v1.ExpireAfter + (ColumnDataType)(0), // 29: greptime.v1.ColumnDataType + (*ColumnDataTypeExtension)(nil), // 30: greptime.v1.ColumnDataTypeExtension + (SemanticType)(0), // 31: greptime.v1.SemanticType } var file_greptime_v1_ddl_proto_depIdxs = []int32{ 9, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr @@ -2142,12 +2181,12 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{ 3, // 6: greptime.v1.DdlRequest.drop_flow:type_name -> greptime.v1.DropFlowExpr 4, // 7: greptime.v1.DdlRequest.create_view:type_name -> greptime.v1.CreateViewExpr 5, // 8: greptime.v1.DdlRequest.drop_view:type_name -> greptime.v1.DropViewExpr - 26, // 9: greptime.v1.CreateFlowExpr.source_table_names:type_name -> greptime.v1.TableName - 26, // 10: greptime.v1.CreateFlowExpr.sink_table_name:type_name -> greptime.v1.TableName - 27, // 11: greptime.v1.CreateFlowExpr.expire_after:type_name -> greptime.v1.ExpireAfter + 27, // 9: greptime.v1.CreateFlowExpr.source_table_names:type_name -> greptime.v1.TableName + 27, // 10: greptime.v1.CreateFlowExpr.sink_table_name:type_name -> greptime.v1.TableName + 28, // 11: greptime.v1.CreateFlowExpr.expire_after:type_name -> greptime.v1.ExpireAfter 23, // 12: greptime.v1.CreateFlowExpr.flow_options:type_name -> greptime.v1.CreateFlowExpr.FlowOptionsEntry 20, // 13: greptime.v1.DropFlowExpr.flow_id:type_name -> greptime.v1.FlowId - 26, // 14: greptime.v1.CreateViewExpr.table_names:type_name -> greptime.v1.TableName + 27, // 14: greptime.v1.CreateViewExpr.table_names:type_name -> greptime.v1.TableName 19, // 15: greptime.v1.DropViewExpr.view_id:type_name -> greptime.v1.TableId 21, // 16: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef 24, // 17: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry @@ -2164,17 +2203,18 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{ 17, // 28: greptime.v1.ChangeColumnTypes.change_column_types:type_name -> greptime.v1.ChangeColumnType 21, // 29: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 22, // 30: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation - 28, // 31: greptime.v1.ChangeColumnType.target_type:type_name -> greptime.v1.ColumnDataType - 29, // 32: greptime.v1.ChangeColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 28, // 33: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType - 30, // 34: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType - 29, // 35: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 0, // 36: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType - 37, // [37:37] is the sub-list for method output_type - 37, // [37:37] is the sub-list for method input_type - 37, // [37:37] is the sub-list for extension type_name - 37, // [37:37] is the sub-list for extension extendee - 0, // [0:37] is the sub-list for field type_name + 29, // 31: greptime.v1.ChangeColumnType.target_type:type_name -> greptime.v1.ColumnDataType + 30, // 32: greptime.v1.ChangeColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 29, // 33: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType + 31, // 34: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType + 30, // 35: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 26, // 36: greptime.v1.ColumnDef.options:type_name -> greptime.v1.ColumnDef.OptionsEntry + 0, // 37: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType + 38, // [38:38] is the sub-list for method output_type + 38, // [38:38] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_greptime_v1_ddl_proto_init() } @@ -2472,7 +2512,7 @@ func file_greptime_v1_ddl_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_ddl_proto_rawDesc, NumEnums: 1, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/go/greptime/v1/row.pb.go b/go/greptime/v1/row.pb.go index 5c775bca..674b86b8 100644 --- a/go/greptime/v1/row.pb.go +++ b/go/greptime/v1/row.pb.go @@ -108,10 +108,15 @@ type ColumnSchema struct { // // The fulltext options JSON structure: // { - // "enable": bool, // Indicates whether full-text search is enabled for the column. - // "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - // // Supported values are "English" (Default) and "Chinese". - // "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. // } // // Example: diff --git a/java/src/main/java/io/greptime/v1/Columns.java b/java/src/main/java/io/greptime/v1/Columns.java index f290af33..3765825e 100644 --- a/java/src/main/java/io/greptime/v1/Columns.java +++ b/java/src/main/java/io/greptime/v1/Columns.java @@ -146,6 +146,137 @@ public interface ColumnOrBuilder extends * .greptime.v1.ColumnDataTypeExtension datatype_extension = 6; */ io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensionOrBuilder(); + + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + int getOptionsCount(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + boolean containsOptions( + java.lang.String key); + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getOptions(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + java.util.Map + getOptionsMap(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + + /* nullable */ +java.lang.String getOptionsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + + java.lang.String getOptionsOrThrow( + java.lang.String key); } /** * Protobuf type {@code greptime.v1.Column} @@ -186,6 +317,7 @@ private Column( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -245,6 +377,19 @@ private Column( break; } + case 58: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + options__ = input.readMessage( + OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + options_.getMutableMap().put( + options__.getKey(), options__.getValue()); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -271,6 +416,18 @@ private Column( return io.greptime.v1.Columns.internal_static_greptime_v1_Column_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 7: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -6468,6 +6625,163 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return getDatatypeExtension(); } + public static final int OPTIONS_FIELD_NUMBER = 7; + private static final class OptionsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + io.greptime.v1.Columns.internal_static_greptime_v1_Column_OptionsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + @java.lang.Override + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + @java.lang.Override + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 7; + */ + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -6500,6 +6814,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(6, getDatatypeExtension()); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetOptions(), + OptionsDefaultEntryHolder.defaultEntry, + 7); unknownFields.writeTo(output); } @@ -6532,6 +6852,16 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getDatatypeExtension()); } + for (java.util.Map.Entry entry + : internalGetOptions().getMap().entrySet()) { + com.google.protobuf.MapEntry + options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, options__); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -6563,6 +6893,8 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } + if (!internalGetOptions().equals( + other.internalGetOptions())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -6590,6 +6922,10 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } + if (!internalGetOptions().getMap().isEmpty()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + internalGetOptions().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -6697,6 +7033,28 @@ public static final class Builder extends return io.greptime.v1.Columns.internal_static_greptime_v1_Column_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 7: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 7: + return internalGetMutableOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -6743,6 +7101,7 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } + internalGetMutableOptions().clear(); return this; } @@ -6769,6 +7128,7 @@ public io.greptime.v1.Columns.Column build() { @java.lang.Override public io.greptime.v1.Columns.Column buildPartial() { io.greptime.v1.Columns.Column result = new io.greptime.v1.Columns.Column(this); + int from_bitField0_ = bitField0_; result.columnName_ = columnName_; result.semanticType_ = semanticType_; if (valuesBuilder_ == null) { @@ -6783,6 +7143,8 @@ public io.greptime.v1.Columns.Column buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } + result.options_ = internalGetOptions(); + result.options_.makeImmutable(); onBuilt(); return result; } @@ -6850,6 +7212,8 @@ public Builder mergeFrom(io.greptime.v1.Columns.Column other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } + internalGetMutableOptions().mergeFrom( + other.internalGetOptions()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -6878,6 +7242,7 @@ public Builder mergeFrom( } return this; } + private int bitField0_; private java.lang.Object columnName_ = ""; /** @@ -7507,6 +7872,270 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } return datatypeExtensionBuilder_; } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + private com.google.protobuf.MapField + internalGetMutableOptions() { + onChanged();; + if (options_ == null) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + if (!options_.isMutable()) { + options_ = options_.copy(); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + @java.lang.Override + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + @java.lang.Override + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearOptions() { + internalGetMutableOptions().getMutableMap() + .clear(); + return this; + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + + public Builder removeOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + internalGetMutableOptions().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableOptions() { + return internalGetMutableOptions().getMutableMap(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + public Builder putOptions( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new NullPointerException("map key"); } + if (value == null) { + throw new NullPointerException("map value"); +} + + internalGetMutableOptions().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 7; + */ + + public Builder putAllOptions( + java.util.Map values) { + internalGetMutableOptions().getMutableMap() + .putAll(values); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -7570,6 +8199,11 @@ public io.greptime.v1.Columns.Column getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_Column_Values_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_Column_OptionsEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_Column_OptionsEntry_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -7580,36 +8214,38 @@ public io.greptime.v1.Columns.Column getDefaultInstanceForType() { static { java.lang.String[] descriptorData = { "\n\030greptime/v1/column.proto\022\013greptime.v1\032" + - "\030greptime/v1/common.proto\"\226\010\n\006Column\022\023\n\013" + + "\030greptime/v1/common.proto\"\371\010\n\006Column\022\023\n\013" + "column_name\030\001 \001(\t\0220\n\rsemantic_type\030\002 \001(\016" + "2\031.greptime.v1.SemanticType\022*\n\006values\030\003 " + "\001(\0132\032.greptime.v1.Column.Values\022\021\n\tnull_" + "mask\030\004 \001(\014\022-\n\010datatype\030\005 \001(\0162\033.greptime." + "v1.ColumnDataType\022@\n\022datatype_extension\030" + "\006 \001(\0132$.greptime.v1.ColumnDataTypeExtens" + - "ion\032\224\006\n\006Values\022\021\n\ti8_values\030\001 \003(\005\022\022\n\ni16" + - "_values\030\002 \003(\005\022\022\n\ni32_values\030\003 \003(\005\022\022\n\ni64" + - "_values\030\004 \003(\003\022\021\n\tu8_values\030\005 \003(\r\022\022\n\nu16_" + - "values\030\006 \003(\r\022\022\n\nu32_values\030\007 \003(\r\022\022\n\nu64_" + - "values\030\010 \003(\004\022\022\n\nf32_values\030\t \003(\002\022\022\n\nf64_" + - "values\030\n \003(\001\022\023\n\013bool_values\030\013 \003(\010\022\025\n\rbin" + - "ary_values\030\014 \003(\014\022\025\n\rstring_values\030\r \003(\t\022" + - "\023\n\013date_values\030\016 \003(\005\022\027\n\017datetime_values\030" + - "\017 \003(\003\022\037\n\027timestamp_second_values\030\020 \003(\003\022$" + - "\n\034timestamp_millisecond_values\030\021 \003(\003\022$\n\034" + - "timestamp_microsecond_values\030\022 \003(\003\022#\n\033ti" + - "mestamp_nanosecond_values\030\023 \003(\003\022\032\n\022time_" + - "second_values\030\024 \003(\003\022\037\n\027time_millisecond_" + - "values\030\025 \003(\003\022\037\n\027time_microsecond_values\030" + - "\026 \003(\003\022\036\n\026time_nanosecond_values\030\027 \003(\003\022\"\n" + - "\032interval_year_month_values\030\030 \003(\005\022 \n\030int" + - "erval_day_time_values\030\031 \003(\003\022I\n\036interval_" + - "month_day_nano_values\030\032 \003(\0132!.greptime.v" + - "1.IntervalMonthDayNano\0222\n\021decimal128_val" + - "ues\030\037 \003(\0132\027.greptime.v1.Decimal128BP\n\016io" + - ".greptime.v1B\007ColumnsZ5github.com/Grepti" + - "meTeam/greptime-proto/go/greptime/v1b\006pr" + - "oto3" + "ion\0221\n\007options\030\007 \003(\0132 .greptime.v1.Colum" + + "n.OptionsEntry\032\224\006\n\006Values\022\021\n\ti8_values\030\001" + + " \003(\005\022\022\n\ni16_values\030\002 \003(\005\022\022\n\ni32_values\030\003" + + " \003(\005\022\022\n\ni64_values\030\004 \003(\003\022\021\n\tu8_values\030\005 " + + "\003(\r\022\022\n\nu16_values\030\006 \003(\r\022\022\n\nu32_values\030\007 " + + "\003(\r\022\022\n\nu64_values\030\010 \003(\004\022\022\n\nf32_values\030\t " + + "\003(\002\022\022\n\nf64_values\030\n \003(\001\022\023\n\013bool_values\030\013" + + " \003(\010\022\025\n\rbinary_values\030\014 \003(\014\022\025\n\rstring_va" + + "lues\030\r \003(\t\022\023\n\013date_values\030\016 \003(\005\022\027\n\017datet" + + "ime_values\030\017 \003(\003\022\037\n\027timestamp_second_val" + + "ues\030\020 \003(\003\022$\n\034timestamp_millisecond_value" + + "s\030\021 \003(\003\022$\n\034timestamp_microsecond_values\030" + + "\022 \003(\003\022#\n\033timestamp_nanosecond_values\030\023 \003" + + "(\003\022\032\n\022time_second_values\030\024 \003(\003\022\037\n\027time_m" + + "illisecond_values\030\025 \003(\003\022\037\n\027time_microsec" + + "ond_values\030\026 \003(\003\022\036\n\026time_nanosecond_valu" + + "es\030\027 \003(\003\022\"\n\032interval_year_month_values\030\030" + + " \003(\005\022 \n\030interval_day_time_values\030\031 \003(\003\022I" + + "\n\036interval_month_day_nano_values\030\032 \003(\0132!" + + ".greptime.v1.IntervalMonthDayNano\0222\n\021dec" + + "imal128_values\030\037 \003(\0132\027.greptime.v1.Decim" + + "al128\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" + + "lue\030\002 \001(\t:\0028\001BP\n\016io.greptime.v1B\007Columns" + + "Z5github.com/GreptimeTeam/greptime-proto" + + "/go/greptime/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -7621,13 +8257,19 @@ public io.greptime.v1.Columns.Column getDefaultInstanceForType() { internal_static_greptime_v1_Column_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_Column_descriptor, - new java.lang.String[] { "ColumnName", "SemanticType", "Values", "NullMask", "Datatype", "DatatypeExtension", }); + new java.lang.String[] { "ColumnName", "SemanticType", "Values", "NullMask", "Datatype", "DatatypeExtension", "Options", }); internal_static_greptime_v1_Column_Values_descriptor = internal_static_greptime_v1_Column_descriptor.getNestedTypes().get(0); internal_static_greptime_v1_Column_Values_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_Column_Values_descriptor, new java.lang.String[] { "I8Values", "I16Values", "I32Values", "I64Values", "U8Values", "U16Values", "U32Values", "U64Values", "F32Values", "F64Values", "BoolValues", "BinaryValues", "StringValues", "DateValues", "DatetimeValues", "TimestampSecondValues", "TimestampMillisecondValues", "TimestampMicrosecondValues", "TimestampNanosecondValues", "TimeSecondValues", "TimeMillisecondValues", "TimeMicrosecondValues", "TimeNanosecondValues", "IntervalYearMonthValues", "IntervalDayTimeValues", "IntervalMonthDayNanoValues", "Decimal128Values", }); + internal_static_greptime_v1_Column_OptionsEntry_descriptor = + internal_static_greptime_v1_Column_descriptor.getNestedTypes().get(1); + internal_static_greptime_v1_Column_OptionsEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_Column_OptionsEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); io.greptime.v1.Common.getDescriptor(); } diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java index 6ededc47..16ecb9ce 100644 --- a/java/src/main/java/io/greptime/v1/Ddl.java +++ b/java/src/main/java/io/greptime/v1/Ddl.java @@ -23337,6 +23337,137 @@ public interface ColumnDefOrBuilder extends * .greptime.v1.ColumnDataTypeExtension datatype_extension = 7; */ io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensionOrBuilder(); + + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + int getOptionsCount(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + boolean containsOptions( + java.lang.String key); + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getOptions(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + java.util.Map + getOptionsMap(); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + + /* nullable */ +java.lang.String getOptionsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue); + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + + java.lang.String getOptionsOrThrow( + java.lang.String key); } /** * Protobuf type {@code greptime.v1.ColumnDef} @@ -23378,6 +23509,7 @@ private ColumnDef( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -23435,6 +23567,19 @@ private ColumnDef( break; } + case 66: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + options__ = input.readMessage( + OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + options_.getMutableMap().put( + options__.getKey(), options__.getValue()); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -23461,6 +23606,18 @@ private ColumnDef( return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 8: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -23643,6 +23800,163 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return getDatatypeExtension(); } + public static final int OPTIONS_FIELD_NUMBER = 8; + private static final class OptionsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_OptionsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + @java.lang.Override + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + @java.lang.Override + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * Additional options for the column.
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 8; + */ + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -23678,6 +23992,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(7, getDatatypeExtension()); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetOptions(), + OptionsDefaultEntryHolder.defaultEntry, + 8); unknownFields.writeTo(output); } @@ -23713,6 +24033,16 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getDatatypeExtension()); } + for (java.util.Map.Entry entry + : internalGetOptions().getMap().entrySet()) { + com.google.protobuf.MapEntry + options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, options__); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -23743,6 +24073,8 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } + if (!internalGetOptions().equals( + other.internalGetOptions())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -23771,6 +24103,10 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } + if (!internalGetOptions().getMap().isEmpty()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + internalGetOptions().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -23878,6 +24214,28 @@ public static final class Builder extends return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 8: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 8: + return internalGetMutableOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -23922,6 +24280,7 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } + internalGetMutableOptions().clear(); return this; } @@ -23948,6 +24307,7 @@ public io.greptime.v1.Ddl.ColumnDef build() { @java.lang.Override public io.greptime.v1.Ddl.ColumnDef buildPartial() { io.greptime.v1.Ddl.ColumnDef result = new io.greptime.v1.Ddl.ColumnDef(this); + int from_bitField0_ = bitField0_; result.name_ = name_; result.dataType_ = dataType_; result.isNullable_ = isNullable_; @@ -23959,6 +24319,8 @@ public io.greptime.v1.Ddl.ColumnDef buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } + result.options_ = internalGetOptions(); + result.options_.makeImmutable(); onBuilt(); return result; } @@ -24030,6 +24392,8 @@ public Builder mergeFrom(io.greptime.v1.Ddl.ColumnDef other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } + internalGetMutableOptions().mergeFrom( + other.internalGetOptions()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -24058,6 +24422,7 @@ public Builder mergeFrom( } return this; } + private int bitField0_; private java.lang.Object name_ = ""; /** @@ -24538,6 +24903,270 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } return datatypeExtensionBuilder_; } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + private com.google.protobuf.MapField + internalGetMutableOptions() { + onChanged();; + if (options_ == null) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + if (!options_.isMutable()) { + options_ = options_.copy(); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + @java.lang.Override + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + @java.lang.Override + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearOptions() { + internalGetMutableOptions().getMutableMap() + .clear(); + return this; + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + + public Builder removeOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + internalGetMutableOptions().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableOptions() { + return internalGetMutableOptions().getMutableMap(); + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + public Builder putOptions( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new NullPointerException("map key"); } + if (value == null) { + throw new NullPointerException("map value"); +} + + internalGetMutableOptions().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * Additional options for the column.
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 8; + */ + + public Builder putAllOptions( + java.util.Map values) { + internalGetMutableOptions().getMutableMap() + .putAll(values); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -25496,6 +26125,11 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { 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_ColumnDef_OptionsEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnDef_OptionsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_greptime_v1_AddColumnLocation_descriptor; private static final @@ -25591,19 +26225,22 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { "type_extension\030\003 \001(\0132$.greptime.v1.Colum" + "nDataTypeExtension\"\032\n\nDropColumn\022\014\n\004name" + "\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022" + - "\n\n\002id\030\001 \001(\r\"\377\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + + "\n\n\002id\030\001 \001(\r\"\345\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + ".\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnD" + "ataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_" + "constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162" + "\031.greptime.v1.SemanticType\022\017\n\007comment\030\006 " + "\001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.grepti" + - "me.v1.ColumnDataTypeExtension\"\230\001\n\021AddCol" + - "umnLocation\022B\n\rlocation_type\030\001 \001(\0162+.gre" + - "ptime.v1.AddColumnLocation.LocationType\022" + - "\031\n\021after_column_name\030\002 \001(\t\"$\n\014LocationTy" + - "pe\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime." + - "v1B\003DdlZ5github.com/GreptimeTeam/greptim" + - "e-proto/go/greptime/v1b\006proto3" + "me.v1.ColumnDataTypeExtension\0224\n\007options" + + "\030\010 \003(\0132#.greptime.v1.ColumnDef.OptionsEn" + + "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + + "e\030\002 \001(\t:\0028\001\"\230\001\n\021AddColumnLocation\022B\n\rloc" + + "ation_type\030\001 \001(\0162+.greptime.v1.AddColumn" + + "Location.LocationType\022\031\n\021after_column_na" + + "me\030\002 \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005A" + + "FTER\020\001BL\n\016io.greptime.v1B\003DdlZ5github.co" + + "m/GreptimeTeam/greptime-proto/go/greptim" + + "e/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -25753,7 +26390,13 @@ 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", "Comment", "DatatypeExtension", }); + new java.lang.String[] { "Name", "DataType", "IsNullable", "DefaultConstraint", "SemanticType", "Comment", "DatatypeExtension", "Options", }); + internal_static_greptime_v1_ColumnDef_OptionsEntry_descriptor = + internal_static_greptime_v1_ColumnDef_descriptor.getNestedTypes().get(0); + internal_static_greptime_v1_ColumnDef_OptionsEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnDef_OptionsEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); internal_static_greptime_v1_AddColumnLocation_descriptor = getDescriptor().getMessageTypes().get(21); internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable = new diff --git a/java/src/main/java/io/greptime/v1/RowData.java b/java/src/main/java/io/greptime/v1/RowData.java index b19500da..c6d9ddc3 100644 --- a/java/src/main/java/io/greptime/v1/RowData.java +++ b/java/src/main/java/io/greptime/v1/RowData.java @@ -1254,10 +1254,13 @@ public interface ColumnSchemaOrBuilder extends * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1274,10 +1277,13 @@ public interface ColumnSchemaOrBuilder extends * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1301,10 +1307,13 @@ boolean containsOptions( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1322,10 +1331,13 @@ boolean containsOptions( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1347,10 +1359,13 @@ java.lang.String getOptionsOrDefault( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1649,10 +1664,13 @@ public int getOptionsCount() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1683,10 +1701,13 @@ public java.util.Map getOptions() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1707,10 +1728,13 @@ public java.util.Map getOptionsMap() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -1736,10 +1760,13 @@ public java.lang.String getOptionsOrDefault( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2548,10 +2575,13 @@ public int getOptionsCount() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2582,10 +2612,13 @@ public java.util.Map getOptions() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2606,10 +2639,13 @@ public java.util.Map getOptionsMap() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2635,10 +2671,13 @@ public java.lang.String getOptionsOrDefault( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2672,10 +2711,13 @@ public Builder clearOptions() { * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2707,10 +2749,13 @@ public Builder removeOptions( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" @@ -2738,10 +2783,13 @@ public Builder putOptions( * A JSON encoded string containing full-text search options for the column. * The fulltext options JSON structure: * { - * "enable": bool, // Indicates whether full-text search is enabled for the column. - * "analyzer": string, // The language-specific text analyzer to use for indexing and searching text. - * // Supported values are "English" (Default) and "Chinese". - * "case-sensitive": bool // Indicates whether the text should be treated as case-sensitive during full-text search. + * "enable": bool, // Indicates whether full-text search is + * // enabled for the column. + * "analyzer": string, // The language-specific text analyzer to + * // use for indexing and searching text. + * // Supported values: ["English" (Default), "Chinese"]. + * "case-sensitive": bool // Indicates whether the text should be treated + * // as case-sensitive during full-text search. * } * Example: * "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" From 6923c24096f9e8dedca9dff38a3c343c1a7cfc0c Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Mon, 8 Jul 2024 14:11:56 +0000 Subject: [PATCH 6/6] extract as message Signed-off-by: Zhenchi --- c++/greptime/v1/column.pb.cc | 211 ++-- c++/greptime/v1/column.pb.h | 184 +-- c++/greptime/v1/common.pb.cc | 329 ++++- c++/greptime/v1/common.pb.h | 238 ++++ c++/greptime/v1/ddl.pb.cc | 184 +-- c++/greptime/v1/ddl.pb.h | 184 +-- c++/greptime/v1/row.pb.cc | 224 ++-- c++/greptime/v1/row.pb.h | 189 +-- go/greptime/v1/column.pb.go | 229 ++-- go/greptime/v1/common.pb.go | 193 ++- go/greptime/v1/ddl.pb.go | 112 +- go/greptime/v1/row.pb.go | 235 ++-- .../src/main/java/io/greptime/v1/Columns.java | 748 +++-------- java/src/main/java/io/greptime/v1/Common.java | 1100 ++++++++++++++++- java/src/main/java/io/greptime/v1/Ddl.java | 717 +++-------- .../src/main/java/io/greptime/v1/RowData.java | 753 +++-------- proto/greptime/v1/column.proto | 24 +- proto/greptime/v1/common.proto | 24 + proto/greptime/v1/ddl.proto | 24 +- proto/greptime/v1/row.proto | 24 +- 20 files changed, 3105 insertions(+), 2821 deletions(-) diff --git a/c++/greptime/v1/column.pb.cc b/c++/greptime/v1/column.pb.cc index 2f7bccb5..e7e33c8e 100644 --- a/c++/greptime/v1/column.pb.cc +++ b/c++/greptime/v1/column.pb.cc @@ -81,24 +81,13 @@ struct Column_ValuesDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Column_ValuesDefaultTypeInternal _Column_Values_default_instance_; -PROTOBUF_CONSTEXPR Column_OptionsEntry_DoNotUse::Column_OptionsEntry_DoNotUse( - ::_pbi::ConstantInitialized) {} -struct Column_OptionsEntry_DoNotUseDefaultTypeInternal { - PROTOBUF_CONSTEXPR Column_OptionsEntry_DoNotUseDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~Column_OptionsEntry_DoNotUseDefaultTypeInternal() {} - union { - Column_OptionsEntry_DoNotUse _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Column_OptionsEntry_DoNotUseDefaultTypeInternal _Column_OptionsEntry_DoNotUse_default_instance_; PROTOBUF_CONSTEXPR Column::Column( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} - , /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.null_mask_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.values_)*/nullptr , /*decltype(_impl_.datatype_extension_)*/nullptr + , /*decltype(_impl_.options_)*/nullptr , /*decltype(_impl_.semantic_type_)*/0 , /*decltype(_impl_.datatype_)*/0 , /*decltype(_impl_._cached_size_)*/{}} {} @@ -113,7 +102,7 @@ struct ColumnDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefaultTypeInternal _Column_default_instance_; } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcolumn_2eproto[3]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcolumn_2eproto[2]; static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2fcolumn_2eproto = nullptr; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fcolumn_2eproto = nullptr; @@ -151,16 +140,6 @@ const uint32_t TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets[] PROTOBUF_SE PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.interval_day_time_values_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.interval_month_day_nano_values_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.decimal128_values_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, _has_bits_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, key_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_OptionsEntry_DoNotUse, value_), - 0, - 1, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _internal_metadata_), ~0u, // no _extensions_ @@ -177,59 +156,56 @@ const uint32_t TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets[] PROTOBUF_SE }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::greptime::v1::Column_Values)}, - { 33, 41, -1, sizeof(::greptime::v1::Column_OptionsEntry_DoNotUse)}, - { 43, -1, -1, sizeof(::greptime::v1::Column)}, + { 33, -1, -1, sizeof(::greptime::v1::Column)}, }; static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_Column_Values_default_instance_._instance, - &::greptime::v1::_Column_OptionsEntry_DoNotUse_default_instance_._instance, &::greptime::v1::_Column_default_instance_._instance, }; const char descriptor_table_protodef_greptime_2fv1_2fcolumn_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\030greptime/v1/column.proto\022\013greptime.v1\032" - "\030greptime/v1/common.proto\"\371\010\n\006Column\022\023\n\013" + "\030greptime/v1/common.proto\"\303\010\n\006Column\022\023\n\013" "column_name\030\001 \001(\t\0220\n\rsemantic_type\030\002 \001(\016" "2\031.greptime.v1.SemanticType\022*\n\006values\030\003 " "\001(\0132\032.greptime.v1.Column.Values\022\021\n\tnull_" "mask\030\004 \001(\014\022-\n\010datatype\030\005 \001(\0162\033.greptime." "v1.ColumnDataType\022@\n\022datatype_extension\030" "\006 \001(\0132$.greptime.v1.ColumnDataTypeExtens" - "ion\0221\n\007options\030\007 \003(\0132 .greptime.v1.Colum" - "n.OptionsEntry\032\224\006\n\006Values\022\021\n\ti8_values\030\001" - " \003(\005\022\022\n\ni16_values\030\002 \003(\005\022\022\n\ni32_values\030\003" - " \003(\005\022\022\n\ni64_values\030\004 \003(\003\022\021\n\tu8_values\030\005 " - "\003(\r\022\022\n\nu16_values\030\006 \003(\r\022\022\n\nu32_values\030\007 " - "\003(\r\022\022\n\nu64_values\030\010 \003(\004\022\022\n\nf32_values\030\t " - "\003(\002\022\022\n\nf64_values\030\n \003(\001\022\023\n\013bool_values\030\013" - " \003(\010\022\025\n\rbinary_values\030\014 \003(\014\022\025\n\rstring_va" - "lues\030\r \003(\t\022\023\n\013date_values\030\016 \003(\005\022\027\n\017datet" - "ime_values\030\017 \003(\003\022\037\n\027timestamp_second_val" - "ues\030\020 \003(\003\022$\n\034timestamp_millisecond_value" - "s\030\021 \003(\003\022$\n\034timestamp_microsecond_values\030" - "\022 \003(\003\022#\n\033timestamp_nanosecond_values\030\023 \003" - "(\003\022\032\n\022time_second_values\030\024 \003(\003\022\037\n\027time_m" - "illisecond_values\030\025 \003(\003\022\037\n\027time_microsec" - "ond_values\030\026 \003(\003\022\036\n\026time_nanosecond_valu" - "es\030\027 \003(\003\022\"\n\032interval_year_month_values\030\030" - " \003(\005\022 \n\030interval_day_time_values\030\031 \003(\003\022I" - "\n\036interval_month_day_nano_values\030\032 \003(\0132!" - ".greptime.v1.IntervalMonthDayNano\0222\n\021dec" - "imal128_values\030\037 \003(\0132\027.greptime.v1.Decim" - "al128\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" - "lue\030\002 \001(\t:\0028\001BP\n\016io.greptime.v1B\007Columns" - "Z5github.com/GreptimeTeam/greptime-proto" - "/go/greptime/v1b\006proto3" + "ion\022+\n\007options\030\007 \001(\0132\032.greptime.v1.Colum" + "nOptions\032\224\006\n\006Values\022\021\n\ti8_values\030\001 \003(\005\022\022" + "\n\ni16_values\030\002 \003(\005\022\022\n\ni32_values\030\003 \003(\005\022\022" + "\n\ni64_values\030\004 \003(\003\022\021\n\tu8_values\030\005 \003(\r\022\022\n" + "\nu16_values\030\006 \003(\r\022\022\n\nu32_values\030\007 \003(\r\022\022\n" + "\nu64_values\030\010 \003(\004\022\022\n\nf32_values\030\t \003(\002\022\022\n" + "\nf64_values\030\n \003(\001\022\023\n\013bool_values\030\013 \003(\010\022\025" + "\n\rbinary_values\030\014 \003(\014\022\025\n\rstring_values\030\r" + " \003(\t\022\023\n\013date_values\030\016 \003(\005\022\027\n\017datetime_va" + "lues\030\017 \003(\003\022\037\n\027timestamp_second_values\030\020 " + "\003(\003\022$\n\034timestamp_millisecond_values\030\021 \003(" + "\003\022$\n\034timestamp_microsecond_values\030\022 \003(\003\022" + "#\n\033timestamp_nanosecond_values\030\023 \003(\003\022\032\n\022" + "time_second_values\030\024 \003(\003\022\037\n\027time_millise" + "cond_values\030\025 \003(\003\022\037\n\027time_microsecond_va" + "lues\030\026 \003(\003\022\036\n\026time_nanosecond_values\030\027 \003" + "(\003\022\"\n\032interval_year_month_values\030\030 \003(\005\022 " + "\n\030interval_day_time_values\030\031 \003(\003\022I\n\036inte" + "rval_month_day_nano_values\030\032 \003(\0132!.grept" + "ime.v1.IntervalMonthDayNano\0222\n\021decimal12" + "8_values\030\037 \003(\0132\027.greptime.v1.Decimal128B" + "P\n\016io.greptime.v1B\007ColumnsZ5github.com/G" + "reptimeTeam/greptime-proto/go/greptime/v" + "1b\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fcolumn_2eproto_deps[1] = { &::descriptor_table_greptime_2fv1_2fcommon_2eproto, }; static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fcolumn_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fcolumn_2eproto = { - false, false, 1303, descriptor_table_protodef_greptime_2fv1_2fcolumn_2eproto, + false, false, 1249, descriptor_table_protodef_greptime_2fv1_2fcolumn_2eproto, "greptime/v1/column.proto", - &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, descriptor_table_greptime_2fv1_2fcolumn_2eproto_deps, 1, 3, + &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, descriptor_table_greptime_2fv1_2fcolumn_2eproto_deps, 1, 2, schemas, file_default_instances, TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets, file_level_metadata_greptime_2fv1_2fcolumn_2eproto, file_level_enum_descriptors_greptime_2fv1_2fcolumn_2eproto, file_level_service_descriptors_greptime_2fv1_2fcolumn_2eproto, @@ -1482,24 +1458,11 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Column_Values::GetMetadata() const { // =================================================================== -Column_OptionsEntry_DoNotUse::Column_OptionsEntry_DoNotUse() {} -Column_OptionsEntry_DoNotUse::Column_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) - : SuperType(arena) {} -void Column_OptionsEntry_DoNotUse::MergeFrom(const Column_OptionsEntry_DoNotUse& other) { - MergeFromInternal(other); -} -::PROTOBUF_NAMESPACE_ID::Metadata Column_OptionsEntry_DoNotUse::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_greptime_2fv1_2fcolumn_2eproto_getter, &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, - file_level_metadata_greptime_2fv1_2fcolumn_2eproto[1]); -} - -// =================================================================== - class Column::_Internal { public: static const ::greptime::v1::Column_Values& values(const Column* msg); static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const Column* msg); + static const ::greptime::v1::ColumnOptions& options(const Column* msg); }; const ::greptime::v1::Column_Values& @@ -1510,36 +1473,42 @@ const ::greptime::v1::ColumnDataTypeExtension& Column::_Internal::datatype_extension(const Column* msg) { return *msg->_impl_.datatype_extension_; } +const ::greptime::v1::ColumnOptions& +Column::_Internal::options(const Column* msg) { + return *msg->_impl_.options_; +} void Column::clear_datatype_extension() { if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; } +void Column::clear_options() { + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; +} Column::Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - if (arena != nullptr && !is_message_owned) { - arena->OwnCustomDestructor(this, &Column::ArenaDtor); - } // @@protoc_insertion_point(arena_constructor:greptime.v1.Column) } Column::Column(const Column& from) : ::PROTOBUF_NAMESPACE_ID::Message() { Column* const _this = this; (void)_this; new (&_impl_) Impl_{ - /*decltype(_impl_.options_)*/{} - , decltype(_impl_.column_name_){} + decltype(_impl_.column_name_){} , decltype(_impl_.null_mask_){} , decltype(_impl_.values_){nullptr} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.semantic_type_){} , decltype(_impl_.datatype_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.options_.MergeFrom(from._impl_.options_); _impl_.column_name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.column_name_.Set("", GetArenaForAllocation()); @@ -1562,6 +1531,9 @@ Column::Column(const Column& from) if (from._internal_has_datatype_extension()) { _this->_impl_.datatype_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.datatype_extension_); } + if (from._internal_has_options()) { + _this->_impl_.options_ = new ::greptime::v1::ColumnOptions(*from._impl_.options_); + } ::memcpy(&_impl_.semantic_type_, &from._impl_.semantic_type_, static_cast(reinterpret_cast(&_impl_.datatype_) - reinterpret_cast(&_impl_.semantic_type_)) + sizeof(_impl_.datatype_)); @@ -1573,11 +1545,11 @@ inline void Column::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} - , decltype(_impl_.column_name_){} + decltype(_impl_.column_name_){} , decltype(_impl_.null_mask_){} , decltype(_impl_.values_){nullptr} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.semantic_type_){0} , decltype(_impl_.datatype_){0} , /*decltype(_impl_._cached_size_)*/{} @@ -1596,7 +1568,6 @@ Column::~Column() { // @@protoc_insertion_point(destructor:greptime.v1.Column) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; - ArenaDtor(this); return; } SharedDtor(); @@ -1604,18 +1575,13 @@ Column::~Column() { inline void Column::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.options_.Destruct(); - _impl_.options_.~MapField(); _impl_.column_name_.Destroy(); _impl_.null_mask_.Destroy(); if (this != internal_default_instance()) delete _impl_.values_; if (this != internal_default_instance()) delete _impl_.datatype_extension_; + if (this != internal_default_instance()) delete _impl_.options_; } -void Column::ArenaDtor(void* object) { - Column* _this = reinterpret_cast< Column* >(object); - _this->_impl_.options_.Destruct(); -} void Column::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } @@ -1626,7 +1592,6 @@ void Column::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.options_.Clear(); _impl_.column_name_.ClearToEmpty(); _impl_.null_mask_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && _impl_.values_ != nullptr) { @@ -1637,6 +1602,10 @@ void Column::Clear() { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; ::memset(&_impl_.semantic_type_, 0, static_cast( reinterpret_cast(&_impl_.datatype_) - reinterpret_cast(&_impl_.semantic_type_)) + sizeof(_impl_.datatype_)); @@ -1702,16 +1671,11 @@ const char* Column::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { } else goto handle_unusual; continue; - // map options = 7; + // .greptime.v1.ColumnOptions options = 7; case 7: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(&_impl_.options_, ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr)); + ptr = ctx->ParseMessage(_internal_mutable_options(), ptr); + CHK_(ptr); } else goto handle_unusual; continue; @@ -1788,34 +1752,11 @@ uint8_t* Column::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } - // map options = 7; - if (!this->_internal_options().empty()) { - using MapType = ::_pb::Map; - using WireHelper = Column_OptionsEntry_DoNotUse::Funcs; - const auto& map_field = this->_internal_options(); - auto check_utf8 = [](const MapType::value_type& entry) { - (void)entry; - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - entry.first.data(), static_cast(entry.first.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.Column.OptionsEntry.key"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - entry.second.data(), static_cast(entry.second.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.Column.OptionsEntry.value"); - }; - - if (stream->IsSerializationDeterministic() && map_field.size() > 1) { - for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { - target = WireHelper::InternalSerialize(7, entry.first, entry.second, target, stream); - check_utf8(entry); - } - } else { - for (const auto& entry : map_field) { - target = WireHelper::InternalSerialize(7, entry.first, entry.second, target, stream); - check_utf8(entry); - } - } + // .greptime.v1.ColumnOptions options = 7; + if (this->_internal_has_options()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(7, _Internal::options(this), + _Internal::options(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1834,15 +1775,6 @@ size_t Column::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // map options = 7; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); - for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator - it = this->_internal_options().begin(); - it != this->_internal_options().end(); ++it) { - total_size += Column_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); - } - // string column_name = 1; if (!this->_internal_column_name().empty()) { total_size += 1 + @@ -1871,6 +1803,13 @@ size_t Column::ByteSizeLong() const { *_impl_.datatype_extension_); } + // .greptime.v1.ColumnOptions options = 7; + if (this->_internal_has_options()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.options_); + } + // .greptime.v1.SemanticType semantic_type = 2; if (this->_internal_semantic_type() != 0) { total_size += 1 + @@ -1901,7 +1840,6 @@ void Column::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBU uint32_t cached_has_bits = 0; (void) cached_has_bits; - _this->_impl_.options_.MergeFrom(from._impl_.options_); if (!from._internal_column_name().empty()) { _this->_internal_set_column_name(from._internal_column_name()); } @@ -1916,6 +1854,10 @@ void Column::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBU _this->_internal_mutable_datatype_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom( from._internal_datatype_extension()); } + if (from._internal_has_options()) { + _this->_internal_mutable_options()->::greptime::v1::ColumnOptions::MergeFrom( + from._internal_options()); + } if (from._internal_semantic_type() != 0) { _this->_internal_set_semantic_type(from._internal_semantic_type()); } @@ -1941,7 +1883,6 @@ void Column::InternalSwap(Column* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - _impl_.options_.InternalSwap(&other->_impl_.options_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.column_name_, lhs_arena, &other->_impl_.column_name_, rhs_arena @@ -1961,7 +1902,7 @@ void Column::InternalSwap(Column* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Column::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2fcolumn_2eproto_getter, &descriptor_table_greptime_2fv1_2fcolumn_2eproto_once, - file_level_metadata_greptime_2fv1_2fcolumn_2eproto[2]); + file_level_metadata_greptime_2fv1_2fcolumn_2eproto[1]); } // @@protoc_insertion_point(namespace_scope) @@ -1972,10 +1913,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::Column_Values* Arena::CreateMaybeMessage< ::greptime::v1::Column_Values >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Column_Values >(arena); } -template<> PROTOBUF_NOINLINE ::greptime::v1::Column_OptionsEntry_DoNotUse* -Arena::CreateMaybeMessage< ::greptime::v1::Column_OptionsEntry_DoNotUse >(Arena* arena) { - return Arena::CreateMessageInternal< ::greptime::v1::Column_OptionsEntry_DoNotUse >(arena); -} template<> PROTOBUF_NOINLINE ::greptime::v1::Column* Arena::CreateMaybeMessage< ::greptime::v1::Column >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Column >(arena); diff --git a/c++/greptime/v1/column.pb.h b/c++/greptime/v1/column.pb.h index 80493d5a..1af43865 100644 --- a/c++/greptime/v1/column.pb.h +++ b/c++/greptime/v1/column.pb.h @@ -29,9 +29,6 @@ #include #include // IWYU pragma: export #include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include #include #include "greptime/v1/common.pb.h" // @@protoc_insertion_point(includes) @@ -53,9 +50,6 @@ namespace v1 { class Column; struct ColumnDefaultTypeInternal; extern ColumnDefaultTypeInternal _Column_default_instance_; -class Column_OptionsEntry_DoNotUse; -struct Column_OptionsEntry_DoNotUseDefaultTypeInternal; -extern Column_OptionsEntry_DoNotUseDefaultTypeInternal _Column_OptionsEntry_DoNotUse_default_instance_; class Column_Values; struct Column_ValuesDefaultTypeInternal; extern Column_ValuesDefaultTypeInternal _Column_Values_default_instance_; @@ -63,7 +57,6 @@ extern Column_ValuesDefaultTypeInternal _Column_Values_default_instance_; } // namespace greptime PROTOBUF_NAMESPACE_OPEN template<> ::greptime::v1::Column* Arena::CreateMaybeMessage<::greptime::v1::Column>(Arena*); -template<> ::greptime::v1::Column_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::Column_OptionsEntry_DoNotUse>(Arena*); template<> ::greptime::v1::Column_Values* Arena::CreateMaybeMessage<::greptime::v1::Column_Values>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace greptime { @@ -872,34 +865,6 @@ class Column_Values final : }; // ------------------------------------------------------------------- -class Column_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { -public: - typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; - Column_OptionsEntry_DoNotUse(); - explicit PROTOBUF_CONSTEXPR Column_OptionsEntry_DoNotUse( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - explicit Column_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); - void MergeFrom(const Column_OptionsEntry_DoNotUse& other); - static const Column_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_Column_OptionsEntry_DoNotUse_default_instance_); } - static bool ValidateKey(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.Column.OptionsEntry.key"); - } - static bool ValidateValue(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.Column.OptionsEntry.value"); - } - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - friend struct ::TableStruct_greptime_2fv1_2fcolumn_2eproto; -}; - -// ------------------------------------------------------------------- - class Column final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.Column) */ { public: @@ -948,7 +913,7 @@ class Column final : &_Column_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 1; friend void swap(Column& a, Column& b) { a.Swap(&b); @@ -1009,8 +974,6 @@ class Column final : protected: explicit Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); - private: - static void ArenaDtor(void* object); public: static const ClassData _class_data_; @@ -1025,31 +988,14 @@ class Column final : // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 7, kColumnNameFieldNumber = 1, kNullMaskFieldNumber = 4, kValuesFieldNumber = 3, kDatatypeExtensionFieldNumber = 6, + kOptionsFieldNumber = 7, kSemanticTypeFieldNumber = 2, kDatatypeFieldNumber = 5, }; - // map options = 7; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - private: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& - _internal_options() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* - _internal_mutable_options(); - public: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& - options() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* - mutable_options(); - // string column_name = 1; void clear_column_name(); const std::string& column_name() const; @@ -1114,6 +1060,24 @@ class Column final : ::greptime::v1::ColumnDataTypeExtension* datatype_extension); ::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_datatype_extension(); + // .greptime.v1.ColumnOptions options = 7; + bool has_options() const; + private: + bool _internal_has_options() const; + public: + void clear_options(); + const ::greptime::v1::ColumnOptions& options() const; + PROTOBUF_NODISCARD ::greptime::v1::ColumnOptions* release_options(); + ::greptime::v1::ColumnOptions* mutable_options(); + void set_allocated_options(::greptime::v1::ColumnOptions* options); + private: + const ::greptime::v1::ColumnOptions& _internal_options() const; + ::greptime::v1::ColumnOptions* _internal_mutable_options(); + public: + void unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options); + ::greptime::v1::ColumnOptions* unsafe_arena_release_options(); + // .greptime.v1.SemanticType semantic_type = 2; void clear_semantic_type(); ::greptime::v1::SemanticType semantic_type() const; @@ -1140,15 +1104,11 @@ class Column final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::MapField< - Column_OptionsEntry_DoNotUse, - std::string, std::string, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr null_mask_; ::greptime::v1::Column_Values* values_; ::greptime::v1::ColumnDataTypeExtension* datatype_extension_; + ::greptime::v1::ColumnOptions* options_; int semantic_type_; int datatype_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -2474,8 +2434,6 @@ Column_Values::decimal128_values() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // Column // string column_name = 1; @@ -2793,33 +2751,89 @@ inline void Column::set_allocated_datatype_extension(::greptime::v1::ColumnDataT // @@protoc_insertion_point(field_set_allocated:greptime.v1.Column.datatype_extension) } -// map options = 7; -inline int Column::_internal_options_size() const { - return _impl_.options_.size(); +// .greptime.v1.ColumnOptions options = 7; +inline bool Column::_internal_has_options() const { + return this != internal_default_instance() && _impl_.options_ != nullptr; } -inline int Column::options_size() const { - return _internal_options_size(); +inline bool Column::has_options() const { + return _internal_has_options(); } -inline void Column::clear_options() { - _impl_.options_.Clear(); +inline const ::greptime::v1::ColumnOptions& Column::_internal_options() const { + const ::greptime::v1::ColumnOptions* p = _impl_.options_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::_ColumnOptions_default_instance_); } -inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& -Column::_internal_options() const { - return _impl_.options_.GetMap(); -} -inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& -Column::options() const { - // @@protoc_insertion_point(field_map:greptime.v1.Column.options) +inline const ::greptime::v1::ColumnOptions& Column::options() const { + // @@protoc_insertion_point(field_get:greptime.v1.Column.options) return _internal_options(); } -inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* -Column::_internal_mutable_options() { - return _impl_.options_.MutableMap(); +inline void Column::unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + _impl_.options_ = options; + if (options) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.Column.options) +} +inline ::greptime::v1::ColumnOptions* Column::release_options() { + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = 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::ColumnOptions* Column::unsafe_arena_release_options() { + // @@protoc_insertion_point(field_release:greptime.v1.Column.options) + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = nullptr; + return temp; +} +inline ::greptime::v1::ColumnOptions* Column::_internal_mutable_options() { + + if (_impl_.options_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::ColumnOptions>(GetArenaForAllocation()); + _impl_.options_ = p; + } + return _impl_.options_; +} +inline ::greptime::v1::ColumnOptions* Column::mutable_options() { + ::greptime::v1::ColumnOptions* _msg = _internal_mutable_options(); + // @@protoc_insertion_point(field_mutable:greptime.v1.Column.options) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* -Column::mutable_options() { - // @@protoc_insertion_point(field_mutable_map:greptime.v1.Column.options) - return _internal_mutable_options(); +inline void Column::set_allocated_options(::greptime::v1::ColumnOptions* options) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + if (options) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(options)); + if (message_arena != submessage_arena) { + options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, options, submessage_arena); + } + + } else { + + } + _impl_.options_ = options; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.Column.options) } #ifdef __GNUC__ @@ -2827,8 +2841,6 @@ Column::mutable_options() { #endif // __GNUC__ // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/c++/greptime/v1/common.pb.cc b/c++/greptime/v1/common.pb.cc index 4ae0373f..fd7a67d4 100644 --- a/c++/greptime/v1/common.pb.cc +++ b/c++/greptime/v1/common.pb.cc @@ -271,9 +271,33 @@ struct DecimalTypeExtensionDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DecimalTypeExtensionDefaultTypeInternal _DecimalTypeExtension_default_instance_; +PROTOBUF_CONSTEXPR ColumnOptions_OptionsEntry_DoNotUse::ColumnOptions_OptionsEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct ColumnOptions_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ColumnOptions_OptionsEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ColumnOptions_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + ColumnOptions_OptionsEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnOptions_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnOptions_OptionsEntry_DoNotUse_default_instance_; +PROTOBUF_CONSTEXPR ColumnOptions::ColumnOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ColumnOptionsDefaultTypeInternal { + PROTOBUF_CONSTEXPR ColumnOptionsDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ColumnOptionsDefaultTypeInternal() {} + union { + ColumnOptions _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnOptionsDefaultTypeInternal _ColumnOptions_default_instance_; } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcommon_2eproto[18]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fcommon_2eproto[20]; 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; @@ -430,6 +454,23 @@ const uint32_t TableStruct_greptime_2fv1_2fcommon_2eproto::offsets[] PROTOBUF_SE ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::greptime::v1::DecimalTypeExtension, _impl_.precision_), PROTOBUF_FIELD_OFFSET(::greptime::v1::DecimalTypeExtension, _impl_.scale_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnOptions, _impl_.options_), }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, 8, -1, sizeof(::greptime::v1::QueryContext_ExtensionsEntry_DoNotUse)}, @@ -450,6 +491,8 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 128, -1, -1, sizeof(::greptime::v1::Decimal128)}, { 136, -1, -1, sizeof(::greptime::v1::ColumnDataTypeExtension)}, { 144, -1, -1, sizeof(::greptime::v1::DecimalTypeExtension)}, + { 152, 160, -1, sizeof(::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse)}, + { 162, -1, -1, sizeof(::greptime::v1::ColumnOptions)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -471,6 +514,8 @@ static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_Decimal128_default_instance_._instance, &::greptime::v1::_ColumnDataTypeExtension_default_instance_._instance, &::greptime::v1::_DecimalTypeExtension_default_instance_._instance, + &::greptime::v1::_ColumnOptions_OptionsEntry_DoNotUse_default_instance_._instance, + &::greptime::v1::_ColumnOptions_default_instance_._instance, }; const char descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = @@ -506,29 +551,32 @@ const char descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto[] PROTOBUF_S "\n\027ColumnDataTypeExtension\0229\n\014decimal_typ" "e\030\001 \001(\0132!.greptime.v1.DecimalTypeExtensi" "onH\000B\n\n\010type_ext\"8\n\024DecimalTypeExtension" - "\022\021\n\tprecision\030\001 \001(\005\022\r\n\005scale\030\002 \001(\005*1\n\014Se" - "manticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n\tTIMEST" - "AMP\020\002*\326\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\005INT64\020\004" - "\022\t\n\005UINT8\020\005\022\n\n\006UINT16\020\006\022\n\n\006UINT32\020\007\022\n\n\006U" - "INT64\020\010\022\013\n\007FLOAT32\020\t\022\013\n\007FLOAT64\020\n\022\n\n\006BIN" - "ARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DATETIME\020" - "\016\022\024\n\020TIMESTAMP_SECOND\020\017\022\031\n\025TIMESTAMP_MIL" - "LISECOND\020\020\022\031\n\025TIMESTAMP_MICROSECOND\020\021\022\030\n" - "\024TIMESTAMP_NANOSECOND\020\022\022\017\n\013TIME_SECOND\020\023" - "\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MICROSECO" - "ND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTERVAL_YE" - "AR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030\022\033\n\027INT" - "ERVAL_MONTH_DAY_NANO\020\031\022\016\n\nDECIMAL128\020\036BO" - "\n\016io.greptime.v1B\006CommonZ5github.com/Gre" - "ptimeTeam/greptime-proto/go/greptime/v1b" - "\006proto3" + "\022\021\n\tprecision\030\001 \001(\005\022\r\n\005scale\030\002 \001(\005\"y\n\rCo" + "lumnOptions\0228\n\007options\030\001 \003(\0132\'.greptime." + "v1.ColumnOptions.OptionsEntry\032.\n\014Options" + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001*1\n" + "\014SemanticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n\tTIM" + "ESTAMP\020\002*\326\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\005INT6" + "4\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\006" + "BINARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DATETI" + "ME\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_SECON" + "D\020\023\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MICROS" + "ECOND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTERVAL" + "_YEAR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030\022\033\n\027" + "INTERVAL_MONTH_DAY_NANO\020\031\022\016\n\nDECIMAL128\020" + "\036BO\n\016io.greptime.v1B\006CommonZ5github.com/" + "GreptimeTeam/greptime-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, 1927, descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto, + false, false, 2050, descriptor_table_protodef_greptime_2fv1_2fcommon_2eproto, "greptime/v1/common.proto", - &descriptor_table_greptime_2fv1_2fcommon_2eproto_once, nullptr, 0, 18, + &descriptor_table_greptime_2fv1_2fcommon_2eproto_once, nullptr, 0, 20, 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, @@ -4642,6 +4690,239 @@ ::PROTOBUF_NAMESPACE_ID::Metadata DecimalTypeExtension::GetMetadata() const { file_level_metadata_greptime_2fv1_2fcommon_2eproto[17]); } +// =================================================================== + +ColumnOptions_OptionsEntry_DoNotUse::ColumnOptions_OptionsEntry_DoNotUse() {} +ColumnOptions_OptionsEntry_DoNotUse::ColumnOptions_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void ColumnOptions_OptionsEntry_DoNotUse::MergeFrom(const ColumnOptions_OptionsEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata ColumnOptions_OptionsEntry_DoNotUse::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[18]); +} + +// =================================================================== + +class ColumnOptions::_Internal { + public: +}; + +ColumnOptions::ColumnOptions(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + if (arena != nullptr && !is_message_owned) { + arena->OwnCustomDestructor(this, &ColumnOptions::ArenaDtor); + } + // @@protoc_insertion_point(arena_constructor:greptime.v1.ColumnOptions) +} +ColumnOptions::ColumnOptions(const ColumnOptions& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ColumnOptions* const _this = this; (void)_this; + new (&_impl_) Impl_{ + /*decltype(_impl_.options_)*/{} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.options_.MergeFrom(from._impl_.options_); + // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnOptions) +} + +inline void ColumnOptions::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +ColumnOptions::~ColumnOptions() { + // @@protoc_insertion_point(destructor:greptime.v1.ColumnOptions) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + ArenaDtor(this); + return; + } + SharedDtor(); +} + +inline void ColumnOptions::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.options_.Destruct(); + _impl_.options_.~MapField(); +} + +void ColumnOptions::ArenaDtor(void* object) { + ColumnOptions* _this = reinterpret_cast< ColumnOptions* >(object); + _this->_impl_.options_.Destruct(); +} +void ColumnOptions::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ColumnOptions::Clear() { +// @@protoc_insertion_point(message_clear_start:greptime.v1.ColumnOptions) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.options_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ColumnOptions::_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) { + // map options = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.options_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(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* ColumnOptions::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ColumnOptions) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // map options = 1; + if (!this->_internal_options().empty()) { + using MapType = ::_pb::Map; + using WireHelper = ColumnOptions_OptionsEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_options(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.ColumnOptions.OptionsEntry.key"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.second.data(), static_cast(entry.second.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.ColumnOptions.OptionsEntry.value"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(1, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(1, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } + } + + 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.ColumnOptions) + return target; +} + +size_t ColumnOptions::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ColumnOptions) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // map options = 1; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_options().begin(); + it != this->_internal_options().end(); ++it) { + total_size += ColumnOptions_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnOptions::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ColumnOptions::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnOptions::GetClassData() const { return &_class_data_; } + + +void ColumnOptions::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.ColumnOptions) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.options_.MergeFrom(from._impl_.options_); + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ColumnOptions::CopyFrom(const ColumnOptions& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.ColumnOptions) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ColumnOptions::IsInitialized() const { + return true; +} + +void ColumnOptions::InternalSwap(ColumnOptions* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.options_.InternalSwap(&other->_impl_.options_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ColumnOptions::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[19]); +} + // @@protoc_insertion_point(namespace_scope) } // namespace v1 } // namespace greptime @@ -4718,6 +4999,14 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::DecimalTypeExtension* Arena::CreateMaybeMessage< ::greptime::v1::DecimalTypeExtension >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::DecimalTypeExtension >(arena); } +template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse* +Arena::CreateMaybeMessage< ::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnOptions* +Arena::CreateMaybeMessage< ::greptime::v1::ColumnOptions >(Arena* arena) { + return Arena::CreateMessageInternal< ::greptime::v1::ColumnOptions >(arena); +} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/c++/greptime/v1/common.pb.h b/c++/greptime/v1/common.pb.h index 6cd053ea..e2f4c998 100644 --- a/c++/greptime/v1/common.pb.h +++ b/c++/greptime/v1/common.pb.h @@ -62,6 +62,12 @@ extern BasicDefaultTypeInternal _Basic_default_instance_; class ColumnDataTypeExtension; struct ColumnDataTypeExtensionDefaultTypeInternal; extern ColumnDataTypeExtensionDefaultTypeInternal _ColumnDataTypeExtension_default_instance_; +class ColumnOptions; +struct ColumnOptionsDefaultTypeInternal; +extern ColumnOptionsDefaultTypeInternal _ColumnOptions_default_instance_; +class ColumnOptions_OptionsEntry_DoNotUse; +struct ColumnOptions_OptionsEntry_DoNotUseDefaultTypeInternal; +extern ColumnOptions_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnOptions_OptionsEntry_DoNotUse_default_instance_; class Decimal128; struct Decimal128DefaultTypeInternal; extern Decimal128DefaultTypeInternal _Decimal128_default_instance_; @@ -111,6 +117,8 @@ template<> ::greptime::v1::AffectedRows* Arena::CreateMaybeMessage<::greptime::v template<> ::greptime::v1::AuthHeader* Arena::CreateMaybeMessage<::greptime::v1::AuthHeader>(Arena*); template<> ::greptime::v1::Basic* Arena::CreateMaybeMessage<::greptime::v1::Basic>(Arena*); template<> ::greptime::v1::ColumnDataTypeExtension* Arena::CreateMaybeMessage<::greptime::v1::ColumnDataTypeExtension>(Arena*); +template<> ::greptime::v1::ColumnOptions* Arena::CreateMaybeMessage<::greptime::v1::ColumnOptions>(Arena*); +template<> ::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::ColumnOptions_OptionsEntry_DoNotUse>(Arena*); template<> ::greptime::v1::Decimal128* Arena::CreateMaybeMessage<::greptime::v1::Decimal128>(Arena*); template<> ::greptime::v1::DecimalTypeExtension* Arena::CreateMaybeMessage<::greptime::v1::DecimalTypeExtension>(Arena*); template<> ::greptime::v1::ExpireAfter* Arena::CreateMaybeMessage<::greptime::v1::ExpireAfter>(Arena*); @@ -3031,6 +3039,197 @@ class DecimalTypeExtension final : union { Impl_ _impl_; }; friend struct ::TableStruct_greptime_2fv1_2fcommon_2eproto; }; +// ------------------------------------------------------------------- + +class ColumnOptions_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + ColumnOptions_OptionsEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR ColumnOptions_OptionsEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit ColumnOptions_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const ColumnOptions_OptionsEntry_DoNotUse& other); + static const ColumnOptions_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ColumnOptions_OptionsEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnOptions.OptionsEntry.key"); + } + static bool ValidateValue(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnOptions.OptionsEntry.value"); + } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_greptime_2fv1_2fcommon_2eproto; +}; + +// ------------------------------------------------------------------- + +class ColumnOptions final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnOptions) */ { + public: + inline ColumnOptions() : ColumnOptions(nullptr) {} + ~ColumnOptions() override; + explicit PROTOBUF_CONSTEXPR ColumnOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ColumnOptions(const ColumnOptions& from); + ColumnOptions(ColumnOptions&& from) noexcept + : ColumnOptions() { + *this = ::std::move(from); + } + + inline ColumnOptions& operator=(const ColumnOptions& from) { + CopyFrom(from); + return *this; + } + inline ColumnOptions& operator=(ColumnOptions&& 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 ColumnOptions& default_instance() { + return *internal_default_instance(); + } + static inline const ColumnOptions* internal_default_instance() { + return reinterpret_cast( + &_ColumnOptions_default_instance_); + } + static constexpr int kIndexInFileMessages = + 19; + + friend void swap(ColumnOptions& a, ColumnOptions& b) { + a.Swap(&b); + } + inline void Swap(ColumnOptions* 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(ColumnOptions* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ColumnOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ColumnOptions& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ColumnOptions& from) { + ColumnOptions::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(ColumnOptions* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "greptime.v1.ColumnOptions"; + } + protected: + explicit ColumnOptions(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + 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 { + kOptionsFieldNumber = 1, + }; + // map options = 1; + int options_size() const; + private: + int _internal_options_size() const; + public: + void clear_options(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + _internal_options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + _internal_mutable_options(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + options() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + mutable_options(); + + // @@protoc_insertion_point(class_scope:greptime.v1.ColumnOptions) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + ColumnOptions_OptionsEntry_DoNotUse, + std::string, std::string, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_greptime_2fv1_2fcommon_2eproto; +}; // =================================================================== @@ -4714,6 +4913,41 @@ inline void DecimalTypeExtension::set_scale(int32_t value) { // @@protoc_insertion_point(field_set:greptime.v1.DecimalTypeExtension.scale) } +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ColumnOptions + +// map options = 1; +inline int ColumnOptions::_internal_options_size() const { + return _impl_.options_.size(); +} +inline int ColumnOptions::options_size() const { + return _internal_options_size(); +} +inline void ColumnOptions::clear_options() { + _impl_.options_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +ColumnOptions::_internal_options() const { + return _impl_.options_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +ColumnOptions::options() const { + // @@protoc_insertion_point(field_map:greptime.v1.ColumnOptions.options) + return _internal_options(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +ColumnOptions::_internal_mutable_options() { + return _impl_.options_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +ColumnOptions::mutable_options() { + // @@protoc_insertion_point(field_mutable_map:greptime.v1.ColumnOptions.options) + return _internal_mutable_options(); +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -4751,6 +4985,10 @@ inline void DecimalTypeExtension::set_scale(int32_t value) { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc index af039a37..483ac081 100644 --- a/c++/greptime/v1/ddl.pb.cc +++ b/c++/greptime/v1/ddl.pb.cc @@ -367,24 +367,13 @@ struct FlowIdDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FlowIdDefaultTypeInternal _FlowId_default_instance_; -PROTOBUF_CONSTEXPR ColumnDef_OptionsEntry_DoNotUse::ColumnDef_OptionsEntry_DoNotUse( - ::_pbi::ConstantInitialized) {} -struct ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal { - PROTOBUF_CONSTEXPR ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal() {} - union { - ColumnDef_OptionsEntry_DoNotUse _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnDef_OptionsEntry_DoNotUse_default_instance_; PROTOBUF_CONSTEXPR ColumnDef::ColumnDef( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} - , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.comment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.datatype_extension_)*/nullptr + , /*decltype(_impl_.options_)*/nullptr , /*decltype(_impl_.data_type_)*/0 , /*decltype(_impl_.is_nullable_)*/false , /*decltype(_impl_.semantic_type_)*/0 @@ -414,7 +403,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[26]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fddl_2eproto[25]; 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; @@ -652,16 +641,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::FlowId, _impl_.id_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse, _has_bits_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse, _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_OptionsEntry_DoNotUse, key_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse, value_), - 0, - 1, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _internal_metadata_), ~0u, // no _extensions_ @@ -709,9 +688,8 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 212, -1, -1, sizeof(::greptime::v1::DropColumn)}, { 219, -1, -1, sizeof(::greptime::v1::TableId)}, { 226, -1, -1, sizeof(::greptime::v1::FlowId)}, - { 233, 241, -1, sizeof(::greptime::v1::ColumnDef_OptionsEntry_DoNotUse)}, - { 243, -1, -1, sizeof(::greptime::v1::ColumnDef)}, - { 257, -1, -1, sizeof(::greptime::v1::AddColumnLocation)}, + { 233, -1, -1, sizeof(::greptime::v1::ColumnDef)}, + { 247, -1, -1, sizeof(::greptime::v1::AddColumnLocation)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -738,7 +716,6 @@ static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_DropColumn_default_instance_._instance, &::greptime::v1::_TableId_default_instance_._instance, &::greptime::v1::_FlowId_default_instance_._instance, - &::greptime::v1::_ColumnDef_OptionsEntry_DoNotUse_default_instance_._instance, &::greptime::v1::_ColumnDef_default_instance_._instance, &::greptime::v1::_AddColumnLocation_default_instance_._instance, }; @@ -825,31 +802,29 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT "type_extension\030\003 \001(\0132$.greptime.v1.Colum" "nDataTypeExtension\"\032\n\nDropColumn\022\014\n\004name" "\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022" - "\n\n\002id\030\001 \001(\r\"\345\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + "\n\n\002id\030\001 \001(\r\"\254\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" ".\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnD" "ataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_" "constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162" "\031.greptime.v1.SemanticType\022\017\n\007comment\030\006 " "\001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.grepti" - "me.v1.ColumnDataTypeExtension\0224\n\007options" - "\030\010 \003(\0132#.greptime.v1.ColumnDef.OptionsEn" - "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" - "e\030\002 \001(\t:\0028\001\"\230\001\n\021AddColumnLocation\022B\n\rloc" - "ation_type\030\001 \001(\0162+.greptime.v1.AddColumn" - "Location.LocationType\022\031\n\021after_column_na" - "me\030\002 \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005A" - "FTER\020\001BL\n\016io.greptime.v1B\003DdlZ5github.co" - "m/GreptimeTeam/greptime-proto/go/greptim" - "e/v1b\006proto3" + "me.v1.ColumnDataTypeExtension\022+\n\007options" + "\030\010 \001(\0132\032.greptime.v1.ColumnOptions\"\230\001\n\021A" + "ddColumnLocation\022B\n\rlocation_type\030\001 \001(\0162" + "+.greptime.v1.AddColumnLocation.Location" + "Type\022\031\n\021after_column_name\030\002 \001(\t\"$\n\014Locat" + "ionType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.grep" + "time.v1B\003DdlZ5github.com/GreptimeTeam/gr" + "eptime-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, 3852, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto, + false, false, 3795, 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, 26, + &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 25, 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, @@ -7828,60 +7803,53 @@ ::PROTOBUF_NAMESPACE_ID::Metadata FlowId::GetMetadata() const { // =================================================================== -ColumnDef_OptionsEntry_DoNotUse::ColumnDef_OptionsEntry_DoNotUse() {} -ColumnDef_OptionsEntry_DoNotUse::ColumnDef_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) - : SuperType(arena) {} -void ColumnDef_OptionsEntry_DoNotUse::MergeFrom(const ColumnDef_OptionsEntry_DoNotUse& other) { - MergeFromInternal(other); -} -::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef_OptionsEntry_DoNotUse::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[23]); -} - -// =================================================================== - class ColumnDef::_Internal { public: static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const ColumnDef* msg); + static const ::greptime::v1::ColumnOptions& options(const ColumnDef* msg); }; const ::greptime::v1::ColumnDataTypeExtension& ColumnDef::_Internal::datatype_extension(const ColumnDef* msg) { return *msg->_impl_.datatype_extension_; } +const ::greptime::v1::ColumnOptions& +ColumnDef::_Internal::options(const ColumnDef* msg) { + return *msg->_impl_.options_; +} void ColumnDef::clear_datatype_extension() { if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; } +void ColumnDef::clear_options() { + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; +} ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - if (arena != nullptr && !is_message_owned) { - arena->OwnCustomDestructor(this, &ColumnDef::ArenaDtor); - } // @@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_.options_)*/{} - , decltype(_impl_.name_){} + decltype(_impl_.name_){} , decltype(_impl_.default_constraint_){} , decltype(_impl_.comment_){} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.data_type_){} , decltype(_impl_.is_nullable_){} , decltype(_impl_.semantic_type_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.options_.MergeFrom(from._impl_.options_); _impl_.name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.name_.Set("", GetArenaForAllocation()); @@ -7909,6 +7877,9 @@ ColumnDef::ColumnDef(const ColumnDef& from) if (from._internal_has_datatype_extension()) { _this->_impl_.datatype_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.datatype_extension_); } + if (from._internal_has_options()) { + _this->_impl_.options_ = new ::greptime::v1::ColumnOptions(*from._impl_.options_); + } ::memcpy(&_impl_.data_type_, &from._impl_.data_type_, static_cast(reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.data_type_)) + sizeof(_impl_.semantic_type_)); @@ -7920,11 +7891,11 @@ inline void ColumnDef::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} - , decltype(_impl_.name_){} + decltype(_impl_.name_){} , decltype(_impl_.default_constraint_){} , decltype(_impl_.comment_){} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.data_type_){0} , decltype(_impl_.is_nullable_){false} , decltype(_impl_.semantic_type_){0} @@ -7948,7 +7919,6 @@ ColumnDef::~ColumnDef() { // @@protoc_insertion_point(destructor:greptime.v1.ColumnDef) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; - ArenaDtor(this); return; } SharedDtor(); @@ -7956,18 +7926,13 @@ ColumnDef::~ColumnDef() { inline void ColumnDef::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.options_.Destruct(); - _impl_.options_.~MapField(); _impl_.name_.Destroy(); _impl_.default_constraint_.Destroy(); _impl_.comment_.Destroy(); if (this != internal_default_instance()) delete _impl_.datatype_extension_; + if (this != internal_default_instance()) delete _impl_.options_; } -void ColumnDef::ArenaDtor(void* object) { - ColumnDef* _this = reinterpret_cast< ColumnDef* >(object); - _this->_impl_.options_.Destruct(); -} void ColumnDef::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } @@ -7978,7 +7943,6 @@ void ColumnDef::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.options_.Clear(); _impl_.name_.ClearToEmpty(); _impl_.default_constraint_.ClearToEmpty(); _impl_.comment_.ClearToEmpty(); @@ -7986,6 +7950,10 @@ void ColumnDef::Clear() { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; ::memset(&_impl_.data_type_, 0, static_cast( reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.data_type_)) + sizeof(_impl_.semantic_type_)); @@ -8061,16 +8029,11 @@ const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx } else goto handle_unusual; continue; - // map options = 8; + // .greptime.v1.ColumnOptions options = 8; case 8: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(&_impl_.options_, ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr)); + ptr = ctx->ParseMessage(_internal_mutable_options(), ptr); + CHK_(ptr); } else goto handle_unusual; continue; @@ -8156,34 +8119,11 @@ uint8_t* ColumnDef::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } - // map options = 8; - if (!this->_internal_options().empty()) { - using MapType = ::_pb::Map; - using WireHelper = ColumnDef_OptionsEntry_DoNotUse::Funcs; - const auto& map_field = this->_internal_options(); - auto check_utf8 = [](const MapType::value_type& entry) { - (void)entry; - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - entry.first.data(), static_cast(entry.first.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.ColumnDef.OptionsEntry.key"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - entry.second.data(), static_cast(entry.second.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.ColumnDef.OptionsEntry.value"); - }; - - if (stream->IsSerializationDeterministic() && map_field.size() > 1) { - for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { - target = WireHelper::InternalSerialize(8, entry.first, entry.second, target, stream); - check_utf8(entry); - } - } else { - for (const auto& entry : map_field) { - target = WireHelper::InternalSerialize(8, entry.first, entry.second, target, stream); - check_utf8(entry); - } - } + // .greptime.v1.ColumnOptions options = 8; + if (this->_internal_has_options()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(8, _Internal::options(this), + _Internal::options(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -8202,15 +8142,6 @@ size_t ColumnDef::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // map options = 8; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); - for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator - it = this->_internal_options().begin(); - it != this->_internal_options().end(); ++it) { - total_size += ColumnDef_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); - } - // string name = 1; if (!this->_internal_name().empty()) { total_size += 1 + @@ -8239,6 +8170,13 @@ size_t ColumnDef::ByteSizeLong() const { *_impl_.datatype_extension_); } + // .greptime.v1.ColumnOptions options = 8; + if (this->_internal_has_options()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.options_); + } + // .greptime.v1.ColumnDataType data_type = 2; if (this->_internal_data_type() != 0) { total_size += 1 + @@ -8274,7 +8212,6 @@ void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT uint32_t cached_has_bits = 0; (void) cached_has_bits; - _this->_impl_.options_.MergeFrom(from._impl_.options_); if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); } @@ -8288,6 +8225,10 @@ void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROT _this->_internal_mutable_datatype_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom( from._internal_datatype_extension()); } + if (from._internal_has_options()) { + _this->_internal_mutable_options()->::greptime::v1::ColumnOptions::MergeFrom( + from._internal_options()); + } if (from._internal_data_type() != 0) { _this->_internal_set_data_type(from._internal_data_type()); } @@ -8316,7 +8257,6 @@ void ColumnDef::InternalSwap(ColumnDef* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - _impl_.options_.InternalSwap(&other->_impl_.options_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.name_, lhs_arena, &other->_impl_.name_, rhs_arena @@ -8340,7 +8280,7 @@ void ColumnDef::InternalSwap(ColumnDef* other) { ::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[24]); + file_level_metadata_greptime_2fv1_2fddl_2eproto[23]); } // =================================================================== @@ -8573,7 +8513,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[25]); + file_level_metadata_greptime_2fv1_2fddl_2eproto[24]); } // @@protoc_insertion_point(namespace_scope) @@ -8672,10 +8612,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::FlowId* Arena::CreateMaybeMessage< ::greptime::v1::FlowId >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::FlowId >(arena); } -template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse* -Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse >(Arena* arena) { - return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse >(arena); -} template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef* Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef >(arena); diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h index e7896dd2..575018c5 100644 --- a/c++/greptime/v1/ddl.pb.h +++ b/c++/greptime/v1/ddl.pb.h @@ -72,9 +72,6 @@ extern ChangeColumnTypesDefaultTypeInternal _ChangeColumnTypes_default_instance_ class ColumnDef; struct ColumnDefDefaultTypeInternal; extern ColumnDefDefaultTypeInternal _ColumnDef_default_instance_; -class ColumnDef_OptionsEntry_DoNotUse; -struct ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal; -extern ColumnDef_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnDef_OptionsEntry_DoNotUse_default_instance_; class CreateDatabaseExpr; struct CreateDatabaseExprDefaultTypeInternal; extern CreateDatabaseExprDefaultTypeInternal _CreateDatabaseExpr_default_instance_; @@ -139,7 +136,6 @@ template<> ::greptime::v1::AlterExpr* Arena::CreateMaybeMessage<::greptime::v1:: template<> ::greptime::v1::ChangeColumnType* Arena::CreateMaybeMessage<::greptime::v1::ChangeColumnType>(Arena*); template<> ::greptime::v1::ChangeColumnTypes* Arena::CreateMaybeMessage<::greptime::v1::ChangeColumnTypes>(Arena*); template<> ::greptime::v1::ColumnDef* Arena::CreateMaybeMessage<::greptime::v1::ColumnDef>(Arena*); -template<> ::greptime::v1::ColumnDef_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::ColumnDef_OptionsEntry_DoNotUse>(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::CreateFlowExpr* Arena::CreateMaybeMessage<::greptime::v1::CreateFlowExpr>(Arena*); @@ -4456,34 +4452,6 @@ class FlowId final : }; // ------------------------------------------------------------------- -class ColumnDef_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { -public: - typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; - ColumnDef_OptionsEntry_DoNotUse(); - explicit PROTOBUF_CONSTEXPR ColumnDef_OptionsEntry_DoNotUse( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - explicit ColumnDef_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); - void MergeFrom(const ColumnDef_OptionsEntry_DoNotUse& other); - static const ColumnDef_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ColumnDef_OptionsEntry_DoNotUse_default_instance_); } - static bool ValidateKey(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnDef.OptionsEntry.key"); - } - static bool ValidateValue(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnDef.OptionsEntry.value"); - } - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - friend struct ::TableStruct_greptime_2fv1_2fddl_2eproto; -}; - -// ------------------------------------------------------------------- - class ColumnDef final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnDef) */ { public: @@ -4532,7 +4500,7 @@ class ColumnDef final : &_ColumnDef_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 23; friend void swap(ColumnDef& a, ColumnDef& b) { a.Swap(&b); @@ -4593,8 +4561,6 @@ class ColumnDef final : protected: explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); - private: - static void ArenaDtor(void* object); public: static const ClassData _class_data_; @@ -4604,36 +4570,18 @@ class ColumnDef final : // nested types ---------------------------------------------------- - // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 8, kNameFieldNumber = 1, kDefaultConstraintFieldNumber = 4, kCommentFieldNumber = 6, kDatatypeExtensionFieldNumber = 7, + kOptionsFieldNumber = 8, kDataTypeFieldNumber = 2, kIsNullableFieldNumber = 3, kSemanticTypeFieldNumber = 5, }; - // map options = 8; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - private: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& - _internal_options() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* - _internal_mutable_options(); - public: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& - options() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* - mutable_options(); - // string name = 1; void clear_name(); const std::string& name() const; @@ -4694,6 +4642,24 @@ class ColumnDef final : ::greptime::v1::ColumnDataTypeExtension* datatype_extension); ::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_datatype_extension(); + // .greptime.v1.ColumnOptions options = 8; + bool has_options() const; + private: + bool _internal_has_options() const; + public: + void clear_options(); + const ::greptime::v1::ColumnOptions& options() const; + PROTOBUF_NODISCARD ::greptime::v1::ColumnOptions* release_options(); + ::greptime::v1::ColumnOptions* mutable_options(); + void set_allocated_options(::greptime::v1::ColumnOptions* options); + private: + const ::greptime::v1::ColumnOptions& _internal_options() const; + ::greptime::v1::ColumnOptions* _internal_mutable_options(); + public: + void unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options); + ::greptime::v1::ColumnOptions* unsafe_arena_release_options(); + // .greptime.v1.ColumnDataType data_type = 2; void clear_data_type(); ::greptime::v1::ColumnDataType data_type() const; @@ -4729,15 +4695,11 @@ class ColumnDef final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::MapField< - ColumnDef_OptionsEntry_DoNotUse, - std::string, std::string, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_constraint_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comment_; ::greptime::v1::ColumnDataTypeExtension* datatype_extension_; + ::greptime::v1::ColumnOptions* options_; int data_type_; bool is_nullable_; int semantic_type_; @@ -4796,7 +4758,7 @@ class AddColumnLocation final : &_AddColumnLocation_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 24; friend void swap(AddColumnLocation& a, AddColumnLocation& b) { a.Swap(&b); @@ -9306,8 +9268,6 @@ inline void FlowId::set_id(uint32_t value) { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // ColumnDef // string name = 1; @@ -9605,33 +9565,89 @@ inline void ColumnDef::set_allocated_datatype_extension(::greptime::v1::ColumnDa // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.datatype_extension) } -// map options = 8; -inline int ColumnDef::_internal_options_size() const { - return _impl_.options_.size(); +// .greptime.v1.ColumnOptions options = 8; +inline bool ColumnDef::_internal_has_options() const { + return this != internal_default_instance() && _impl_.options_ != nullptr; } -inline int ColumnDef::options_size() const { - return _internal_options_size(); +inline bool ColumnDef::has_options() const { + return _internal_has_options(); } -inline void ColumnDef::clear_options() { - _impl_.options_.Clear(); +inline const ::greptime::v1::ColumnOptions& ColumnDef::_internal_options() const { + const ::greptime::v1::ColumnOptions* p = _impl_.options_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::_ColumnOptions_default_instance_); } -inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& -ColumnDef::_internal_options() const { - return _impl_.options_.GetMap(); -} -inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& -ColumnDef::options() const { - // @@protoc_insertion_point(field_map:greptime.v1.ColumnDef.options) +inline const ::greptime::v1::ColumnOptions& ColumnDef::options() const { + // @@protoc_insertion_point(field_get:greptime.v1.ColumnDef.options) return _internal_options(); } -inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* -ColumnDef::_internal_mutable_options() { - return _impl_.options_.MutableMap(); +inline void ColumnDef::unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + _impl_.options_ = options; + if (options) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnDef.options) } -inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* -ColumnDef::mutable_options() { - // @@protoc_insertion_point(field_mutable_map:greptime.v1.ColumnDef.options) - return _internal_mutable_options(); +inline ::greptime::v1::ColumnOptions* ColumnDef::release_options() { + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = 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::ColumnOptions* ColumnDef::unsafe_arena_release_options() { + // @@protoc_insertion_point(field_release:greptime.v1.ColumnDef.options) + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = nullptr; + return temp; +} +inline ::greptime::v1::ColumnOptions* ColumnDef::_internal_mutable_options() { + + if (_impl_.options_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::ColumnOptions>(GetArenaForAllocation()); + _impl_.options_ = p; + } + return _impl_.options_; +} +inline ::greptime::v1::ColumnOptions* ColumnDef::mutable_options() { + ::greptime::v1::ColumnOptions* _msg = _internal_mutable_options(); + // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnDef.options) + return _msg; +} +inline void ColumnDef::set_allocated_options(::greptime::v1::ColumnOptions* options) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + if (options) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(options)); + if (message_arena != submessage_arena) { + options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, options, submessage_arena); + } + + } else { + + } + _impl_.options_ = options; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnDef.options) } // ------------------------------------------------------------------- @@ -9759,8 +9775,6 @@ inline void AddColumnLocation::set_allocated_after_column_name(std::string* afte // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/c++/greptime/v1/row.pb.cc b/c++/greptime/v1/row.pb.cc index f9e3a568..c596e1dd 100644 --- a/c++/greptime/v1/row.pb.cc +++ b/c++/greptime/v1/row.pb.cc @@ -36,22 +36,11 @@ struct RowsDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowsDefaultTypeInternal _Rows_default_instance_; -PROTOBUF_CONSTEXPR ColumnSchema_OptionsEntry_DoNotUse::ColumnSchema_OptionsEntry_DoNotUse( - ::_pbi::ConstantInitialized) {} -struct ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal { - PROTOBUF_CONSTEXPR ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal() {} - union { - ColumnSchema_OptionsEntry_DoNotUse _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnSchema_OptionsEntry_DoNotUse_default_instance_; PROTOBUF_CONSTEXPR ColumnSchema::ColumnSchema( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} - , /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.datatype_extension_)*/nullptr + , /*decltype(_impl_.options_)*/nullptr , /*decltype(_impl_.datatype_)*/0 , /*decltype(_impl_.semantic_type_)*/0 , /*decltype(_impl_._cached_size_)*/{}} {} @@ -93,7 +82,7 @@ struct ValueDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueDefaultTypeInternal _Value_default_instance_; } // namespace v1 } // namespace greptime -static ::_pb::Metadata file_level_metadata_greptime_2fv1_2frow_2eproto[5]; +static ::_pb::Metadata file_level_metadata_greptime_2fv1_2frow_2eproto[4]; static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_greptime_2fv1_2frow_2eproto = nullptr; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2frow_2eproto = nullptr; @@ -106,16 +95,6 @@ const uint32_t TableStruct_greptime_2fv1_2frow_2eproto::offsets[] PROTOBUF_SECTI ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::greptime::v1::Rows, _impl_.schema_), PROTOBUF_FIELD_OFFSET(::greptime::v1::Rows, _impl_.rows_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, _has_bits_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, key_), - PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse, value_), - 0, - 1, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnSchema, _internal_metadata_), ~0u, // no _extensions_ @@ -171,15 +150,13 @@ const uint32_t TableStruct_greptime_2fv1_2frow_2eproto::offsets[] PROTOBUF_SECTI }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::greptime::v1::Rows)}, - { 8, 16, -1, sizeof(::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse)}, - { 18, -1, -1, sizeof(::greptime::v1::ColumnSchema)}, - { 29, -1, -1, sizeof(::greptime::v1::Row)}, - { 36, -1, -1, sizeof(::greptime::v1::Value)}, + { 8, -1, -1, sizeof(::greptime::v1::ColumnSchema)}, + { 19, -1, -1, sizeof(::greptime::v1::Row)}, + { 26, -1, -1, sizeof(::greptime::v1::Value)}, }; static const ::_pb::Message* const file_default_instances[] = { &::greptime::v1::_Rows_default_instance_._instance, - &::greptime::v1::_ColumnSchema_OptionsEntry_DoNotUse_default_instance_._instance, &::greptime::v1::_ColumnSchema_default_instance_._instance, &::greptime::v1::_Row_default_instance_._instance, &::greptime::v1::_Value_default_instance_._instance, @@ -189,48 +166,46 @@ const char descriptor_table_protodef_greptime_2fv1_2frow_2eproto[] PROTOBUF_SECT "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" - "s\030\002 \003(\0132\020.greptime.v1.Row\"\257\002\n\014ColumnSche" + "s\030\002 \003(\0132\020.greptime.v1.Row\"\363\001\n\014ColumnSche" "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." - "v1.ColumnDataTypeExtension\0227\n\007options\030\005 " - "\003(\0132&.greptime.v1.ColumnSchema.OptionsEn" - "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" - "e\030\002 \001(\t:\0028\001\")\n\003Row\022\"\n\006values\030\001 \003(\0132\022.gre" - "ptime.v1.Value\"\274\006\n\005Value\022\022\n\010i8_value\030\001 \001" - "(\005H\000\022\023\n\ti16_value\030\002 \001(\005H\000\022\023\n\ti32_value\030\003" - " \001(\005H\000\022\023\n\ti64_value\030\004 \001(\003H\000\022\022\n\010u8_value\030" - "\005 \001(\rH\000\022\023\n\tu16_value\030\006 \001(\rH\000\022\023\n\tu32_valu" - "e\030\007 \001(\rH\000\022\023\n\tu64_value\030\010 \001(\004H\000\022\023\n\tf32_va" - "lue\030\t \001(\002H\000\022\023\n\tf64_value\030\n \001(\001H\000\022\024\n\nbool" - "_value\030\013 \001(\010H\000\022\026\n\014binary_value\030\014 \001(\014H\000\022\026" - "\n\014string_value\030\r \001(\tH\000\022\024\n\ndate_value\030\016 \001" - "(\005H\000\022\030\n\016datetime_value\030\017 \001(\003H\000\022 \n\026timest" - "amp_second_value\030\020 \001(\003H\000\022%\n\033timestamp_mi" - "llisecond_value\030\021 \001(\003H\000\022%\n\033timestamp_mic" - "rosecond_value\030\022 \001(\003H\000\022$\n\032timestamp_nano" - "second_value\030\023 \001(\003H\000\022\033\n\021time_second_valu" - "e\030\024 \001(\003H\000\022 \n\026time_millisecond_value\030\025 \001(" - "\003H\000\022 \n\026time_microsecond_value\030\026 \001(\003H\000\022\037\n" - "\025time_nanosecond_value\030\027 \001(\003H\000\022#\n\031interv" - "al_year_month_value\030\030 \001(\005H\000\022!\n\027interval_" - "day_time_value\030\031 \001(\003H\000\022J\n\035interval_month" - "_day_nano_value\030\032 \001(\0132!.greptime.v1.Inte" - "rvalMonthDayNanoH\000\0223\n\020decimal128_value\030\037" - " \001(\0132\027.greptime.v1.Decimal128H\000B\014\n\nvalue" - "_dataBP\n\016io.greptime.v1B\007RowDataZ5github" - ".com/GreptimeTeam/greptime-proto/go/grep" - "time/v1b\006proto3" + "v1.ColumnDataTypeExtension\022+\n\007options\030\005 " + "\001(\0132\032.greptime.v1.ColumnOptions\")\n\003Row\022\"" + "\n\006values\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005V" + "alue\022\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 " + "\001(\005H\000\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030" + "\004 \001(\003H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value" + "\030\006 \001(\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_val" + "ue\030\010 \001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_v" + "alue\030\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014bi" + "nary_value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\t" + "H\000\022\024\n\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_val" + "ue\030\017 \001(\003H\000\022 \n\026timestamp_second_value\030\020 \001" + "(\003H\000\022%\n\033timestamp_millisecond_value\030\021 \001(" + "\003H\000\022%\n\033timestamp_microsecond_value\030\022 \001(\003" + "H\000\022$\n\032timestamp_nanosecond_value\030\023 \001(\003H\000" + "\022\033\n\021time_second_value\030\024 \001(\003H\000\022 \n\026time_mi" + "llisecond_value\030\025 \001(\003H\000\022 \n\026time_microsec" + "ond_value\030\026 \001(\003H\000\022\037\n\025time_nanosecond_val" + "ue\030\027 \001(\003H\000\022#\n\031interval_year_month_value\030" + "\030 \001(\005H\000\022!\n\027interval_day_time_value\030\031 \001(\003" + "H\000\022J\n\035interval_month_day_nano_value\030\032 \001(" + "\0132!.greptime.v1.IntervalMonthDayNanoH\000\0223" + "\n\020decimal128_value\030\037 \001(\0132\027.greptime.v1.D" + "ecimal128H\000B\014\n\nvalue_dataBP\n\016io.greptime" + ".v1B\007RowDataZ5github.com/GreptimeTeam/gr" + "eptime-proto/go/greptime/v1b\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2frow_2eproto_deps[1] = { &::descriptor_table_greptime_2fv1_2fcommon_2eproto, }; static ::_pbi::once_flag descriptor_table_greptime_2fv1_2frow_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2frow_2eproto = { - false, false, 1415, descriptor_table_protodef_greptime_2fv1_2frow_2eproto, + false, false, 1355, descriptor_table_protodef_greptime_2fv1_2frow_2eproto, "greptime/v1/row.proto", - &descriptor_table_greptime_2fv1_2frow_2eproto_once, descriptor_table_greptime_2fv1_2frow_2eproto_deps, 1, 5, + &descriptor_table_greptime_2fv1_2frow_2eproto_once, descriptor_table_greptime_2fv1_2frow_2eproto_deps, 1, 4, schemas, file_default_instances, TableStruct_greptime_2fv1_2frow_2eproto::offsets, file_level_metadata_greptime_2fv1_2frow_2eproto, file_level_enum_descriptors_greptime_2fv1_2frow_2eproto, file_level_service_descriptors_greptime_2fv1_2frow_2eproto, @@ -465,57 +440,50 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Rows::GetMetadata() const { // =================================================================== -ColumnSchema_OptionsEntry_DoNotUse::ColumnSchema_OptionsEntry_DoNotUse() {} -ColumnSchema_OptionsEntry_DoNotUse::ColumnSchema_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) - : SuperType(arena) {} -void ColumnSchema_OptionsEntry_DoNotUse::MergeFrom(const ColumnSchema_OptionsEntry_DoNotUse& other) { - MergeFromInternal(other); -} -::PROTOBUF_NAMESPACE_ID::Metadata ColumnSchema_OptionsEntry_DoNotUse::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[1]); -} - -// =================================================================== - class ColumnSchema::_Internal { public: static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const ColumnSchema* msg); + static const ::greptime::v1::ColumnOptions& options(const ColumnSchema* msg); }; const ::greptime::v1::ColumnDataTypeExtension& ColumnSchema::_Internal::datatype_extension(const ColumnSchema* msg) { return *msg->_impl_.datatype_extension_; } +const ::greptime::v1::ColumnOptions& +ColumnSchema::_Internal::options(const ColumnSchema* msg) { + return *msg->_impl_.options_; +} void ColumnSchema::clear_datatype_extension() { if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; } +void ColumnSchema::clear_options() { + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; +} ColumnSchema::ColumnSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - if (arena != nullptr && !is_message_owned) { - arena->OwnCustomDestructor(this, &ColumnSchema::ArenaDtor); - } // @@protoc_insertion_point(arena_constructor:greptime.v1.ColumnSchema) } ColumnSchema::ColumnSchema(const ColumnSchema& from) : ::PROTOBUF_NAMESPACE_ID::Message() { ColumnSchema* const _this = this; (void)_this; new (&_impl_) Impl_{ - /*decltype(_impl_.options_)*/{} - , decltype(_impl_.column_name_){} + decltype(_impl_.column_name_){} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.datatype_){} , decltype(_impl_.semantic_type_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _this->_impl_.options_.MergeFrom(from._impl_.options_); _impl_.column_name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.column_name_.Set("", GetArenaForAllocation()); @@ -527,6 +495,9 @@ ColumnSchema::ColumnSchema(const ColumnSchema& from) if (from._internal_has_datatype_extension()) { _this->_impl_.datatype_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.datatype_extension_); } + if (from._internal_has_options()) { + _this->_impl_.options_ = new ::greptime::v1::ColumnOptions(*from._impl_.options_); + } ::memcpy(&_impl_.datatype_, &from._impl_.datatype_, static_cast(reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); @@ -538,9 +509,9 @@ inline void ColumnSchema::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} - , decltype(_impl_.column_name_){} + decltype(_impl_.column_name_){} , decltype(_impl_.datatype_extension_){nullptr} + , decltype(_impl_.options_){nullptr} , decltype(_impl_.datatype_){0} , decltype(_impl_.semantic_type_){0} , /*decltype(_impl_._cached_size_)*/{} @@ -555,7 +526,6 @@ ColumnSchema::~ColumnSchema() { // @@protoc_insertion_point(destructor:greptime.v1.ColumnSchema) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; - ArenaDtor(this); return; } SharedDtor(); @@ -563,16 +533,11 @@ ColumnSchema::~ColumnSchema() { inline void ColumnSchema::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.options_.Destruct(); - _impl_.options_.~MapField(); _impl_.column_name_.Destroy(); if (this != internal_default_instance()) delete _impl_.datatype_extension_; + if (this != internal_default_instance()) delete _impl_.options_; } -void ColumnSchema::ArenaDtor(void* object) { - ColumnSchema* _this = reinterpret_cast< ColumnSchema* >(object); - _this->_impl_.options_.Destruct(); -} void ColumnSchema::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } @@ -583,12 +548,15 @@ void ColumnSchema::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.options_.Clear(); _impl_.column_name_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) { delete _impl_.datatype_extension_; } _impl_.datatype_extension_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.options_ != nullptr) { + delete _impl_.options_; + } + _impl_.options_ = nullptr; ::memset(&_impl_.datatype_, 0, static_cast( reinterpret_cast(&_impl_.semantic_type_) - reinterpret_cast(&_impl_.datatype_)) + sizeof(_impl_.semantic_type_)); @@ -637,16 +605,11 @@ const char* ColumnSchema::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; - // map options = 5; + // .greptime.v1.ColumnOptions options = 5; case 5: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(&_impl_.options_, ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr)); + ptr = ctx->ParseMessage(_internal_mutable_options(), ptr); + CHK_(ptr); } else goto handle_unusual; continue; @@ -710,34 +673,11 @@ uint8_t* ColumnSchema::_InternalSerialize( _Internal::datatype_extension(this).GetCachedSize(), target, stream); } - // map options = 5; - if (!this->_internal_options().empty()) { - using MapType = ::_pb::Map; - using WireHelper = ColumnSchema_OptionsEntry_DoNotUse::Funcs; - const auto& map_field = this->_internal_options(); - auto check_utf8 = [](const MapType::value_type& entry) { - (void)entry; - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - entry.first.data(), static_cast(entry.first.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.ColumnSchema.OptionsEntry.key"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - entry.second.data(), static_cast(entry.second.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "greptime.v1.ColumnSchema.OptionsEntry.value"); - }; - - if (stream->IsSerializationDeterministic() && map_field.size() > 1) { - for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { - target = WireHelper::InternalSerialize(5, entry.first, entry.second, target, stream); - check_utf8(entry); - } - } else { - for (const auto& entry : map_field) { - target = WireHelper::InternalSerialize(5, entry.first, entry.second, target, stream); - check_utf8(entry); - } - } + // .greptime.v1.ColumnOptions options = 5; + if (this->_internal_has_options()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::options(this), + _Internal::options(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -756,15 +696,6 @@ size_t ColumnSchema::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // map options = 5; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size()); - for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator - it = this->_internal_options().begin(); - it != this->_internal_options().end(); ++it) { - total_size += ColumnSchema_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); - } - // string column_name = 1; if (!this->_internal_column_name().empty()) { total_size += 1 + @@ -779,6 +710,13 @@ size_t ColumnSchema::ByteSizeLong() const { *_impl_.datatype_extension_); } + // .greptime.v1.ColumnOptions options = 5; + if (this->_internal_has_options()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.options_); + } + // .greptime.v1.ColumnDataType datatype = 2; if (this->_internal_datatype() != 0) { total_size += 1 + @@ -809,7 +747,6 @@ void ColumnSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P uint32_t cached_has_bits = 0; (void) cached_has_bits; - _this->_impl_.options_.MergeFrom(from._impl_.options_); if (!from._internal_column_name().empty()) { _this->_internal_set_column_name(from._internal_column_name()); } @@ -817,6 +754,10 @@ void ColumnSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::P _this->_internal_mutable_datatype_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom( from._internal_datatype_extension()); } + if (from._internal_has_options()) { + _this->_internal_mutable_options()->::greptime::v1::ColumnOptions::MergeFrom( + from._internal_options()); + } if (from._internal_datatype() != 0) { _this->_internal_set_datatype(from._internal_datatype()); } @@ -842,7 +783,6 @@ void ColumnSchema::InternalSwap(ColumnSchema* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - _impl_.options_.InternalSwap(&other->_impl_.options_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.column_name_, lhs_arena, &other->_impl_.column_name_, rhs_arena @@ -858,7 +798,7 @@ void ColumnSchema::InternalSwap(ColumnSchema* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ColumnSchema::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[2]); + file_level_metadata_greptime_2fv1_2frow_2eproto[1]); } // =================================================================== @@ -1043,7 +983,7 @@ void Row::InternalSwap(Row* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Row::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[3]); + file_level_metadata_greptime_2fv1_2frow_2eproto[2]); } // =================================================================== @@ -2172,7 +2112,7 @@ void Value::InternalSwap(Value* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Value::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_greptime_2fv1_2frow_2eproto_getter, &descriptor_table_greptime_2fv1_2frow_2eproto_once, - file_level_metadata_greptime_2fv1_2frow_2eproto[4]); + file_level_metadata_greptime_2fv1_2frow_2eproto[3]); } // @@protoc_insertion_point(namespace_scope) @@ -2183,10 +2123,6 @@ template<> PROTOBUF_NOINLINE ::greptime::v1::Rows* Arena::CreateMaybeMessage< ::greptime::v1::Rows >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::Rows >(arena); } -template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse* -Arena::CreateMaybeMessage< ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse >(Arena* arena) { - return Arena::CreateMessageInternal< ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse >(arena); -} template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnSchema* Arena::CreateMaybeMessage< ::greptime::v1::ColumnSchema >(Arena* arena) { return Arena::CreateMessageInternal< ::greptime::v1::ColumnSchema >(arena); diff --git a/c++/greptime/v1/row.pb.h b/c++/greptime/v1/row.pb.h index d85551b5..62a9f94f 100644 --- a/c++/greptime/v1/row.pb.h +++ b/c++/greptime/v1/row.pb.h @@ -29,9 +29,6 @@ #include #include // IWYU pragma: export #include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include #include #include "greptime/v1/common.pb.h" // @@protoc_insertion_point(includes) @@ -53,9 +50,6 @@ namespace v1 { class ColumnSchema; struct ColumnSchemaDefaultTypeInternal; extern ColumnSchemaDefaultTypeInternal _ColumnSchema_default_instance_; -class ColumnSchema_OptionsEntry_DoNotUse; -struct ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal; -extern ColumnSchema_OptionsEntry_DoNotUseDefaultTypeInternal _ColumnSchema_OptionsEntry_DoNotUse_default_instance_; class Row; struct RowDefaultTypeInternal; extern RowDefaultTypeInternal _Row_default_instance_; @@ -69,7 +63,6 @@ extern ValueDefaultTypeInternal _Value_default_instance_; } // namespace greptime PROTOBUF_NAMESPACE_OPEN template<> ::greptime::v1::ColumnSchema* Arena::CreateMaybeMessage<::greptime::v1::ColumnSchema>(Arena*); -template<> ::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse* Arena::CreateMaybeMessage<::greptime::v1::ColumnSchema_OptionsEntry_DoNotUse>(Arena*); template<> ::greptime::v1::Row* Arena::CreateMaybeMessage<::greptime::v1::Row>(Arena*); template<> ::greptime::v1::Rows* Arena::CreateMaybeMessage<::greptime::v1::Rows>(Arena*); template<> ::greptime::v1::Value* Arena::CreateMaybeMessage<::greptime::v1::Value>(Arena*); @@ -256,34 +249,6 @@ class Rows final : }; // ------------------------------------------------------------------- -class ColumnSchema_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { -public: - typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; - ColumnSchema_OptionsEntry_DoNotUse(); - explicit PROTOBUF_CONSTEXPR ColumnSchema_OptionsEntry_DoNotUse( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - explicit ColumnSchema_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); - void MergeFrom(const ColumnSchema_OptionsEntry_DoNotUse& other); - static const ColumnSchema_OptionsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ColumnSchema_OptionsEntry_DoNotUse_default_instance_); } - static bool ValidateKey(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnSchema.OptionsEntry.key"); - } - static bool ValidateValue(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "greptime.v1.ColumnSchema.OptionsEntry.value"); - } - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - friend struct ::TableStruct_greptime_2fv1_2frow_2eproto; -}; - -// ------------------------------------------------------------------- - class ColumnSchema final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.ColumnSchema) */ { public: @@ -332,7 +297,7 @@ class ColumnSchema final : &_ColumnSchema_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 1; friend void swap(ColumnSchema& a, ColumnSchema& b) { a.Swap(&b); @@ -393,8 +358,6 @@ class ColumnSchema final : protected: explicit ColumnSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); - private: - static void ArenaDtor(void* object); public: static const ClassData _class_data_; @@ -404,33 +367,15 @@ class ColumnSchema final : // nested types ---------------------------------------------------- - // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 5, kColumnNameFieldNumber = 1, kDatatypeExtensionFieldNumber = 4, + kOptionsFieldNumber = 5, kDatatypeFieldNumber = 2, kSemanticTypeFieldNumber = 3, }; - // map options = 5; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - private: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& - _internal_options() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* - _internal_mutable_options(); - public: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& - options() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* - mutable_options(); - // string column_name = 1; void clear_column_name(); const std::string& column_name() const; @@ -463,6 +408,24 @@ class ColumnSchema final : ::greptime::v1::ColumnDataTypeExtension* datatype_extension); ::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_datatype_extension(); + // .greptime.v1.ColumnOptions options = 5; + bool has_options() const; + private: + bool _internal_has_options() const; + public: + void clear_options(); + const ::greptime::v1::ColumnOptions& options() const; + PROTOBUF_NODISCARD ::greptime::v1::ColumnOptions* release_options(); + ::greptime::v1::ColumnOptions* mutable_options(); + void set_allocated_options(::greptime::v1::ColumnOptions* options); + private: + const ::greptime::v1::ColumnOptions& _internal_options() const; + ::greptime::v1::ColumnOptions* _internal_mutable_options(); + public: + void unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options); + ::greptime::v1::ColumnOptions* unsafe_arena_release_options(); + // .greptime.v1.ColumnDataType datatype = 2; void clear_datatype(); ::greptime::v1::ColumnDataType datatype() const; @@ -489,13 +452,9 @@ class ColumnSchema final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::MapField< - ColumnSchema_OptionsEntry_DoNotUse, - std::string, std::string, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; ::greptime::v1::ColumnDataTypeExtension* datatype_extension_; + ::greptime::v1::ColumnOptions* options_; int datatype_; int semantic_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -553,7 +512,7 @@ class Row final : &_Row_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 2; friend void swap(Row& a, Row& b) { a.Swap(&b); @@ -741,7 +700,7 @@ class Value final : &_Value_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 3; friend void swap(Value& a, Value& b) { a.Swap(&b); @@ -1384,8 +1343,6 @@ Rows::rows() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // ColumnSchema // string column_name = 1; @@ -1563,33 +1520,89 @@ inline void ColumnSchema::set_allocated_datatype_extension(::greptime::v1::Colum // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnSchema.datatype_extension) } -// map options = 5; -inline int ColumnSchema::_internal_options_size() const { - return _impl_.options_.size(); +// .greptime.v1.ColumnOptions options = 5; +inline bool ColumnSchema::_internal_has_options() const { + return this != internal_default_instance() && _impl_.options_ != nullptr; } -inline int ColumnSchema::options_size() const { - return _internal_options_size(); +inline bool ColumnSchema::has_options() const { + return _internal_has_options(); } -inline void ColumnSchema::clear_options() { - _impl_.options_.Clear(); +inline const ::greptime::v1::ColumnOptions& ColumnSchema::_internal_options() const { + const ::greptime::v1::ColumnOptions* p = _impl_.options_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::_ColumnOptions_default_instance_); } -inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& -ColumnSchema::_internal_options() const { - return _impl_.options_.GetMap(); -} -inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& -ColumnSchema::options() const { - // @@protoc_insertion_point(field_map:greptime.v1.ColumnSchema.options) +inline const ::greptime::v1::ColumnOptions& ColumnSchema::options() const { + // @@protoc_insertion_point(field_get:greptime.v1.ColumnSchema.options) return _internal_options(); } -inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* -ColumnSchema::_internal_mutable_options() { - return _impl_.options_.MutableMap(); +inline void ColumnSchema::unsafe_arena_set_allocated_options( + ::greptime::v1::ColumnOptions* options) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + _impl_.options_ = options; + if (options) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnSchema.options) +} +inline ::greptime::v1::ColumnOptions* ColumnSchema::release_options() { + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = 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::ColumnOptions* ColumnSchema::unsafe_arena_release_options() { + // @@protoc_insertion_point(field_release:greptime.v1.ColumnSchema.options) + + ::greptime::v1::ColumnOptions* temp = _impl_.options_; + _impl_.options_ = nullptr; + return temp; +} +inline ::greptime::v1::ColumnOptions* ColumnSchema::_internal_mutable_options() { + + if (_impl_.options_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::ColumnOptions>(GetArenaForAllocation()); + _impl_.options_ = p; + } + return _impl_.options_; } -inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* -ColumnSchema::mutable_options() { - // @@protoc_insertion_point(field_mutable_map:greptime.v1.ColumnSchema.options) - return _internal_mutable_options(); +inline ::greptime::v1::ColumnOptions* ColumnSchema::mutable_options() { + ::greptime::v1::ColumnOptions* _msg = _internal_mutable_options(); + // @@protoc_insertion_point(field_mutable:greptime.v1.ColumnSchema.options) + return _msg; +} +inline void ColumnSchema::set_allocated_options(::greptime::v1::ColumnOptions* options) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.options_); + } + if (options) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(options)); + if (message_arena != submessage_arena) { + options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, options, submessage_arena); + } + + } else { + + } + _impl_.options_ = options; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.ColumnSchema.options) } // ------------------------------------------------------------------- @@ -2818,8 +2831,6 @@ inline Value::ValueDataCase Value::value_data_case() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/go/greptime/v1/column.pb.go b/go/greptime/v1/column.pb.go index b689d727..f3e8da07 100644 --- a/go/greptime/v1/column.pb.go +++ b/go/greptime/v1/column.pb.go @@ -60,29 +60,8 @@ type Column struct { Datatype ColumnDataType `protobuf:"varint,5,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,6,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` - // Additional options for the column. - // - // Supported keys: - // - // "fulltext": - // A JSON encoded string containing full-text search options for the column. - // - // The fulltext options JSON structure: - // { - // "enable": bool, // Indicates whether full-text search is - // // enabled for the column. - // - // "analyzer": string, // The language-specific text analyzer to - // // use for indexing and searching text. - // // Supported values: ["English" (Default), "Chinese"]. - // - // "case-sensitive": bool // Indicates whether the text should be treated - // // as case-sensitive during full-text search. - // } - // - // Example: - // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" - Options map[string]string `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Additional column options. + Options *ColumnOptions `protobuf:"bytes,7,opt,name=options,proto3" json:"options,omitempty"` } func (x *Column) Reset() { @@ -159,7 +138,7 @@ func (x *Column) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } -func (x *Column) GetOptions() map[string]string { +func (x *Column) GetOptions() *ColumnOptions { if x != nil { return x.Options } @@ -428,7 +407,7 @@ var file_greptime_v1_column_proto_rawDesc = []byte{ 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x18, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xa5, 0x0d, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x6f, 0x22, 0xe3, 0x0c, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, @@ -448,99 +427,95 @@ var file_greptime_v1_column_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x24, 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, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, - 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe2, 0x09, 0x0a, 0x06, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x03, 0x52, 0x09, 0x69, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, - 0x09, 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x08, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x31, - 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, - 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x33, 0x32, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x75, - 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x36, 0x34, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x75, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x33, 0x32, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, 0x66, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x66, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x62, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, - 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, - 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, - 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, - 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, - 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x17, - 0x20, 0x03, 0x28, 0x03, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, - 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x05, 0x52, 0x17, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, - 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x65, 0x0a, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, - 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, - 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x52, 0x1a, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, - 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x11, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x52, 0x10, 0x64, 0x65, 0x63, - 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 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, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, - 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 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, + 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0xe2, 0x09, 0x0a, 0x06, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x08, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x31, + 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x33, 0x32, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x69, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x36, 0x34, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x38, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x38, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x75, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, 0x66, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x66, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x08, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, + 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, + 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, + 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x40, + 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x12, + 0x20, 0x03, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, + 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x3e, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, + 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x13, 0x20, 0x03, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, + 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, + 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x15, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, + 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x03, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, + 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x03, 0x52, 0x14, + 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x05, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, + 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x19, 0x20, + 0x03, 0x28, 0x03, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, + 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x1e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, + 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x52, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, + 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x44, 0x0a, 0x11, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, + 0x61, 0x6c, 0x31, 0x32, 0x38, 0x52, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, + 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, + 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 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 ( @@ -555,23 +530,23 @@ func file_greptime_v1_column_proto_rawDescGZIP() []byte { return file_greptime_v1_column_proto_rawDescData } -var file_greptime_v1_column_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_greptime_v1_column_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_greptime_v1_column_proto_goTypes = []interface{}{ (*Column)(nil), // 0: greptime.v1.Column (*Column_Values)(nil), // 1: greptime.v1.Column.Values - nil, // 2: greptime.v1.Column.OptionsEntry - (SemanticType)(0), // 3: greptime.v1.SemanticType - (ColumnDataType)(0), // 4: greptime.v1.ColumnDataType - (*ColumnDataTypeExtension)(nil), // 5: greptime.v1.ColumnDataTypeExtension + (SemanticType)(0), // 2: greptime.v1.SemanticType + (ColumnDataType)(0), // 3: greptime.v1.ColumnDataType + (*ColumnDataTypeExtension)(nil), // 4: greptime.v1.ColumnDataTypeExtension + (*ColumnOptions)(nil), // 5: greptime.v1.ColumnOptions (*IntervalMonthDayNano)(nil), // 6: greptime.v1.IntervalMonthDayNano (*Decimal128)(nil), // 7: greptime.v1.Decimal128 } var file_greptime_v1_column_proto_depIdxs = []int32{ - 3, // 0: greptime.v1.Column.semantic_type:type_name -> greptime.v1.SemanticType + 2, // 0: greptime.v1.Column.semantic_type:type_name -> greptime.v1.SemanticType 1, // 1: greptime.v1.Column.values:type_name -> greptime.v1.Column.Values - 4, // 2: greptime.v1.Column.datatype:type_name -> greptime.v1.ColumnDataType - 5, // 3: greptime.v1.Column.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 2, // 4: greptime.v1.Column.options:type_name -> greptime.v1.Column.OptionsEntry + 3, // 2: greptime.v1.Column.datatype:type_name -> greptime.v1.ColumnDataType + 4, // 3: greptime.v1.Column.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 5, // 4: greptime.v1.Column.options:type_name -> greptime.v1.ColumnOptions 6, // 5: greptime.v1.Column.Values.interval_month_day_nano_values:type_name -> greptime.v1.IntervalMonthDayNano 7, // 6: greptime.v1.Column.Values.decimal128_values:type_name -> greptime.v1.Decimal128 7, // [7:7] is the sub-list for method output_type @@ -619,7 +594,7 @@ func file_greptime_v1_column_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_column_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/go/greptime/v1/common.pb.go b/go/greptime/v1/common.pb.go index 8a34f275..b84af0b9 100644 --- a/go/greptime/v1/common.pb.go +++ b/go/greptime/v1/common.pb.go @@ -1156,6 +1156,74 @@ func (x *DecimalTypeExtension) GetScale() int32 { return 0 } +// Additional options for the column. +type ColumnOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Supported keys: + // + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + Options map[string]string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ColumnOptions) Reset() { + *x = ColumnOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_greptime_v1_common_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ColumnOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ColumnOptions) ProtoMessage() {} + +func (x *ColumnOptions) ProtoReflect() protoreflect.Message { + mi := &file_greptime_v1_common_proto_msgTypes[16] + 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 ColumnOptions.ProtoReflect.Descriptor instead. +func (*ColumnOptions) Descriptor() ([]byte, []int) { + return file_greptime_v1_common_proto_rawDescGZIP(), []int{16} +} + +func (x *ColumnOptions) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + var File_greptime_v1_common_proto protoreflect.FileDescriptor var file_greptime_v1_common_proto_rawDesc = []byte{ @@ -1263,45 +1331,55 @@ var file_greptime_v1_common_proto_rawDesc = []byte{ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 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, 0xd6, - 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, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x43, 0x49, 0x4d, - 0x41, 0x4c, 0x31, 0x32, 0x38, 0x10, 0x1e, 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, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0d, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 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, + 0xd6, 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, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x43, 0x49, + 0x4d, 0x41, 0x4c, 0x31, 0x32, 0x38, 0x10, 0x1e, 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 ( @@ -1317,7 +1395,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, 18) +var file_greptime_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_greptime_v1_common_proto_goTypes = []interface{}{ (SemanticType)(0), // 0: greptime.v1.SemanticType (ColumnDataType)(0), // 1: greptime.v1.ColumnDataType @@ -1337,24 +1415,27 @@ var file_greptime_v1_common_proto_goTypes = []interface{}{ (*Decimal128)(nil), // 15: greptime.v1.Decimal128 (*ColumnDataTypeExtension)(nil), // 16: greptime.v1.ColumnDataTypeExtension (*DecimalTypeExtension)(nil), // 17: greptime.v1.DecimalTypeExtension - nil, // 18: greptime.v1.QueryContext.ExtensionsEntry - nil, // 19: greptime.v1.RequestHeader.TracingContextEntry + (*ColumnOptions)(nil), // 18: greptime.v1.ColumnOptions + nil, // 19: greptime.v1.QueryContext.ExtensionsEntry + nil, // 20: greptime.v1.RequestHeader.TracingContextEntry + nil, // 21: greptime.v1.ColumnOptions.OptionsEntry } var file_greptime_v1_common_proto_depIdxs = []int32{ - 18, // 0: greptime.v1.QueryContext.extensions:type_name -> greptime.v1.QueryContext.ExtensionsEntry + 19, // 0: greptime.v1.QueryContext.extensions:type_name -> greptime.v1.QueryContext.ExtensionsEntry 6, // 1: greptime.v1.RequestHeader.authorization:type_name -> greptime.v1.AuthHeader - 19, // 2: greptime.v1.RequestHeader.tracing_context:type_name -> greptime.v1.RequestHeader.TracingContextEntry + 20, // 2: greptime.v1.RequestHeader.tracing_context:type_name -> greptime.v1.RequestHeader.TracingContextEntry 5, // 3: greptime.v1.ResponseHeader.status:type_name -> greptime.v1.Status 7, // 4: greptime.v1.AuthHeader.basic:type_name -> greptime.v1.Basic 8, // 5: greptime.v1.AuthHeader.token:type_name -> greptime.v1.Token 10, // 6: greptime.v1.FlightMetadata.affected_rows:type_name -> greptime.v1.AffectedRows 11, // 7: greptime.v1.FlightMetadata.metrics:type_name -> greptime.v1.Metrics 17, // 8: greptime.v1.ColumnDataTypeExtension.decimal_type:type_name -> greptime.v1.DecimalTypeExtension - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 21, // 9: greptime.v1.ColumnOptions.options:type_name -> greptime.v1.ColumnOptions.OptionsEntry + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_greptime_v1_common_proto_init() } @@ -1555,6 +1636,18 @@ func file_greptime_v1_common_proto_init() { return nil } } + file_greptime_v1_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ColumnOptions); 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[4].OneofWrappers = []interface{}{ (*AuthHeader_Basic)(nil), @@ -1569,7 +1662,7 @@ func file_greptime_v1_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_common_proto_rawDesc, NumEnums: 2, - NumMessages: 18, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go index 9b28a52e..34d03258 100644 --- a/go/greptime/v1/ddl.pb.go +++ b/go/greptime/v1/ddl.pb.go @@ -1636,29 +1636,8 @@ type ColumnDef struct { Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,7,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` - // Additional options for the column. - // - // Supported keys: - // - // "fulltext": - // A JSON encoded string containing full-text search options for the column. - // - // The fulltext options JSON structure: - // { - // "enable": bool, // Indicates whether full-text search is - // // enabled for the column. - // - // "analyzer": string, // The language-specific text analyzer to - // // use for indexing and searching text. - // // Supported values: ["English" (Default), "Chinese"]. - // - // "case-sensitive": bool // Indicates whether the text should be treated - // // as case-sensitive during full-text search. - // } - // - // Example: - // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" - Options map[string]string `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Additional column options. + Options *ColumnOptions `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"` } func (x *ColumnDef) Reset() { @@ -1742,7 +1721,7 @@ func (x *ColumnDef) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } -func (x *ColumnDef) GetOptions() map[string]string { +func (x *ColumnDef) GetOptions() *ColumnOptions { if x != nil { return x.Options } @@ -2073,7 +2052,7 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 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, 0x18, 0x0a, 0x06, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd3, 0x03, 0x0a, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e, 0x03, 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, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -2095,32 +2074,27 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 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, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, - 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, 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, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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 ( @@ -2136,7 +2110,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, 26) +var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_greptime_v1_ddl_proto_goTypes = []interface{}{ (AddColumnLocation_LocationType)(0), // 0: greptime.v1.AddColumnLocation.LocationType (*DdlRequest)(nil), // 1: greptime.v1.DdlRequest @@ -2164,12 +2138,12 @@ var file_greptime_v1_ddl_proto_goTypes = []interface{}{ nil, // 23: greptime.v1.CreateFlowExpr.FlowOptionsEntry nil, // 24: greptime.v1.CreateTableExpr.TableOptionsEntry nil, // 25: greptime.v1.CreateDatabaseExpr.OptionsEntry - nil, // 26: greptime.v1.ColumnDef.OptionsEntry - (*TableName)(nil), // 27: greptime.v1.TableName - (*ExpireAfter)(nil), // 28: greptime.v1.ExpireAfter - (ColumnDataType)(0), // 29: greptime.v1.ColumnDataType - (*ColumnDataTypeExtension)(nil), // 30: greptime.v1.ColumnDataTypeExtension - (SemanticType)(0), // 31: greptime.v1.SemanticType + (*TableName)(nil), // 26: greptime.v1.TableName + (*ExpireAfter)(nil), // 27: greptime.v1.ExpireAfter + (ColumnDataType)(0), // 28: greptime.v1.ColumnDataType + (*ColumnDataTypeExtension)(nil), // 29: greptime.v1.ColumnDataTypeExtension + (SemanticType)(0), // 30: greptime.v1.SemanticType + (*ColumnOptions)(nil), // 31: greptime.v1.ColumnOptions } var file_greptime_v1_ddl_proto_depIdxs = []int32{ 9, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr @@ -2181,12 +2155,12 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{ 3, // 6: greptime.v1.DdlRequest.drop_flow:type_name -> greptime.v1.DropFlowExpr 4, // 7: greptime.v1.DdlRequest.create_view:type_name -> greptime.v1.CreateViewExpr 5, // 8: greptime.v1.DdlRequest.drop_view:type_name -> greptime.v1.DropViewExpr - 27, // 9: greptime.v1.CreateFlowExpr.source_table_names:type_name -> greptime.v1.TableName - 27, // 10: greptime.v1.CreateFlowExpr.sink_table_name:type_name -> greptime.v1.TableName - 28, // 11: greptime.v1.CreateFlowExpr.expire_after:type_name -> greptime.v1.ExpireAfter + 26, // 9: greptime.v1.CreateFlowExpr.source_table_names:type_name -> greptime.v1.TableName + 26, // 10: greptime.v1.CreateFlowExpr.sink_table_name:type_name -> greptime.v1.TableName + 27, // 11: greptime.v1.CreateFlowExpr.expire_after:type_name -> greptime.v1.ExpireAfter 23, // 12: greptime.v1.CreateFlowExpr.flow_options:type_name -> greptime.v1.CreateFlowExpr.FlowOptionsEntry 20, // 13: greptime.v1.DropFlowExpr.flow_id:type_name -> greptime.v1.FlowId - 27, // 14: greptime.v1.CreateViewExpr.table_names:type_name -> greptime.v1.TableName + 26, // 14: greptime.v1.CreateViewExpr.table_names:type_name -> greptime.v1.TableName 19, // 15: greptime.v1.DropViewExpr.view_id:type_name -> greptime.v1.TableId 21, // 16: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef 24, // 17: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry @@ -2203,12 +2177,12 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{ 17, // 28: greptime.v1.ChangeColumnTypes.change_column_types:type_name -> greptime.v1.ChangeColumnType 21, // 29: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 22, // 30: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation - 29, // 31: greptime.v1.ChangeColumnType.target_type:type_name -> greptime.v1.ColumnDataType - 30, // 32: greptime.v1.ChangeColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 29, // 33: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType - 31, // 34: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType - 30, // 35: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 26, // 36: greptime.v1.ColumnDef.options:type_name -> greptime.v1.ColumnDef.OptionsEntry + 28, // 31: greptime.v1.ChangeColumnType.target_type:type_name -> greptime.v1.ColumnDataType + 29, // 32: greptime.v1.ChangeColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 28, // 33: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType + 30, // 34: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType + 29, // 35: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 31, // 36: greptime.v1.ColumnDef.options:type_name -> greptime.v1.ColumnOptions 0, // 37: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType 38, // [38:38] is the sub-list for method output_type 38, // [38:38] is the sub-list for method input_type @@ -2512,7 +2486,7 @@ func file_greptime_v1_ddl_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_ddl_proto_rawDesc, NumEnums: 1, - NumMessages: 26, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/go/greptime/v1/row.pb.go b/go/greptime/v1/row.pb.go index 674b86b8..4180be94 100644 --- a/go/greptime/v1/row.pb.go +++ b/go/greptime/v1/row.pb.go @@ -99,29 +99,8 @@ type ColumnSchema struct { SemanticType SemanticType `protobuf:"varint,3,opt,name=semantic_type,json=semanticType,proto3,enum=greptime.v1.SemanticType" json:"semantic_type,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,4,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` - // Additional options for the column. - // - // Supported keys: - // - // "fulltext": - // A JSON encoded string containing full-text search options for the column. - // - // The fulltext options JSON structure: - // { - // "enable": bool, // Indicates whether full-text search is - // // enabled for the column. - // - // "analyzer": string, // The language-specific text analyzer to - // // use for indexing and searching text. - // // Supported values: ["English" (Default), "Chinese"]. - // - // "case-sensitive": bool // Indicates whether the text should be treated - // // as case-sensitive during full-text search. - // } - // - // Example: - // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" - Options map[string]string `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Additional column options. + Options *ColumnOptions `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"` } func (x *ColumnSchema) Reset() { @@ -184,7 +163,7 @@ func (x *ColumnSchema) GetDatatypeExtension() *ColumnDataTypeExtension { return nil } -func (x *ColumnSchema) GetOptions() map[string]string { +func (x *ColumnSchema) GetOptions() *ColumnOptions { if x != nil { return x.Options } @@ -682,7 +661,7 @@ var file_greptime_v1_row_proto_rawDesc = []byte{ 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x24, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, - 0xfb, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0xb3, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, @@ -698,102 +677,98 @@ var file_greptime_v1_row_proto_rawDesc = []byte{ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 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, 0x31, 0x0a, - 0x03, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0xef, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x38, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, - 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x31, 0x36, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x31, - 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1d, 0x0a, 0x09, 0x75, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x75, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, - 0x0a, 0x09, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, - 0x09, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x00, 0x52, 0x08, 0x66, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, - 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, - 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x64, - 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, - 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, - 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, - 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, - 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, - 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x74, 0x69, - 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, - 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, - 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x48, - 0x00, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, - 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x65, 0x0a, 0x1d, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x31, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xef, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x69, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1d, 0x0a, 0x09, 0x69, 0x31, 0x36, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, + 0x0a, 0x09, 0x69, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, + 0x09, 0x69, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x08, 0x69, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x08, + 0x75, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, + 0x52, 0x07, 0x75, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x31, 0x36, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, + 0x75, 0x31, 0x36, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x33, 0x32, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x75, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x36, 0x34, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x75, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x33, 0x32, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, + 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, + 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x74, + 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x16, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, + 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x65, 0x0a, 0x1d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, + 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, - 0x6f, 0x48, 0x00, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, - 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, - 0x0a, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, - 0x38, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x52, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 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, + 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x63, + 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x50, 0x0a, 0x0e, 0x69, 0x6f, + 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x52, 0x6f, + 0x77, 0x44, 0x61, 0x74, 0x61, 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 ( @@ -808,26 +783,26 @@ func file_greptime_v1_row_proto_rawDescGZIP() []byte { return file_greptime_v1_row_proto_rawDescData } -var file_greptime_v1_row_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_greptime_v1_row_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_greptime_v1_row_proto_goTypes = []interface{}{ (*Rows)(nil), // 0: greptime.v1.Rows (*ColumnSchema)(nil), // 1: greptime.v1.ColumnSchema (*Row)(nil), // 2: greptime.v1.Row (*Value)(nil), // 3: greptime.v1.Value - nil, // 4: greptime.v1.ColumnSchema.OptionsEntry - (ColumnDataType)(0), // 5: greptime.v1.ColumnDataType - (SemanticType)(0), // 6: greptime.v1.SemanticType - (*ColumnDataTypeExtension)(nil), // 7: greptime.v1.ColumnDataTypeExtension + (ColumnDataType)(0), // 4: greptime.v1.ColumnDataType + (SemanticType)(0), // 5: greptime.v1.SemanticType + (*ColumnDataTypeExtension)(nil), // 6: greptime.v1.ColumnDataTypeExtension + (*ColumnOptions)(nil), // 7: greptime.v1.ColumnOptions (*IntervalMonthDayNano)(nil), // 8: greptime.v1.IntervalMonthDayNano (*Decimal128)(nil), // 9: greptime.v1.Decimal128 } var file_greptime_v1_row_proto_depIdxs = []int32{ 1, // 0: greptime.v1.Rows.schema:type_name -> greptime.v1.ColumnSchema 2, // 1: greptime.v1.Rows.rows:type_name -> greptime.v1.Row - 5, // 2: greptime.v1.ColumnSchema.datatype:type_name -> greptime.v1.ColumnDataType - 6, // 3: greptime.v1.ColumnSchema.semantic_type:type_name -> greptime.v1.SemanticType - 7, // 4: greptime.v1.ColumnSchema.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension - 4, // 5: greptime.v1.ColumnSchema.options:type_name -> greptime.v1.ColumnSchema.OptionsEntry + 4, // 2: greptime.v1.ColumnSchema.datatype:type_name -> greptime.v1.ColumnDataType + 5, // 3: greptime.v1.ColumnSchema.semantic_type:type_name -> greptime.v1.SemanticType + 6, // 4: greptime.v1.ColumnSchema.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension + 7, // 5: greptime.v1.ColumnSchema.options:type_name -> greptime.v1.ColumnOptions 3, // 6: greptime.v1.Row.values:type_name -> greptime.v1.Value 8, // 7: greptime.v1.Value.interval_month_day_nano_value:type_name -> greptime.v1.IntervalMonthDayNano 9, // 8: greptime.v1.Value.decimal128_value:type_name -> greptime.v1.Decimal128 @@ -929,7 +904,7 @@ func file_greptime_v1_row_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_row_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/java/src/main/java/io/greptime/v1/Columns.java b/java/src/main/java/io/greptime/v1/Columns.java index 3765825e..ef49f9dd 100644 --- a/java/src/main/java/io/greptime/v1/Columns.java +++ b/java/src/main/java/io/greptime/v1/Columns.java @@ -149,134 +149,30 @@ public interface ColumnOrBuilder extends /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; + * @return Whether the options field is set. */ - int getOptionsCount(); + boolean hasOptions(); /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; + * @return The options. */ - boolean containsOptions( - java.lang.String key); - /** - * Use {@link #getOptionsMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getOptions(); - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 7; - */ - java.util.Map - getOptionsMap(); + io.greptime.v1.Common.ColumnOptions getOptions(); /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ - - /* nullable */ -java.lang.String getOptionsOrDefault( - java.lang.String key, - /* nullable */ -java.lang.String defaultValue); - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 7; - */ - - java.lang.String getOptionsOrThrow( - java.lang.String key); + io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder(); } /** * Protobuf type {@code greptime.v1.Column} @@ -317,7 +213,6 @@ private Column( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -378,16 +273,16 @@ private Column( break; } case 58: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - options_ = com.google.protobuf.MapField.newMapField( - OptionsDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000001; + io.greptime.v1.Common.ColumnOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); } - com.google.protobuf.MapEntry - options__ = input.readMessage( - OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - options_.getMutableMap().put( - options__.getKey(), options__.getValue()); + options_ = input.readMessage(io.greptime.v1.Common.ColumnOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); + } + break; } default: { @@ -416,18 +311,6 @@ private Column( return io.greptime.v1.Columns.internal_static_greptime_v1_Column_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 7: - return internalGetOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -6626,160 +6509,41 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } public static final int OPTIONS_FIELD_NUMBER = 7; - private static final class OptionsDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - io.greptime.v1.Columns.internal_static_greptime_v1_Column_OptionsEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> options_; - private com.google.protobuf.MapField - internalGetOptions() { - if (options_ == null) { - return com.google.protobuf.MapField.emptyMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - return options_; - } - - public int getOptionsCount() { - return internalGetOptions().getMap().size(); - } + private io.greptime.v1.Common.ColumnOptions options_; /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 7; - */ - - @java.lang.Override - public boolean containsOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - return internalGetOptions().getMap().containsKey(key); - } - /** - * Use {@link #getOptionsMap()} instead. + * .greptime.v1.ColumnOptions options = 7; + * @return Whether the options field is set. */ @java.lang.Override - @java.lang.Deprecated - public java.util.Map getOptions() { - return getOptionsMap(); + public boolean hasOptions() { + return options_ != null; } /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; + * @return The options. */ @java.lang.Override - - public java.util.Map getOptionsMap() { - return internalGetOptions().getMap(); - } - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 7; - */ - @java.lang.Override - - public java.lang.String getOptionsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public io.greptime.v1.Common.ColumnOptions getOptions() { + return options_ == null ? io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; } /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ @java.lang.Override - - public java.lang.String getOptionsOrThrow( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); } private byte memoizedIsInitialized = -1; @@ -6814,12 +6578,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(6, getDatatypeExtension()); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetOptions(), - OptionsDefaultEntryHolder.defaultEntry, - 7); + if (options_ != null) { + output.writeMessage(7, getOptions()); + } unknownFields.writeTo(output); } @@ -6852,15 +6613,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getDatatypeExtension()); } - for (java.util.Map.Entry entry - : internalGetOptions().getMap().entrySet()) { - com.google.protobuf.MapEntry - options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + if (options_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, options__); + .computeMessageSize(7, getOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -6893,8 +6648,11 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } - if (!internalGetOptions().equals( - other.internalGetOptions())) return false; + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -6922,9 +6680,9 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } - if (!internalGetOptions().getMap().isEmpty()) { + if (hasOptions()) { hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + internalGetOptions().hashCode(); + hash = (53 * hash) + getOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -7033,28 +6791,6 @@ public static final class Builder extends return io.greptime.v1.Columns.internal_static_greptime_v1_Column_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 7: - return internalGetOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 7: - return internalGetMutableOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -7101,7 +6837,12 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } - internalGetMutableOptions().clear(); + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; + } return this; } @@ -7128,7 +6869,6 @@ public io.greptime.v1.Columns.Column build() { @java.lang.Override public io.greptime.v1.Columns.Column buildPartial() { io.greptime.v1.Columns.Column result = new io.greptime.v1.Columns.Column(this); - int from_bitField0_ = bitField0_; result.columnName_ = columnName_; result.semanticType_ = semanticType_; if (valuesBuilder_ == null) { @@ -7143,8 +6883,11 @@ public io.greptime.v1.Columns.Column buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } - result.options_ = internalGetOptions(); - result.options_.makeImmutable(); + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); + } onBuilt(); return result; } @@ -7212,8 +6955,9 @@ public Builder mergeFrom(io.greptime.v1.Columns.Column other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } - internalGetMutableOptions().mergeFrom( - other.internalGetOptions()); + if (other.hasOptions()) { + mergeOptions(other.getOptions()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -7242,7 +6986,6 @@ public Builder mergeFrom( } return this; } - private int bitField0_; private java.lang.Object columnName_ = ""; /** @@ -7873,268 +7616,159 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return datatypeExtensionBuilder_; } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> options_; - private com.google.protobuf.MapField - internalGetOptions() { - if (options_ == null) { - return com.google.protobuf.MapField.emptyMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - return options_; - } - private com.google.protobuf.MapField - internalGetMutableOptions() { - onChanged();; - if (options_ == null) { - options_ = com.google.protobuf.MapField.newMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - if (!options_.isMutable()) { - options_ = options_.copy(); - } - return options_; - } - - public int getOptionsCount() { - return internalGetOptions().getMap().size(); - } + private io.greptime.v1.Common.ColumnOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder> optionsBuilder_; /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; + * @return Whether the options field is set. */ - - @java.lang.Override - public boolean containsOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - return internalGetOptions().getMap().containsKey(key); + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; } /** - * Use {@link #getOptionsMap()} instead. + *
+       * Additional column options.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 7; + * @return The options. */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getOptions() { - return getOptionsMap(); + public io.greptime.v1.Common.ColumnOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; + } else { + return optionsBuilder_.getMessage(); + } } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ - @java.lang.Override + public Builder setOptions(io.greptime.v1.Common.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; + onChanged(); + } else { + optionsBuilder_.setMessage(value); + } - public java.util.Map getOptionsMap() { - return internalGetOptions().getMap(); + return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ - @java.lang.Override + public Builder setOptions( + io.greptime.v1.Common.ColumnOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); + onChanged(); + } else { + optionsBuilder_.setMessage(builderForValue.build()); + } - public java.lang.String getOptionsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ - @java.lang.Override - - public java.lang.String getOptionsOrThrow( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public Builder mergeOptions(io.greptime.v1.Common.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + io.greptime.v1.Common.ColumnOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); + } else { + optionsBuilder_.mergeFrom(value); } - return map.get(key); - } - public Builder clearOptions() { - internalGetMutableOptions().getMutableMap() - .clear(); return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); + } else { + options_ = null; + optionsBuilder_ = null; + } - public Builder removeOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - internalGetMutableOptions().getMutableMap() - .remove(key); return this; } /** - * Use alternate mutation accessors instead. + *
+       * Additional column options.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 7; */ - @java.lang.Deprecated - public java.util.Map - getMutableOptions() { - return internalGetMutableOptions().getMutableMap(); + public io.greptime.v1.Common.ColumnOptions.Builder getOptionsBuilder() { + + onChanged(); + return getOptionsFieldBuilder().getBuilder(); } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ - public Builder putOptions( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new NullPointerException("map key"); } - if (value == null) { - throw new NullPointerException("map value"); -} - - internalGetMutableOptions().getMutableMap() - .put(key, value); - return this; + public io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; + } } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 7; + * .greptime.v1.ColumnOptions options = 7; */ - - public Builder putAllOptions( - java.util.Map values) { - internalGetMutableOptions().getMutableMap() - .putAll(values); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder>( + getOptions(), + getParentForChildren(), + isClean()); + options_ = null; + } + return optionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -8199,11 +7833,6 @@ public io.greptime.v1.Columns.Column getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_Column_Values_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_Column_OptionsEntry_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_Column_OptionsEntry_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -8214,38 +7843,37 @@ public io.greptime.v1.Columns.Column getDefaultInstanceForType() { static { java.lang.String[] descriptorData = { "\n\030greptime/v1/column.proto\022\013greptime.v1\032" + - "\030greptime/v1/common.proto\"\371\010\n\006Column\022\023\n\013" + + "\030greptime/v1/common.proto\"\303\010\n\006Column\022\023\n\013" + "column_name\030\001 \001(\t\0220\n\rsemantic_type\030\002 \001(\016" + "2\031.greptime.v1.SemanticType\022*\n\006values\030\003 " + "\001(\0132\032.greptime.v1.Column.Values\022\021\n\tnull_" + "mask\030\004 \001(\014\022-\n\010datatype\030\005 \001(\0162\033.greptime." + "v1.ColumnDataType\022@\n\022datatype_extension\030" + "\006 \001(\0132$.greptime.v1.ColumnDataTypeExtens" + - "ion\0221\n\007options\030\007 \003(\0132 .greptime.v1.Colum" + - "n.OptionsEntry\032\224\006\n\006Values\022\021\n\ti8_values\030\001" + - " \003(\005\022\022\n\ni16_values\030\002 \003(\005\022\022\n\ni32_values\030\003" + - " \003(\005\022\022\n\ni64_values\030\004 \003(\003\022\021\n\tu8_values\030\005 " + - "\003(\r\022\022\n\nu16_values\030\006 \003(\r\022\022\n\nu32_values\030\007 " + - "\003(\r\022\022\n\nu64_values\030\010 \003(\004\022\022\n\nf32_values\030\t " + - "\003(\002\022\022\n\nf64_values\030\n \003(\001\022\023\n\013bool_values\030\013" + - " \003(\010\022\025\n\rbinary_values\030\014 \003(\014\022\025\n\rstring_va" + - "lues\030\r \003(\t\022\023\n\013date_values\030\016 \003(\005\022\027\n\017datet" + - "ime_values\030\017 \003(\003\022\037\n\027timestamp_second_val" + - "ues\030\020 \003(\003\022$\n\034timestamp_millisecond_value" + - "s\030\021 \003(\003\022$\n\034timestamp_microsecond_values\030" + - "\022 \003(\003\022#\n\033timestamp_nanosecond_values\030\023 \003" + - "(\003\022\032\n\022time_second_values\030\024 \003(\003\022\037\n\027time_m" + - "illisecond_values\030\025 \003(\003\022\037\n\027time_microsec" + - "ond_values\030\026 \003(\003\022\036\n\026time_nanosecond_valu" + - "es\030\027 \003(\003\022\"\n\032interval_year_month_values\030\030" + - " \003(\005\022 \n\030interval_day_time_values\030\031 \003(\003\022I" + - "\n\036interval_month_day_nano_values\030\032 \003(\0132!" + - ".greptime.v1.IntervalMonthDayNano\0222\n\021dec" + - "imal128_values\030\037 \003(\0132\027.greptime.v1.Decim" + - "al128\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" + - "lue\030\002 \001(\t:\0028\001BP\n\016io.greptime.v1B\007Columns" + - "Z5github.com/GreptimeTeam/greptime-proto" + - "/go/greptime/v1b\006proto3" + "ion\022+\n\007options\030\007 \001(\0132\032.greptime.v1.Colum" + + "nOptions\032\224\006\n\006Values\022\021\n\ti8_values\030\001 \003(\005\022\022" + + "\n\ni16_values\030\002 \003(\005\022\022\n\ni32_values\030\003 \003(\005\022\022" + + "\n\ni64_values\030\004 \003(\003\022\021\n\tu8_values\030\005 \003(\r\022\022\n" + + "\nu16_values\030\006 \003(\r\022\022\n\nu32_values\030\007 \003(\r\022\022\n" + + "\nu64_values\030\010 \003(\004\022\022\n\nf32_values\030\t \003(\002\022\022\n" + + "\nf64_values\030\n \003(\001\022\023\n\013bool_values\030\013 \003(\010\022\025" + + "\n\rbinary_values\030\014 \003(\014\022\025\n\rstring_values\030\r" + + " \003(\t\022\023\n\013date_values\030\016 \003(\005\022\027\n\017datetime_va" + + "lues\030\017 \003(\003\022\037\n\027timestamp_second_values\030\020 " + + "\003(\003\022$\n\034timestamp_millisecond_values\030\021 \003(" + + "\003\022$\n\034timestamp_microsecond_values\030\022 \003(\003\022" + + "#\n\033timestamp_nanosecond_values\030\023 \003(\003\022\032\n\022" + + "time_second_values\030\024 \003(\003\022\037\n\027time_millise" + + "cond_values\030\025 \003(\003\022\037\n\027time_microsecond_va" + + "lues\030\026 \003(\003\022\036\n\026time_nanosecond_values\030\027 \003" + + "(\003\022\"\n\032interval_year_month_values\030\030 \003(\005\022 " + + "\n\030interval_day_time_values\030\031 \003(\003\022I\n\036inte" + + "rval_month_day_nano_values\030\032 \003(\0132!.grept" + + "ime.v1.IntervalMonthDayNano\0222\n\021decimal12" + + "8_values\030\037 \003(\0132\027.greptime.v1.Decimal128B" + + "P\n\016io.greptime.v1B\007ColumnsZ5github.com/G" + + "reptimeTeam/greptime-proto/go/greptime/v" + + "1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -8264,12 +7892,6 @@ public io.greptime.v1.Columns.Column getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_Column_Values_descriptor, new java.lang.String[] { "I8Values", "I16Values", "I32Values", "I64Values", "U8Values", "U16Values", "U32Values", "U64Values", "F32Values", "F64Values", "BoolValues", "BinaryValues", "StringValues", "DateValues", "DatetimeValues", "TimestampSecondValues", "TimestampMillisecondValues", "TimestampMicrosecondValues", "TimestampNanosecondValues", "TimeSecondValues", "TimeMillisecondValues", "TimeMicrosecondValues", "TimeNanosecondValues", "IntervalYearMonthValues", "IntervalDayTimeValues", "IntervalMonthDayNanoValues", "Decimal128Values", }); - internal_static_greptime_v1_Column_OptionsEntry_descriptor = - internal_static_greptime_v1_Column_descriptor.getNestedTypes().get(1); - internal_static_greptime_v1_Column_OptionsEntry_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_Column_OptionsEntry_descriptor, - new java.lang.String[] { "Key", "Value", }); io.greptime.v1.Common.getDescriptor(); } diff --git a/java/src/main/java/io/greptime/v1/Common.java b/java/src/main/java/io/greptime/v1/Common.java index f2d8bcf6..9f2e4404 100644 --- a/java/src/main/java/io/greptime/v1/Common.java +++ b/java/src/main/java/io/greptime/v1/Common.java @@ -12676,6 +12676,1047 @@ public io.greptime.v1.Common.DecimalTypeExtension getDefaultInstanceForType() { } + public interface ColumnOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:greptime.v1.ColumnOptions) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + int getOptionsCount(); + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + boolean containsOptions( + java.lang.String key); + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getOptions(); + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + java.util.Map + getOptionsMap(); + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + + /* nullable */ +java.lang.String getOptionsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue); + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + + java.lang.String getOptionsOrThrow( + java.lang.String key); + } + /** + *
+   * Additional options for the column.
+   * 
+ * + * Protobuf type {@code greptime.v1.ColumnOptions} + */ + public static final class ColumnOptions extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:greptime.v1.ColumnOptions) + ColumnOptionsOrBuilder { + private static final long serialVersionUID = 0L; + // Use ColumnOptions.newBuilder() to construct. + private ColumnOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ColumnOptions() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ColumnOptions(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ColumnOptions( + 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)) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + options__ = input.readMessage( + OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + options_.getMutableMap().put( + options__.getKey(), options__.getValue()); + 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_ColumnOptions_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 1: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.Common.internal_static_greptime_v1_ColumnOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.Common.ColumnOptions.class, io.greptime.v1.Common.ColumnOptions.Builder.class); + } + + public static final int OPTIONS_FIELD_NUMBER = 1; + private static final class OptionsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + io.greptime.v1.Common.internal_static_greptime_v1_ColumnOptions_OptionsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + @java.lang.Override + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); + } + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + @java.lang.Override + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * Supported keys:
+     *   "fulltext":
+     *      A JSON encoded string containing full-text search options for the column.
+     *      The fulltext options JSON structure:
+     *      {
+     *        "enable": bool,          // Indicates whether full-text search is
+     *                                 // enabled for the column.
+     *        "analyzer": string,      // The language-specific text analyzer to
+     *                                 // use for indexing and searching text.
+     *                                 // Supported values: ["English" (Default), "Chinese"].
+     *        "case-sensitive": bool   // Indicates whether the text should be treated
+     *                                 // as case-sensitive during full-text search.
+     *      }
+     *      Example:
+     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * 
+ * + * map<string, string> options = 1; + */ + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + 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 { + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetOptions(), + OptionsDefaultEntryHolder.defaultEntry, + 1); + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (java.util.Map.Entry entry + : internalGetOptions().getMap().entrySet()) { + com.google.protobuf.MapEntry + options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, options__); + } + 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.ColumnOptions)) { + return super.equals(obj); + } + io.greptime.v1.Common.ColumnOptions other = (io.greptime.v1.Common.ColumnOptions) obj; + + if (!internalGetOptions().equals( + other.internalGetOptions())) 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 (!internalGetOptions().getMap().isEmpty()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + internalGetOptions().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static io.greptime.v1.Common.ColumnOptions parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.Common.ColumnOptions 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.ColumnOptions parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.Common.ColumnOptions 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.ColumnOptions parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.greptime.v1.Common.ColumnOptions parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.greptime.v1.Common.ColumnOptions parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.Common.ColumnOptions 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.ColumnOptions parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static io.greptime.v1.Common.ColumnOptions 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.ColumnOptions parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.greptime.v1.Common.ColumnOptions 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.ColumnOptions 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; + } + /** + *
+     * Additional options for the column.
+     * 
+ * + * Protobuf type {@code greptime.v1.ColumnOptions} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:greptime.v1.ColumnOptions) + io.greptime.v1.Common.ColumnOptionsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.greptime.v1.Common.internal_static_greptime_v1_ColumnOptions_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 1: + return internalGetOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 1: + return internalGetMutableOptions(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.greptime.v1.Common.internal_static_greptime_v1_ColumnOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.greptime.v1.Common.ColumnOptions.class, io.greptime.v1.Common.ColumnOptions.Builder.class); + } + + // Construct using io.greptime.v1.Common.ColumnOptions.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(); + internalGetMutableOptions().clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return io.greptime.v1.Common.internal_static_greptime_v1_ColumnOptions_descriptor; + } + + @java.lang.Override + public io.greptime.v1.Common.ColumnOptions getDefaultInstanceForType() { + return io.greptime.v1.Common.ColumnOptions.getDefaultInstance(); + } + + @java.lang.Override + public io.greptime.v1.Common.ColumnOptions build() { + io.greptime.v1.Common.ColumnOptions result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public io.greptime.v1.Common.ColumnOptions buildPartial() { + io.greptime.v1.Common.ColumnOptions result = new io.greptime.v1.Common.ColumnOptions(this); + int from_bitField0_ = bitField0_; + result.options_ = internalGetOptions(); + result.options_.makeImmutable(); + 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.ColumnOptions) { + return mergeFrom((io.greptime.v1.Common.ColumnOptions)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(io.greptime.v1.Common.ColumnOptions other) { + if (other == io.greptime.v1.Common.ColumnOptions.getDefaultInstance()) return this; + internalGetMutableOptions().mergeFrom( + other.internalGetOptions()); + 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.ColumnOptions parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (io.greptime.v1.Common.ColumnOptions) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> options_; + private com.google.protobuf.MapField + internalGetOptions() { + if (options_ == null) { + return com.google.protobuf.MapField.emptyMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + return options_; + } + private com.google.protobuf.MapField + internalGetMutableOptions() { + onChanged();; + if (options_ == null) { + options_ = com.google.protobuf.MapField.newMapField( + OptionsDefaultEntryHolder.defaultEntry); + } + if (!options_.isMutable()) { + options_ = options_.copy(); + } + return options_; + } + + public int getOptionsCount() { + return internalGetOptions().getMap().size(); + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + + @java.lang.Override + public boolean containsOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetOptions().getMap().containsKey(key); + } + /** + * Use {@link #getOptionsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getOptions() { + return getOptionsMap(); + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + @java.lang.Override + + public java.util.Map getOptionsMap() { + return internalGetOptions().getMap(); + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + @java.lang.Override + + public java.lang.String getOptionsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + @java.lang.Override + + public java.lang.String getOptionsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetOptions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearOptions() { + internalGetMutableOptions().getMutableMap() + .clear(); + return this; + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + + public Builder removeOptions( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + internalGetMutableOptions().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableOptions() { + return internalGetMutableOptions().getMutableMap(); + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + public Builder putOptions( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new NullPointerException("map key"); } + if (value == null) { + throw new NullPointerException("map value"); +} + + internalGetMutableOptions().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * Supported keys:
+       *   "fulltext":
+       *      A JSON encoded string containing full-text search options for the column.
+       *      The fulltext options JSON structure:
+       *      {
+       *        "enable": bool,          // Indicates whether full-text search is
+       *                                 // enabled for the column.
+       *        "analyzer": string,      // The language-specific text analyzer to
+       *                                 // use for indexing and searching text.
+       *                                 // Supported values: ["English" (Default), "Chinese"].
+       *        "case-sensitive": bool   // Indicates whether the text should be treated
+       *                                 // as case-sensitive during full-text search.
+       *      }
+       *      Example:
+       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * 
+ * + * map<string, string> options = 1; + */ + + public Builder putAllOptions( + java.util.Map values) { + internalGetMutableOptions().getMutableMap() + .putAll(values); + 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.ColumnOptions) + } + + // @@protoc_insertion_point(class_scope:greptime.v1.ColumnOptions) + private static final io.greptime.v1.Common.ColumnOptions DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new io.greptime.v1.Common.ColumnOptions(); + } + + public static io.greptime.v1.Common.ColumnOptions getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ColumnOptions parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ColumnOptions(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.ColumnOptions getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + private static final com.google.protobuf.Descriptors.Descriptor internal_static_greptime_v1_QueryContext_descriptor; private static final @@ -12766,6 +13807,16 @@ public io.greptime.v1.Common.DecimalTypeExtension getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_DecimalTypeExtension_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnOptions_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnOptions_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_greptime_v1_ColumnOptions_OptionsEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_greptime_v1_ColumnOptions_OptionsEntry_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -12807,23 +13858,26 @@ public io.greptime.v1.Common.DecimalTypeExtension getDefaultInstanceForType() { "\n\027ColumnDataTypeExtension\0229\n\014decimal_typ" + "e\030\001 \001(\0132!.greptime.v1.DecimalTypeExtensi" + "onH\000B\n\n\010type_ext\"8\n\024DecimalTypeExtension" + - "\022\021\n\tprecision\030\001 \001(\005\022\r\n\005scale\030\002 \001(\005*1\n\014Se" + - "manticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n\tTIMEST" + - "AMP\020\002*\326\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\005INT64\020\004" + - "\022\t\n\005UINT8\020\005\022\n\n\006UINT16\020\006\022\n\n\006UINT32\020\007\022\n\n\006U" + - "INT64\020\010\022\013\n\007FLOAT32\020\t\022\013\n\007FLOAT64\020\n\022\n\n\006BIN" + - "ARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DATETIME\020" + - "\016\022\024\n\020TIMESTAMP_SECOND\020\017\022\031\n\025TIMESTAMP_MIL" + - "LISECOND\020\020\022\031\n\025TIMESTAMP_MICROSECOND\020\021\022\030\n" + - "\024TIMESTAMP_NANOSECOND\020\022\022\017\n\013TIME_SECOND\020\023" + - "\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MICROSECO" + - "ND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTERVAL_YE" + - "AR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030\022\033\n\027INT" + - "ERVAL_MONTH_DAY_NANO\020\031\022\016\n\nDECIMAL128\020\036BO" + - "\n\016io.greptime.v1B\006CommonZ5github.com/Gre" + - "ptimeTeam/greptime-proto/go/greptime/v1b" + - "\006proto3" + "\022\021\n\tprecision\030\001 \001(\005\022\r\n\005scale\030\002 \001(\005\"y\n\rCo" + + "lumnOptions\0228\n\007options\030\001 \003(\0132\'.greptime." + + "v1.ColumnOptions.OptionsEntry\032.\n\014Options" + + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001*1\n" + + "\014SemanticType\022\007\n\003TAG\020\000\022\t\n\005FIELD\020\001\022\r\n\tTIM" + + "ESTAMP\020\002*\326\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\005INT6" + + "4\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\006" + + "BINARY\020\013\022\n\n\006STRING\020\014\022\010\n\004DATE\020\r\022\014\n\010DATETI" + + "ME\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_SECON" + + "D\020\023\022\024\n\020TIME_MILLISECOND\020\024\022\024\n\020TIME_MICROS" + + "ECOND\020\025\022\023\n\017TIME_NANOSECOND\020\026\022\027\n\023INTERVAL" + + "_YEAR_MONTH\020\027\022\025\n\021INTERVAL_DAY_TIME\020\030\022\033\n\027" + + "INTERVAL_MONTH_DAY_NANO\020\031\022\016\n\nDECIMAL128\020" + + "\036BO\n\016io.greptime.v1B\006CommonZ5github.com/" + + "GreptimeTeam/greptime-proto/go/greptime/" + + "v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -12937,6 +13991,18 @@ public io.greptime.v1.Common.DecimalTypeExtension getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_DecimalTypeExtension_descriptor, new java.lang.String[] { "Precision", "Scale", }); + internal_static_greptime_v1_ColumnOptions_descriptor = + getDescriptor().getMessageTypes().get(16); + internal_static_greptime_v1_ColumnOptions_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnOptions_descriptor, + new java.lang.String[] { "Options", }); + internal_static_greptime_v1_ColumnOptions_OptionsEntry_descriptor = + internal_static_greptime_v1_ColumnOptions_descriptor.getNestedTypes().get(0); + internal_static_greptime_v1_ColumnOptions_OptionsEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_greptime_v1_ColumnOptions_OptionsEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); } // @@protoc_insertion_point(outer_class_scope) diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java index 16ecb9ce..83fae760 100644 --- a/java/src/main/java/io/greptime/v1/Ddl.java +++ b/java/src/main/java/io/greptime/v1/Ddl.java @@ -23340,134 +23340,30 @@ public interface ColumnDefOrBuilder extends /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; + * @return Whether the options field is set. */ - int getOptionsCount(); - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 8; - */ - boolean containsOptions( - java.lang.String key); - /** - * Use {@link #getOptionsMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getOptions(); - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 8; - */ - java.util.Map - getOptionsMap(); + boolean hasOptions(); /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; + * @return The options. */ - - /* nullable */ -java.lang.String getOptionsOrDefault( - java.lang.String key, - /* nullable */ -java.lang.String defaultValue); + io.greptime.v1.Common.ColumnOptions getOptions(); /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ - - java.lang.String getOptionsOrThrow( - java.lang.String key); + io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder(); } /** * Protobuf type {@code greptime.v1.ColumnDef} @@ -23509,7 +23405,6 @@ private ColumnDef( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -23568,16 +23463,16 @@ private ColumnDef( break; } case 66: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - options_ = com.google.protobuf.MapField.newMapField( - OptionsDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000001; + io.greptime.v1.Common.ColumnOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); } - com.google.protobuf.MapEntry - options__ = input.readMessage( - OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - options_.getMutableMap().put( - options__.getKey(), options__.getValue()); + options_ = input.readMessage(io.greptime.v1.Common.ColumnOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); + } + break; } default: { @@ -23606,18 +23501,6 @@ private ColumnDef( return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 8: - return internalGetOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -23801,160 +23684,41 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } public static final int OPTIONS_FIELD_NUMBER = 8; - private static final class OptionsDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_OptionsEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> options_; - private com.google.protobuf.MapField - internalGetOptions() { - if (options_ == null) { - return com.google.protobuf.MapField.emptyMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - return options_; - } - - public int getOptionsCount() { - return internalGetOptions().getMap().size(); - } + private io.greptime.v1.Common.ColumnOptions options_; /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; + * @return Whether the options field is set. */ - @java.lang.Override - public boolean containsOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - return internalGetOptions().getMap().containsKey(key); - } - /** - * Use {@link #getOptionsMap()} instead. - */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getOptions() { - return getOptionsMap(); + public boolean hasOptions() { + return options_ != null; } /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; + * @return The options. */ @java.lang.Override - - public java.util.Map getOptionsMap() { - return internalGetOptions().getMap(); + public io.greptime.v1.Common.ColumnOptions getOptions() { + return options_ == null ? io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; } /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ @java.lang.Override - - public java.lang.String getOptionsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; - } - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 8; - */ - @java.lang.Override - - public java.lang.String getOptionsOrThrow( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); } private byte memoizedIsInitialized = -1; @@ -23992,12 +23756,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(7, getDatatypeExtension()); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetOptions(), - OptionsDefaultEntryHolder.defaultEntry, - 8); + if (options_ != null) { + output.writeMessage(8, getOptions()); + } unknownFields.writeTo(output); } @@ -24033,15 +23794,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getDatatypeExtension()); } - for (java.util.Map.Entry entry - : internalGetOptions().getMap().entrySet()) { - com.google.protobuf.MapEntry - options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + if (options_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(8, options__); + .computeMessageSize(8, getOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -24073,8 +23828,11 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } - if (!internalGetOptions().equals( - other.internalGetOptions())) return false; + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -24103,9 +23861,9 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } - if (!internalGetOptions().getMap().isEmpty()) { + if (hasOptions()) { hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + internalGetOptions().hashCode(); + hash = (53 * hash) + getOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -24214,28 +23972,6 @@ public static final class Builder extends return io.greptime.v1.Ddl.internal_static_greptime_v1_ColumnDef_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 8: - return internalGetOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 8: - return internalGetMutableOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -24280,7 +24016,12 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } - internalGetMutableOptions().clear(); + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; + } return this; } @@ -24307,7 +24048,6 @@ public io.greptime.v1.Ddl.ColumnDef build() { @java.lang.Override public io.greptime.v1.Ddl.ColumnDef buildPartial() { io.greptime.v1.Ddl.ColumnDef result = new io.greptime.v1.Ddl.ColumnDef(this); - int from_bitField0_ = bitField0_; result.name_ = name_; result.dataType_ = dataType_; result.isNullable_ = isNullable_; @@ -24319,8 +24059,11 @@ public io.greptime.v1.Ddl.ColumnDef buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } - result.options_ = internalGetOptions(); - result.options_.makeImmutable(); + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); + } onBuilt(); return result; } @@ -24392,8 +24135,9 @@ public Builder mergeFrom(io.greptime.v1.Ddl.ColumnDef other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } - internalGetMutableOptions().mergeFrom( - other.internalGetOptions()); + if (other.hasOptions()) { + mergeOptions(other.getOptions()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -24422,7 +24166,6 @@ public Builder mergeFrom( } return this; } - private int bitField0_; private java.lang.Object name_ = ""; /** @@ -24904,268 +24647,159 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return datatypeExtensionBuilder_; } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> options_; - private com.google.protobuf.MapField - internalGetOptions() { - if (options_ == null) { - return com.google.protobuf.MapField.emptyMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - return options_; - } - private com.google.protobuf.MapField - internalGetMutableOptions() { - onChanged();; - if (options_ == null) { - options_ = com.google.protobuf.MapField.newMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - if (!options_.isMutable()) { - options_ = options_.copy(); - } - return options_; - } - - public int getOptionsCount() { - return internalGetOptions().getMap().size(); - } + private io.greptime.v1.Common.ColumnOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder> optionsBuilder_; /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; + * @return Whether the options field is set. */ - - @java.lang.Override - public boolean containsOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - return internalGetOptions().getMap().containsKey(key); + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; } /** - * Use {@link #getOptionsMap()} instead. + *
+       * Additional column options.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 8; + * @return The options. */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getOptions() { - return getOptionsMap(); + public io.greptime.v1.Common.ColumnOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; + } else { + return optionsBuilder_.getMessage(); + } } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ - @java.lang.Override + public Builder setOptions(io.greptime.v1.Common.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; + onChanged(); + } else { + optionsBuilder_.setMessage(value); + } - public java.util.Map getOptionsMap() { - return internalGetOptions().getMap(); + return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ - @java.lang.Override + public Builder setOptions( + io.greptime.v1.Common.ColumnOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); + onChanged(); + } else { + optionsBuilder_.setMessage(builderForValue.build()); + } - public java.lang.String getOptionsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ - @java.lang.Override - - public java.lang.String getOptionsOrThrow( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public Builder mergeOptions(io.greptime.v1.Common.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + io.greptime.v1.Common.ColumnOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); + } else { + optionsBuilder_.mergeFrom(value); } - return map.get(key); - } - public Builder clearOptions() { - internalGetMutableOptions().getMutableMap() - .clear(); return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); + } else { + options_ = null; + optionsBuilder_ = null; + } - public Builder removeOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - internalGetMutableOptions().getMutableMap() - .remove(key); return this; } /** - * Use alternate mutation accessors instead. + *
+       * Additional column options.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 8; */ - @java.lang.Deprecated - public java.util.Map - getMutableOptions() { - return internalGetMutableOptions().getMutableMap(); + public io.greptime.v1.Common.ColumnOptions.Builder getOptionsBuilder() { + + onChanged(); + return getOptionsFieldBuilder().getBuilder(); } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ - public Builder putOptions( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new NullPointerException("map key"); } - if (value == null) { - throw new NullPointerException("map value"); -} - - internalGetMutableOptions().getMutableMap() - .put(key, value); - return this; + public io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; + } } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 8; + * .greptime.v1.ColumnOptions options = 8; */ - - public Builder putAllOptions( - java.util.Map values) { - internalGetMutableOptions().getMutableMap() - .putAll(values); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder>( + getOptions(), + getParentForChildren(), + isClean()); + options_ = null; + } + return optionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -26125,11 +25759,6 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { 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_ColumnDef_OptionsEntry_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_ColumnDef_OptionsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_greptime_v1_AddColumnLocation_descriptor; private static final @@ -26225,22 +25854,20 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { "type_extension\030\003 \001(\0132$.greptime.v1.Colum" + "nDataTypeExtension\"\032\n\nDropColumn\022\014\n\004name" + "\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022" + - "\n\n\002id\030\001 \001(\r\"\345\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + + "\n\n\002id\030\001 \001(\r\"\254\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + ".\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnD" + "ataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_" + "constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162" + "\031.greptime.v1.SemanticType\022\017\n\007comment\030\006 " + "\001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.grepti" + - "me.v1.ColumnDataTypeExtension\0224\n\007options" + - "\030\010 \003(\0132#.greptime.v1.ColumnDef.OptionsEn" + - "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + - "e\030\002 \001(\t:\0028\001\"\230\001\n\021AddColumnLocation\022B\n\rloc" + - "ation_type\030\001 \001(\0162+.greptime.v1.AddColumn" + - "Location.LocationType\022\031\n\021after_column_na" + - "me\030\002 \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005A" + - "FTER\020\001BL\n\016io.greptime.v1B\003DdlZ5github.co" + - "m/GreptimeTeam/greptime-proto/go/greptim" + - "e/v1b\006proto3" + "me.v1.ColumnDataTypeExtension\022+\n\007options" + + "\030\010 \001(\0132\032.greptime.v1.ColumnOptions\"\230\001\n\021A" + + "ddColumnLocation\022B\n\rlocation_type\030\001 \001(\0162" + + "+.greptime.v1.AddColumnLocation.Location" + + "Type\022\031\n\021after_column_name\030\002 \001(\t\"$\n\014Locat" + + "ionType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.grep" + + "time.v1B\003DdlZ5github.com/GreptimeTeam/gr" + + "eptime-proto/go/greptime/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -26391,12 +26018,6 @@ public io.greptime.v1.Ddl.AddColumnLocation getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_ColumnDef_descriptor, new java.lang.String[] { "Name", "DataType", "IsNullable", "DefaultConstraint", "SemanticType", "Comment", "DatatypeExtension", "Options", }); - internal_static_greptime_v1_ColumnDef_OptionsEntry_descriptor = - internal_static_greptime_v1_ColumnDef_descriptor.getNestedTypes().get(0); - internal_static_greptime_v1_ColumnDef_OptionsEntry_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_ColumnDef_OptionsEntry_descriptor, - new java.lang.String[] { "Key", "Value", }); internal_static_greptime_v1_AddColumnLocation_descriptor = getDescriptor().getMessageTypes().get(21); internal_static_greptime_v1_AddColumnLocation_fieldAccessorTable = new diff --git a/java/src/main/java/io/greptime/v1/RowData.java b/java/src/main/java/io/greptime/v1/RowData.java index c6d9ddc3..00307cf2 100644 --- a/java/src/main/java/io/greptime/v1/RowData.java +++ b/java/src/main/java/io/greptime/v1/RowData.java @@ -1248,134 +1248,30 @@ public interface ColumnSchemaOrBuilder extends /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; + * @return Whether the options field is set. */ - int getOptionsCount(); + boolean hasOptions(); /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; + * @return The options. */ - boolean containsOptions( - java.lang.String key); - /** - * Use {@link #getOptionsMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getOptions(); - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 5; - */ - java.util.Map - getOptionsMap(); - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 5; - */ - - /* nullable */ -java.lang.String getOptionsOrDefault( - java.lang.String key, - /* nullable */ -java.lang.String defaultValue); + io.greptime.v1.Common.ColumnOptions getOptions(); /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ - - java.lang.String getOptionsOrThrow( - java.lang.String key); + io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder(); } /** * Protobuf type {@code greptime.v1.ColumnSchema} @@ -1415,7 +1311,6 @@ private ColumnSchema( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -1458,16 +1353,16 @@ private ColumnSchema( break; } case 42: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - options_ = com.google.protobuf.MapField.newMapField( - OptionsDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000001; + io.greptime.v1.Common.ColumnOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); + } + options_ = input.readMessage(io.greptime.v1.Common.ColumnOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); } - com.google.protobuf.MapEntry - options__ = input.readMessage( - OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - options_.getMutableMap().put( - options__.getKey(), options__.getValue()); + break; } default: { @@ -1496,18 +1391,6 @@ private ColumnSchema( return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnSchema_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 5: - return internalGetOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -1631,160 +1514,41 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi } public static final int OPTIONS_FIELD_NUMBER = 5; - private static final class OptionsDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - io.greptime.v1.RowData.internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> options_; - private com.google.protobuf.MapField - internalGetOptions() { - if (options_ == null) { - return com.google.protobuf.MapField.emptyMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - return options_; - } - - public int getOptionsCount() { - return internalGetOptions().getMap().size(); - } + private io.greptime.v1.Common.ColumnOptions options_; /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; + * @return Whether the options field is set. */ - @java.lang.Override - public boolean containsOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - return internalGetOptions().getMap().containsKey(key); - } - /** - * Use {@link #getOptionsMap()} instead. - */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getOptions() { - return getOptionsMap(); - } - /** - *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
-     * 
- * - * map<string, string> options = 5; - */ - @java.lang.Override - - public java.util.Map getOptionsMap() { - return internalGetOptions().getMap(); + public boolean hasOptions() { + return options_ != null; } /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; + * @return The options. */ @java.lang.Override - - public java.lang.String getOptionsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public io.greptime.v1.Common.ColumnOptions getOptions() { + return options_ == null ? io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; } /** *
-     * Additional options for the column.
-     * Supported keys:
-     *   "fulltext":
-     *      A JSON encoded string containing full-text search options for the column.
-     *      The fulltext options JSON structure:
-     *      {
-     *        "enable": bool,          // Indicates whether full-text search is
-     *                                 // enabled for the column.
-     *        "analyzer": string,      // The language-specific text analyzer to
-     *                                 // use for indexing and searching text.
-     *                                 // Supported values: ["English" (Default), "Chinese"].
-     *        "case-sensitive": bool   // Indicates whether the text should be treated
-     *                                 // as case-sensitive during full-text search.
-     *      }
-     *      Example:
-     *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+     * Additional column options.
      * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ @java.lang.Override - - public java.lang.String getOptionsOrThrow( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); } private byte memoizedIsInitialized = -1; @@ -1813,12 +1577,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (datatypeExtension_ != null) { output.writeMessage(4, getDatatypeExtension()); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetOptions(), - OptionsDefaultEntryHolder.defaultEntry, - 5); + if (options_ != null) { + output.writeMessage(5, getOptions()); + } unknownFields.writeTo(output); } @@ -1843,15 +1604,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getDatatypeExtension()); } - for (java.util.Map.Entry entry - : internalGetOptions().getMap().entrySet()) { - com.google.protobuf.MapEntry - options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + if (options_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, options__); + .computeMessageSize(5, getOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -1877,8 +1632,11 @@ public boolean equals(final java.lang.Object obj) { if (!getDatatypeExtension() .equals(other.getDatatypeExtension())) return false; } - if (!internalGetOptions().equals( - other.internalGetOptions())) return false; + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1900,9 +1658,9 @@ public int hashCode() { hash = (37 * hash) + DATATYPE_EXTENSION_FIELD_NUMBER; hash = (53 * hash) + getDatatypeExtension().hashCode(); } - if (!internalGetOptions().getMap().isEmpty()) { + if (hasOptions()) { hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + internalGetOptions().hashCode(); + hash = (53 * hash) + getOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -2011,28 +1769,6 @@ public static final class Builder extends return io.greptime.v1.RowData.internal_static_greptime_v1_ColumnSchema_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 5: - return internalGetOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 5: - return internalGetMutableOptions(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -2071,7 +1807,12 @@ public Builder clear() { datatypeExtension_ = null; datatypeExtensionBuilder_ = null; } - internalGetMutableOptions().clear(); + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; + } return this; } @@ -2098,7 +1839,6 @@ public io.greptime.v1.RowData.ColumnSchema build() { @java.lang.Override public io.greptime.v1.RowData.ColumnSchema buildPartial() { io.greptime.v1.RowData.ColumnSchema result = new io.greptime.v1.RowData.ColumnSchema(this); - int from_bitField0_ = bitField0_; result.columnName_ = columnName_; result.datatype_ = datatype_; result.semanticType_ = semanticType_; @@ -2107,8 +1847,11 @@ public io.greptime.v1.RowData.ColumnSchema buildPartial() { } else { result.datatypeExtension_ = datatypeExtensionBuilder_.build(); } - result.options_ = internalGetOptions(); - result.options_.makeImmutable(); + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); + } onBuilt(); return result; } @@ -2170,8 +1913,9 @@ public Builder mergeFrom(io.greptime.v1.RowData.ColumnSchema other) { if (other.hasDatatypeExtension()) { mergeDatatypeExtension(other.getDatatypeExtension()); } - internalGetMutableOptions().mergeFrom( - other.internalGetOptions()); + if (other.hasOptions()) { + mergeOptions(other.getOptions()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2200,7 +1944,6 @@ public Builder mergeFrom( } return this; } - private int bitField0_; private java.lang.Object columnName_ = ""; /** @@ -2541,268 +2284,159 @@ public io.greptime.v1.Common.ColumnDataTypeExtensionOrBuilder getDatatypeExtensi return datatypeExtensionBuilder_; } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> options_; - private com.google.protobuf.MapField - internalGetOptions() { - if (options_ == null) { - return com.google.protobuf.MapField.emptyMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - return options_; - } - private com.google.protobuf.MapField - internalGetMutableOptions() { - onChanged();; - if (options_ == null) { - options_ = com.google.protobuf.MapField.newMapField( - OptionsDefaultEntryHolder.defaultEntry); - } - if (!options_.isMutable()) { - options_ = options_.copy(); - } - return options_; - } - - public int getOptionsCount() { - return internalGetOptions().getMap().size(); - } + private io.greptime.v1.Common.ColumnOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder> optionsBuilder_; /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; + * @return Whether the options field is set. */ - - @java.lang.Override - public boolean containsOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - return internalGetOptions().getMap().containsKey(key); + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; } /** - * Use {@link #getOptionsMap()} instead. + *
+       * Additional column options.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; + * @return The options. */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getOptions() { - return getOptionsMap(); + public io.greptime.v1.Common.ColumnOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; + } else { + return optionsBuilder_.getMessage(); + } } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ - @java.lang.Override + public Builder setOptions(io.greptime.v1.Common.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; + onChanged(); + } else { + optionsBuilder_.setMessage(value); + } - public java.util.Map getOptionsMap() { - return internalGetOptions().getMap(); + return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ - @java.lang.Override + public Builder setOptions( + io.greptime.v1.Common.ColumnOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); + onChanged(); + } else { + optionsBuilder_.setMessage(builderForValue.build()); + } - public java.lang.String getOptionsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ - @java.lang.Override - - public java.lang.String getOptionsOrThrow( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - java.util.Map map = - internalGetOptions().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public Builder mergeOptions(io.greptime.v1.Common.ColumnOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + io.greptime.v1.Common.ColumnOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); + } else { + optionsBuilder_.mergeFrom(value); } - return map.get(key); - } - public Builder clearOptions() { - internalGetMutableOptions().getMutableMap() - .clear(); return this; } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); + } else { + options_ = null; + optionsBuilder_ = null; + } - public Builder removeOptions( - java.lang.String key) { - if (key == null) { throw new NullPointerException("map key"); } - internalGetMutableOptions().getMutableMap() - .remove(key); return this; } /** - * Use alternate mutation accessors instead. + *
+       * Additional column options.
+       * 
+ * + * .greptime.v1.ColumnOptions options = 5; */ - @java.lang.Deprecated - public java.util.Map - getMutableOptions() { - return internalGetMutableOptions().getMutableMap(); + public io.greptime.v1.Common.ColumnOptions.Builder getOptionsBuilder() { + + onChanged(); + return getOptionsFieldBuilder().getBuilder(); } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ - public Builder putOptions( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new NullPointerException("map key"); } - if (value == null) { - throw new NullPointerException("map value"); -} - - internalGetMutableOptions().getMutableMap() - .put(key, value); - return this; + public io.greptime.v1.Common.ColumnOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + io.greptime.v1.Common.ColumnOptions.getDefaultInstance() : options_; + } } /** *
-       * Additional options for the column.
-       * Supported keys:
-       *   "fulltext":
-       *      A JSON encoded string containing full-text search options for the column.
-       *      The fulltext options JSON structure:
-       *      {
-       *        "enable": bool,          // Indicates whether full-text search is
-       *                                 // enabled for the column.
-       *        "analyzer": string,      // The language-specific text analyzer to
-       *                                 // use for indexing and searching text.
-       *                                 // Supported values: ["English" (Default), "Chinese"].
-       *        "case-sensitive": bool   // Indicates whether the text should be treated
-       *                                 // as case-sensitive during full-text search.
-       *      }
-       *      Example:
-       *      "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
+       * Additional column options.
        * 
* - * map<string, string> options = 5; + * .greptime.v1.ColumnOptions options = 5; */ - - public Builder putAllOptions( - java.util.Map values) { - internalGetMutableOptions().getMutableMap() - .putAll(values); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.greptime.v1.Common.ColumnOptions, io.greptime.v1.Common.ColumnOptions.Builder, io.greptime.v1.Common.ColumnOptionsOrBuilder>( + getOptions(), + getParentForChildren(), + isClean()); + options_ = null; + } + return optionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -7326,11 +6960,6 @@ public io.greptime.v1.RowData.Value getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_greptime_v1_ColumnSchema_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_greptime_v1_ColumnSchema_OptionsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_greptime_v1_Row_descriptor; private static final @@ -7353,39 +6982,37 @@ public io.greptime.v1.RowData.Value getDefaultInstanceForType() { "\n\025greptime/v1/row.proto\022\013greptime.v1\032\030gr" + "eptime/v1/common.proto\"Q\n\004Rows\022)\n\006schema" + "\030\001 \003(\0132\031.greptime.v1.ColumnSchema\022\036\n\004row" + - "s\030\002 \003(\0132\020.greptime.v1.Row\"\257\002\n\014ColumnSche" + + "s\030\002 \003(\0132\020.greptime.v1.Row\"\363\001\n\014ColumnSche" + "ma\022\023\n\013column_name\030\001 \001(\t\022-\n\010datatype\030\002 \001(" + "\0162\033.greptime.v1.ColumnDataType\0220\n\rsemant" + "ic_type\030\003 \001(\0162\031.greptime.v1.SemanticType" + "\022@\n\022datatype_extension\030\004 \001(\0132$.greptime." + - "v1.ColumnDataTypeExtension\0227\n\007options\030\005 " + - "\003(\0132&.greptime.v1.ColumnSchema.OptionsEn" + - "try\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + - "e\030\002 \001(\t:\0028\001\")\n\003Row\022\"\n\006values\030\001 \003(\0132\022.gre" + - "ptime.v1.Value\"\274\006\n\005Value\022\022\n\010i8_value\030\001 \001" + - "(\005H\000\022\023\n\ti16_value\030\002 \001(\005H\000\022\023\n\ti32_value\030\003" + - " \001(\005H\000\022\023\n\ti64_value\030\004 \001(\003H\000\022\022\n\010u8_value\030" + - "\005 \001(\rH\000\022\023\n\tu16_value\030\006 \001(\rH\000\022\023\n\tu32_valu" + - "e\030\007 \001(\rH\000\022\023\n\tu64_value\030\010 \001(\004H\000\022\023\n\tf32_va" + - "lue\030\t \001(\002H\000\022\023\n\tf64_value\030\n \001(\001H\000\022\024\n\nbool" + - "_value\030\013 \001(\010H\000\022\026\n\014binary_value\030\014 \001(\014H\000\022\026" + - "\n\014string_value\030\r \001(\tH\000\022\024\n\ndate_value\030\016 \001" + - "(\005H\000\022\030\n\016datetime_value\030\017 \001(\003H\000\022 \n\026timest" + - "amp_second_value\030\020 \001(\003H\000\022%\n\033timestamp_mi" + - "llisecond_value\030\021 \001(\003H\000\022%\n\033timestamp_mic" + - "rosecond_value\030\022 \001(\003H\000\022$\n\032timestamp_nano" + - "second_value\030\023 \001(\003H\000\022\033\n\021time_second_valu" + - "e\030\024 \001(\003H\000\022 \n\026time_millisecond_value\030\025 \001(" + - "\003H\000\022 \n\026time_microsecond_value\030\026 \001(\003H\000\022\037\n" + - "\025time_nanosecond_value\030\027 \001(\003H\000\022#\n\031interv" + - "al_year_month_value\030\030 \001(\005H\000\022!\n\027interval_" + - "day_time_value\030\031 \001(\003H\000\022J\n\035interval_month" + - "_day_nano_value\030\032 \001(\0132!.greptime.v1.Inte" + - "rvalMonthDayNanoH\000\0223\n\020decimal128_value\030\037" + - " \001(\0132\027.greptime.v1.Decimal128H\000B\014\n\nvalue" + - "_dataBP\n\016io.greptime.v1B\007RowDataZ5github" + - ".com/GreptimeTeam/greptime-proto/go/grep" + - "time/v1b\006proto3" + "v1.ColumnDataTypeExtension\022+\n\007options\030\005 " + + "\001(\0132\032.greptime.v1.ColumnOptions\")\n\003Row\022\"" + + "\n\006values\030\001 \003(\0132\022.greptime.v1.Value\"\274\006\n\005V" + + "alue\022\022\n\010i8_value\030\001 \001(\005H\000\022\023\n\ti16_value\030\002 " + + "\001(\005H\000\022\023\n\ti32_value\030\003 \001(\005H\000\022\023\n\ti64_value\030" + + "\004 \001(\003H\000\022\022\n\010u8_value\030\005 \001(\rH\000\022\023\n\tu16_value" + + "\030\006 \001(\rH\000\022\023\n\tu32_value\030\007 \001(\rH\000\022\023\n\tu64_val" + + "ue\030\010 \001(\004H\000\022\023\n\tf32_value\030\t \001(\002H\000\022\023\n\tf64_v" + + "alue\030\n \001(\001H\000\022\024\n\nbool_value\030\013 \001(\010H\000\022\026\n\014bi" + + "nary_value\030\014 \001(\014H\000\022\026\n\014string_value\030\r \001(\t" + + "H\000\022\024\n\ndate_value\030\016 \001(\005H\000\022\030\n\016datetime_val" + + "ue\030\017 \001(\003H\000\022 \n\026timestamp_second_value\030\020 \001" + + "(\003H\000\022%\n\033timestamp_millisecond_value\030\021 \001(" + + "\003H\000\022%\n\033timestamp_microsecond_value\030\022 \001(\003" + + "H\000\022$\n\032timestamp_nanosecond_value\030\023 \001(\003H\000" + + "\022\033\n\021time_second_value\030\024 \001(\003H\000\022 \n\026time_mi" + + "llisecond_value\030\025 \001(\003H\000\022 \n\026time_microsec" + + "ond_value\030\026 \001(\003H\000\022\037\n\025time_nanosecond_val" + + "ue\030\027 \001(\003H\000\022#\n\031interval_year_month_value\030" + + "\030 \001(\005H\000\022!\n\027interval_day_time_value\030\031 \001(\003" + + "H\000\022J\n\035interval_month_day_nano_value\030\032 \001(" + + "\0132!.greptime.v1.IntervalMonthDayNanoH\000\0223" + + "\n\020decimal128_value\030\037 \001(\0132\027.greptime.v1.D" + + "ecimal128H\000B\014\n\nvalue_dataBP\n\016io.greptime" + + ".v1B\007RowDataZ5github.com/GreptimeTeam/gr" + + "eptime-proto/go/greptime/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -7404,12 +7031,6 @@ public io.greptime.v1.RowData.Value getDefaultInstanceForType() { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_ColumnSchema_descriptor, new java.lang.String[] { "ColumnName", "Datatype", "SemanticType", "DatatypeExtension", "Options", }); - internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor = - internal_static_greptime_v1_ColumnSchema_descriptor.getNestedTypes().get(0); - internal_static_greptime_v1_ColumnSchema_OptionsEntry_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_greptime_v1_ColumnSchema_OptionsEntry_descriptor, - new java.lang.String[] { "Key", "Value", }); internal_static_greptime_v1_Row_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_greptime_v1_Row_fieldAccessorTable = new diff --git a/proto/greptime/v1/column.proto b/proto/greptime/v1/column.proto index 70cf6058..6b754ae9 100644 --- a/proto/greptime/v1/column.proto +++ b/proto/greptime/v1/column.proto @@ -81,26 +81,6 @@ message Column { // Extension for ColumnDataType. ColumnDataTypeExtension datatype_extension = 6; - // Additional options for the column. - // - // Supported keys: - // "fulltext": - // A JSON encoded string containing full-text search options for the column. - // - // The fulltext options JSON structure: - // { - // "enable": bool, // Indicates whether full-text search is - // // enabled for the column. - // - // "analyzer": string, // The language-specific text analyzer to - // // use for indexing and searching text. - // // Supported values: ["English" (Default), "Chinese"]. - // - // "case-sensitive": bool // Indicates whether the text should be treated - // // as case-sensitive during full-text search. - // } - // - // Example: - // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" - map options = 7; + // Additional column options. + ColumnOptions options = 7; } diff --git a/proto/greptime/v1/common.proto b/proto/greptime/v1/common.proto index 5390fdbf..7b9390e3 100644 --- a/proto/greptime/v1/common.proto +++ b/proto/greptime/v1/common.proto @@ -139,3 +139,27 @@ message DecimalTypeExtension { int32 precision = 1; int32 scale = 2; } + +// Additional options for the column. +message ColumnOptions { + // Supported keys: + // "fulltext": + // A JSON encoded string containing full-text search options for the column. + // + // The fulltext options JSON structure: + // { + // "enable": bool, // Indicates whether full-text search is + // // enabled for the column. + // + // "analyzer": string, // The language-specific text analyzer to + // // use for indexing and searching text. + // // Supported values: ["English" (Default), "Chinese"]. + // + // "case-sensitive": bool // Indicates whether the text should be treated + // // as case-sensitive during full-text search. + // } + // + // Example: + // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" + map options = 1; +} diff --git a/proto/greptime/v1/ddl.proto b/proto/greptime/v1/ddl.proto index 3fd8229d..275be74d 100644 --- a/proto/greptime/v1/ddl.proto +++ b/proto/greptime/v1/ddl.proto @@ -173,28 +173,8 @@ message ColumnDef { // Extension for ColumnDataType. ColumnDataTypeExtension datatype_extension = 7; - // Additional options for the column. - // - // Supported keys: - // "fulltext": - // A JSON encoded string containing full-text search options for the column. - // - // The fulltext options JSON structure: - // { - // "enable": bool, // Indicates whether full-text search is - // // enabled for the column. - // - // "analyzer": string, // The language-specific text analyzer to - // // use for indexing and searching text. - // // Supported values: ["English" (Default), "Chinese"]. - // - // "case-sensitive": bool // Indicates whether the text should be treated - // // as case-sensitive during full-text search. - // } - // - // Example: - // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" - map options = 8; + // Additional column options. + ColumnOptions options = 8; } message AddColumnLocation { diff --git a/proto/greptime/v1/row.proto b/proto/greptime/v1/row.proto index 8cae323b..d9f9b1d7 100644 --- a/proto/greptime/v1/row.proto +++ b/proto/greptime/v1/row.proto @@ -35,28 +35,8 @@ message ColumnSchema { // Extension for ColumnDataType. ColumnDataTypeExtension datatype_extension = 4; - // Additional options for the column. - // - // Supported keys: - // "fulltext": - // A JSON encoded string containing full-text search options for the column. - // - // The fulltext options JSON structure: - // { - // "enable": bool, // Indicates whether full-text search is - // // enabled for the column. - // - // "analyzer": string, // The language-specific text analyzer to - // // use for indexing and searching text. - // // Supported values: ["English" (Default), "Chinese"]. - // - // "case-sensitive": bool // Indicates whether the text should be treated - // // as case-sensitive during full-text search. - // } - // - // Example: - // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" - map options = 5; + // Additional column options. + ColumnOptions options = 5; } message Row { repeated Value values = 1; }