feat: add Dictionary to ColumnDataType (#290)

This commit is contained in:
Ruihang Xia
2025-11-21 18:45:21 +08:00
committed by GitHub
parent fd699b2199
commit 437e6a1ef8
5 changed files with 2592 additions and 223 deletions
+529 -3
View File
@@ -77,6 +77,9 @@ extern Decimal128DefaultTypeInternal _Decimal128_default_instance_;
class DecimalTypeExtension;
struct DecimalTypeExtensionDefaultTypeInternal;
extern DecimalTypeExtensionDefaultTypeInternal _DecimalTypeExtension_default_instance_;
class DictionaryTypeExtension;
struct DictionaryTypeExtensionDefaultTypeInternal;
extern DictionaryTypeExtensionDefaultTypeInternal _DictionaryTypeExtension_default_instance_;
class EvalInterval;
struct EvalIntervalDefaultTypeInternal;
extern EvalIntervalDefaultTypeInternal _EvalInterval_default_instance_;
@@ -161,6 +164,7 @@ template<> ::greptime::v1::ColumnOptions* Arena::CreateMaybeMessage<::greptime::
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::DictionaryTypeExtension* Arena::CreateMaybeMessage<::greptime::v1::DictionaryTypeExtension>(Arena*);
template<> ::greptime::v1::EvalInterval* Arena::CreateMaybeMessage<::greptime::v1::EvalInterval>(Arena*);
template<> ::greptime::v1::ExpireAfter* Arena::CreateMaybeMessage<::greptime::v1::ExpireAfter>(Arena*);
template<> ::greptime::v1::ExplainOptions* Arena::CreateMaybeMessage<::greptime::v1::ExplainOptions>(Arena*);
@@ -247,12 +251,13 @@ enum ColumnDataType : int {
VECTOR = 32,
LIST = 40,
STRUCT = 41,
DICTIONARY = 42,
ColumnDataType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
ColumnDataType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool ColumnDataType_IsValid(int value);
constexpr ColumnDataType ColumnDataType_MIN = BOOLEAN;
constexpr ColumnDataType ColumnDataType_MAX = STRUCT;
constexpr ColumnDataType ColumnDataType_MAX = DICTIONARY;
constexpr int ColumnDataType_ARRAYSIZE = ColumnDataType_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ColumnDataType_descriptor();
@@ -3957,6 +3962,7 @@ class ColumnDataTypeExtension final :
kListType = 4,
kStructType = 5,
kJsonNativeType = 6,
kDictionaryType = 7,
TYPE_EXT_NOT_SET = 0,
};
@@ -4044,6 +4050,7 @@ class ColumnDataTypeExtension final :
kListTypeFieldNumber = 4,
kStructTypeFieldNumber = 5,
kJsonNativeTypeFieldNumber = 6,
kDictionaryTypeFieldNumber = 7,
};
// .greptime.v1.DecimalTypeExtension decimal_type = 1;
bool has_decimal_type() const;
@@ -4148,6 +4155,24 @@ class ColumnDataTypeExtension final :
::greptime::v1::JsonNativeTypeExtension* json_native_type);
::greptime::v1::JsonNativeTypeExtension* unsafe_arena_release_json_native_type();
// .greptime.v1.DictionaryTypeExtension dictionary_type = 7;
bool has_dictionary_type() const;
private:
bool _internal_has_dictionary_type() const;
public:
void clear_dictionary_type();
const ::greptime::v1::DictionaryTypeExtension& dictionary_type() const;
PROTOBUF_NODISCARD ::greptime::v1::DictionaryTypeExtension* release_dictionary_type();
::greptime::v1::DictionaryTypeExtension* mutable_dictionary_type();
void set_allocated_dictionary_type(::greptime::v1::DictionaryTypeExtension* dictionary_type);
private:
const ::greptime::v1::DictionaryTypeExtension& _internal_dictionary_type() const;
::greptime::v1::DictionaryTypeExtension* _internal_mutable_dictionary_type();
public:
void unsafe_arena_set_allocated_dictionary_type(
::greptime::v1::DictionaryTypeExtension* dictionary_type);
::greptime::v1::DictionaryTypeExtension* unsafe_arena_release_dictionary_type();
void clear_type_ext();
TypeExtCase type_ext_case() const;
// @@protoc_insertion_point(class_scope:greptime.v1.ColumnDataTypeExtension)
@@ -4159,6 +4184,7 @@ class ColumnDataTypeExtension final :
void set_has_list_type();
void set_has_struct_type();
void set_has_json_native_type();
void set_has_dictionary_type();
inline bool has_type_ext() const;
inline void clear_has_type_ext();
@@ -4176,6 +4202,7 @@ class ColumnDataTypeExtension final :
::greptime::v1::ListTypeExtension* list_type_;
::greptime::v1::StructTypeExtension* struct_type_;
::greptime::v1::JsonNativeTypeExtension* json_native_type_;
::greptime::v1::DictionaryTypeExtension* dictionary_type_;
} type_ext_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
uint32_t _oneof_case_[1];
@@ -4986,6 +5013,205 @@ class JsonNativeTypeExtension final :
};
// -------------------------------------------------------------------
class DictionaryTypeExtension final :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:greptime.v1.DictionaryTypeExtension) */ {
public:
inline DictionaryTypeExtension() : DictionaryTypeExtension(nullptr) {}
~DictionaryTypeExtension() override;
explicit PROTOBUF_CONSTEXPR DictionaryTypeExtension(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
DictionaryTypeExtension(const DictionaryTypeExtension& from);
DictionaryTypeExtension(DictionaryTypeExtension&& from) noexcept
: DictionaryTypeExtension() {
*this = ::std::move(from);
}
inline DictionaryTypeExtension& operator=(const DictionaryTypeExtension& from) {
CopyFrom(from);
return *this;
}
inline DictionaryTypeExtension& operator=(DictionaryTypeExtension&& 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 DictionaryTypeExtension& default_instance() {
return *internal_default_instance();
}
static inline const DictionaryTypeExtension* internal_default_instance() {
return reinterpret_cast<const DictionaryTypeExtension*>(
&_DictionaryTypeExtension_default_instance_);
}
static constexpr int kIndexInFileMessages =
30;
friend void swap(DictionaryTypeExtension& a, DictionaryTypeExtension& b) {
a.Swap(&b);
}
inline void Swap(DictionaryTypeExtension* 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(DictionaryTypeExtension* other) {
if (other == this) return;
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
InternalSwap(other);
}
// implements Message ----------------------------------------------
DictionaryTypeExtension* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
return CreateMaybeMessage<DictionaryTypeExtension>(arena);
}
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
void CopyFrom(const DictionaryTypeExtension& from);
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
void MergeFrom( const DictionaryTypeExtension& from) {
DictionaryTypeExtension::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(DictionaryTypeExtension* other);
private:
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "greptime.v1.DictionaryTypeExtension";
}
protected:
explicit DictionaryTypeExtension(::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 {
kKeyDatatypeExtensionFieldNumber = 2,
kValueDatatypeExtensionFieldNumber = 4,
kKeyDatatypeFieldNumber = 1,
kValueDatatypeFieldNumber = 3,
};
// .greptime.v1.ColumnDataTypeExtension key_datatype_extension = 2;
bool has_key_datatype_extension() const;
private:
bool _internal_has_key_datatype_extension() const;
public:
void clear_key_datatype_extension();
const ::greptime::v1::ColumnDataTypeExtension& key_datatype_extension() const;
PROTOBUF_NODISCARD ::greptime::v1::ColumnDataTypeExtension* release_key_datatype_extension();
::greptime::v1::ColumnDataTypeExtension* mutable_key_datatype_extension();
void set_allocated_key_datatype_extension(::greptime::v1::ColumnDataTypeExtension* key_datatype_extension);
private:
const ::greptime::v1::ColumnDataTypeExtension& _internal_key_datatype_extension() const;
::greptime::v1::ColumnDataTypeExtension* _internal_mutable_key_datatype_extension();
public:
void unsafe_arena_set_allocated_key_datatype_extension(
::greptime::v1::ColumnDataTypeExtension* key_datatype_extension);
::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_key_datatype_extension();
// .greptime.v1.ColumnDataTypeExtension value_datatype_extension = 4;
bool has_value_datatype_extension() const;
private:
bool _internal_has_value_datatype_extension() const;
public:
void clear_value_datatype_extension();
const ::greptime::v1::ColumnDataTypeExtension& value_datatype_extension() const;
PROTOBUF_NODISCARD ::greptime::v1::ColumnDataTypeExtension* release_value_datatype_extension();
::greptime::v1::ColumnDataTypeExtension* mutable_value_datatype_extension();
void set_allocated_value_datatype_extension(::greptime::v1::ColumnDataTypeExtension* value_datatype_extension);
private:
const ::greptime::v1::ColumnDataTypeExtension& _internal_value_datatype_extension() const;
::greptime::v1::ColumnDataTypeExtension* _internal_mutable_value_datatype_extension();
public:
void unsafe_arena_set_allocated_value_datatype_extension(
::greptime::v1::ColumnDataTypeExtension* value_datatype_extension);
::greptime::v1::ColumnDataTypeExtension* unsafe_arena_release_value_datatype_extension();
// .greptime.v1.ColumnDataType key_datatype = 1;
void clear_key_datatype();
::greptime::v1::ColumnDataType key_datatype() const;
void set_key_datatype(::greptime::v1::ColumnDataType value);
private:
::greptime::v1::ColumnDataType _internal_key_datatype() const;
void _internal_set_key_datatype(::greptime::v1::ColumnDataType value);
public:
// .greptime.v1.ColumnDataType value_datatype = 3;
void clear_value_datatype();
::greptime::v1::ColumnDataType value_datatype() const;
void set_value_datatype(::greptime::v1::ColumnDataType value);
private:
::greptime::v1::ColumnDataType _internal_value_datatype() const;
void _internal_set_value_datatype(::greptime::v1::ColumnDataType value);
public:
// @@protoc_insertion_point(class_scope:greptime.v1.DictionaryTypeExtension)
private:
class _Internal;
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_;
struct Impl_ {
::greptime::v1::ColumnDataTypeExtension* key_datatype_extension_;
::greptime::v1::ColumnDataTypeExtension* value_datatype_extension_;
int key_datatype_;
int value_datatype_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
};
union { Impl_ _impl_; };
friend struct ::TableStruct_greptime_2fv1_2fcommon_2eproto;
};
// -------------------------------------------------------------------
class ColumnOptions_OptionsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<ColumnOptions_OptionsEntry_DoNotUse,
std::string, std::string,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
@@ -5062,7 +5288,7 @@ class ColumnOptions final :
&_ColumnOptions_default_instance_);
}
static constexpr int kIndexInFileMessages =
31;
32;
friend void swap(ColumnOptions& a, ColumnOptions& b) {
a.Swap(&b);
@@ -5225,7 +5451,7 @@ class ArrowIpc final :
&_ArrowIpc_default_instance_);
}
static constexpr int kIndexInFileMessages =
32;
33;
friend void swap(ArrowIpc& a, ArrowIpc& b) {
a.Swap(&b);
@@ -7910,6 +8136,80 @@ inline ::greptime::v1::JsonNativeTypeExtension* ColumnDataTypeExtension::mutable
return _msg;
}
// .greptime.v1.DictionaryTypeExtension dictionary_type = 7;
inline bool ColumnDataTypeExtension::_internal_has_dictionary_type() const {
return type_ext_case() == kDictionaryType;
}
inline bool ColumnDataTypeExtension::has_dictionary_type() const {
return _internal_has_dictionary_type();
}
inline void ColumnDataTypeExtension::set_has_dictionary_type() {
_impl_._oneof_case_[0] = kDictionaryType;
}
inline void ColumnDataTypeExtension::clear_dictionary_type() {
if (_internal_has_dictionary_type()) {
if (GetArenaForAllocation() == nullptr) {
delete _impl_.type_ext_.dictionary_type_;
}
clear_has_type_ext();
}
}
inline ::greptime::v1::DictionaryTypeExtension* ColumnDataTypeExtension::release_dictionary_type() {
// @@protoc_insertion_point(field_release:greptime.v1.ColumnDataTypeExtension.dictionary_type)
if (_internal_has_dictionary_type()) {
clear_has_type_ext();
::greptime::v1::DictionaryTypeExtension* temp = _impl_.type_ext_.dictionary_type_;
if (GetArenaForAllocation() != nullptr) {
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
}
_impl_.type_ext_.dictionary_type_ = nullptr;
return temp;
} else {
return nullptr;
}
}
inline const ::greptime::v1::DictionaryTypeExtension& ColumnDataTypeExtension::_internal_dictionary_type() const {
return _internal_has_dictionary_type()
? *_impl_.type_ext_.dictionary_type_
: reinterpret_cast< ::greptime::v1::DictionaryTypeExtension&>(::greptime::v1::_DictionaryTypeExtension_default_instance_);
}
inline const ::greptime::v1::DictionaryTypeExtension& ColumnDataTypeExtension::dictionary_type() const {
// @@protoc_insertion_point(field_get:greptime.v1.ColumnDataTypeExtension.dictionary_type)
return _internal_dictionary_type();
}
inline ::greptime::v1::DictionaryTypeExtension* ColumnDataTypeExtension::unsafe_arena_release_dictionary_type() {
// @@protoc_insertion_point(field_unsafe_arena_release:greptime.v1.ColumnDataTypeExtension.dictionary_type)
if (_internal_has_dictionary_type()) {
clear_has_type_ext();
::greptime::v1::DictionaryTypeExtension* temp = _impl_.type_ext_.dictionary_type_;
_impl_.type_ext_.dictionary_type_ = nullptr;
return temp;
} else {
return nullptr;
}
}
inline void ColumnDataTypeExtension::unsafe_arena_set_allocated_dictionary_type(::greptime::v1::DictionaryTypeExtension* dictionary_type) {
clear_type_ext();
if (dictionary_type) {
set_has_dictionary_type();
_impl_.type_ext_.dictionary_type_ = dictionary_type;
}
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.ColumnDataTypeExtension.dictionary_type)
}
inline ::greptime::v1::DictionaryTypeExtension* ColumnDataTypeExtension::_internal_mutable_dictionary_type() {
if (!_internal_has_dictionary_type()) {
clear_type_ext();
set_has_dictionary_type();
_impl_.type_ext_.dictionary_type_ = CreateMaybeMessage< ::greptime::v1::DictionaryTypeExtension >(GetArenaForAllocation());
}
return _impl_.type_ext_.dictionary_type_;
}
inline ::greptime::v1::DictionaryTypeExtension* ColumnDataTypeExtension::mutable_dictionary_type() {
::greptime::v1::DictionaryTypeExtension* _msg = _internal_mutable_dictionary_type();
// @@protoc_insertion_point(field_mutable:greptime.v1.ColumnDataTypeExtension.dictionary_type)
return _msg;
}
inline bool ColumnDataTypeExtension::has_type_ext() const {
return type_ext_case() != TYPE_EXT_NOT_SET;
}
@@ -8261,6 +8561,230 @@ inline void JsonNativeTypeExtension::set_allocated_datatype_extension(::greptime
// -------------------------------------------------------------------
// DictionaryTypeExtension
// .greptime.v1.ColumnDataType key_datatype = 1;
inline void DictionaryTypeExtension::clear_key_datatype() {
_impl_.key_datatype_ = 0;
}
inline ::greptime::v1::ColumnDataType DictionaryTypeExtension::_internal_key_datatype() const {
return static_cast< ::greptime::v1::ColumnDataType >(_impl_.key_datatype_);
}
inline ::greptime::v1::ColumnDataType DictionaryTypeExtension::key_datatype() const {
// @@protoc_insertion_point(field_get:greptime.v1.DictionaryTypeExtension.key_datatype)
return _internal_key_datatype();
}
inline void DictionaryTypeExtension::_internal_set_key_datatype(::greptime::v1::ColumnDataType value) {
_impl_.key_datatype_ = value;
}
inline void DictionaryTypeExtension::set_key_datatype(::greptime::v1::ColumnDataType value) {
_internal_set_key_datatype(value);
// @@protoc_insertion_point(field_set:greptime.v1.DictionaryTypeExtension.key_datatype)
}
// .greptime.v1.ColumnDataTypeExtension key_datatype_extension = 2;
inline bool DictionaryTypeExtension::_internal_has_key_datatype_extension() const {
return this != internal_default_instance() && _impl_.key_datatype_extension_ != nullptr;
}
inline bool DictionaryTypeExtension::has_key_datatype_extension() const {
return _internal_has_key_datatype_extension();
}
inline void DictionaryTypeExtension::clear_key_datatype_extension() {
if (GetArenaForAllocation() == nullptr && _impl_.key_datatype_extension_ != nullptr) {
delete _impl_.key_datatype_extension_;
}
_impl_.key_datatype_extension_ = nullptr;
}
inline const ::greptime::v1::ColumnDataTypeExtension& DictionaryTypeExtension::_internal_key_datatype_extension() const {
const ::greptime::v1::ColumnDataTypeExtension* p = _impl_.key_datatype_extension_;
return p != nullptr ? *p : reinterpret_cast<const ::greptime::v1::ColumnDataTypeExtension&>(
::greptime::v1::_ColumnDataTypeExtension_default_instance_);
}
inline const ::greptime::v1::ColumnDataTypeExtension& DictionaryTypeExtension::key_datatype_extension() const {
// @@protoc_insertion_point(field_get:greptime.v1.DictionaryTypeExtension.key_datatype_extension)
return _internal_key_datatype_extension();
}
inline void DictionaryTypeExtension::unsafe_arena_set_allocated_key_datatype_extension(
::greptime::v1::ColumnDataTypeExtension* key_datatype_extension) {
if (GetArenaForAllocation() == nullptr) {
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.key_datatype_extension_);
}
_impl_.key_datatype_extension_ = key_datatype_extension;
if (key_datatype_extension) {
} else {
}
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.DictionaryTypeExtension.key_datatype_extension)
}
inline ::greptime::v1::ColumnDataTypeExtension* DictionaryTypeExtension::release_key_datatype_extension() {
::greptime::v1::ColumnDataTypeExtension* temp = _impl_.key_datatype_extension_;
_impl_.key_datatype_extension_ = 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::ColumnDataTypeExtension* DictionaryTypeExtension::unsafe_arena_release_key_datatype_extension() {
// @@protoc_insertion_point(field_release:greptime.v1.DictionaryTypeExtension.key_datatype_extension)
::greptime::v1::ColumnDataTypeExtension* temp = _impl_.key_datatype_extension_;
_impl_.key_datatype_extension_ = nullptr;
return temp;
}
inline ::greptime::v1::ColumnDataTypeExtension* DictionaryTypeExtension::_internal_mutable_key_datatype_extension() {
if (_impl_.key_datatype_extension_ == nullptr) {
auto* p = CreateMaybeMessage<::greptime::v1::ColumnDataTypeExtension>(GetArenaForAllocation());
_impl_.key_datatype_extension_ = p;
}
return _impl_.key_datatype_extension_;
}
inline ::greptime::v1::ColumnDataTypeExtension* DictionaryTypeExtension::mutable_key_datatype_extension() {
::greptime::v1::ColumnDataTypeExtension* _msg = _internal_mutable_key_datatype_extension();
// @@protoc_insertion_point(field_mutable:greptime.v1.DictionaryTypeExtension.key_datatype_extension)
return _msg;
}
inline void DictionaryTypeExtension::set_allocated_key_datatype_extension(::greptime::v1::ColumnDataTypeExtension* key_datatype_extension) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
if (message_arena == nullptr) {
delete _impl_.key_datatype_extension_;
}
if (key_datatype_extension) {
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(key_datatype_extension);
if (message_arena != submessage_arena) {
key_datatype_extension = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
message_arena, key_datatype_extension, submessage_arena);
}
} else {
}
_impl_.key_datatype_extension_ = key_datatype_extension;
// @@protoc_insertion_point(field_set_allocated:greptime.v1.DictionaryTypeExtension.key_datatype_extension)
}
// .greptime.v1.ColumnDataType value_datatype = 3;
inline void DictionaryTypeExtension::clear_value_datatype() {
_impl_.value_datatype_ = 0;
}
inline ::greptime::v1::ColumnDataType DictionaryTypeExtension::_internal_value_datatype() const {
return static_cast< ::greptime::v1::ColumnDataType >(_impl_.value_datatype_);
}
inline ::greptime::v1::ColumnDataType DictionaryTypeExtension::value_datatype() const {
// @@protoc_insertion_point(field_get:greptime.v1.DictionaryTypeExtension.value_datatype)
return _internal_value_datatype();
}
inline void DictionaryTypeExtension::_internal_set_value_datatype(::greptime::v1::ColumnDataType value) {
_impl_.value_datatype_ = value;
}
inline void DictionaryTypeExtension::set_value_datatype(::greptime::v1::ColumnDataType value) {
_internal_set_value_datatype(value);
// @@protoc_insertion_point(field_set:greptime.v1.DictionaryTypeExtension.value_datatype)
}
// .greptime.v1.ColumnDataTypeExtension value_datatype_extension = 4;
inline bool DictionaryTypeExtension::_internal_has_value_datatype_extension() const {
return this != internal_default_instance() && _impl_.value_datatype_extension_ != nullptr;
}
inline bool DictionaryTypeExtension::has_value_datatype_extension() const {
return _internal_has_value_datatype_extension();
}
inline void DictionaryTypeExtension::clear_value_datatype_extension() {
if (GetArenaForAllocation() == nullptr && _impl_.value_datatype_extension_ != nullptr) {
delete _impl_.value_datatype_extension_;
}
_impl_.value_datatype_extension_ = nullptr;
}
inline const ::greptime::v1::ColumnDataTypeExtension& DictionaryTypeExtension::_internal_value_datatype_extension() const {
const ::greptime::v1::ColumnDataTypeExtension* p = _impl_.value_datatype_extension_;
return p != nullptr ? *p : reinterpret_cast<const ::greptime::v1::ColumnDataTypeExtension&>(
::greptime::v1::_ColumnDataTypeExtension_default_instance_);
}
inline const ::greptime::v1::ColumnDataTypeExtension& DictionaryTypeExtension::value_datatype_extension() const {
// @@protoc_insertion_point(field_get:greptime.v1.DictionaryTypeExtension.value_datatype_extension)
return _internal_value_datatype_extension();
}
inline void DictionaryTypeExtension::unsafe_arena_set_allocated_value_datatype_extension(
::greptime::v1::ColumnDataTypeExtension* value_datatype_extension) {
if (GetArenaForAllocation() == nullptr) {
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.value_datatype_extension_);
}
_impl_.value_datatype_extension_ = value_datatype_extension;
if (value_datatype_extension) {
} else {
}
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.DictionaryTypeExtension.value_datatype_extension)
}
inline ::greptime::v1::ColumnDataTypeExtension* DictionaryTypeExtension::release_value_datatype_extension() {
::greptime::v1::ColumnDataTypeExtension* temp = _impl_.value_datatype_extension_;
_impl_.value_datatype_extension_ = 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::ColumnDataTypeExtension* DictionaryTypeExtension::unsafe_arena_release_value_datatype_extension() {
// @@protoc_insertion_point(field_release:greptime.v1.DictionaryTypeExtension.value_datatype_extension)
::greptime::v1::ColumnDataTypeExtension* temp = _impl_.value_datatype_extension_;
_impl_.value_datatype_extension_ = nullptr;
return temp;
}
inline ::greptime::v1::ColumnDataTypeExtension* DictionaryTypeExtension::_internal_mutable_value_datatype_extension() {
if (_impl_.value_datatype_extension_ == nullptr) {
auto* p = CreateMaybeMessage<::greptime::v1::ColumnDataTypeExtension>(GetArenaForAllocation());
_impl_.value_datatype_extension_ = p;
}
return _impl_.value_datatype_extension_;
}
inline ::greptime::v1::ColumnDataTypeExtension* DictionaryTypeExtension::mutable_value_datatype_extension() {
::greptime::v1::ColumnDataTypeExtension* _msg = _internal_mutable_value_datatype_extension();
// @@protoc_insertion_point(field_mutable:greptime.v1.DictionaryTypeExtension.value_datatype_extension)
return _msg;
}
inline void DictionaryTypeExtension::set_allocated_value_datatype_extension(::greptime::v1::ColumnDataTypeExtension* value_datatype_extension) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
if (message_arena == nullptr) {
delete _impl_.value_datatype_extension_;
}
if (value_datatype_extension) {
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(value_datatype_extension);
if (message_arena != submessage_arena) {
value_datatype_extension = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
message_arena, value_datatype_extension, submessage_arena);
}
} else {
}
_impl_.value_datatype_extension_ = value_datatype_extension;
// @@protoc_insertion_point(field_set_allocated:greptime.v1.DictionaryTypeExtension.value_datatype_extension)
}
// -------------------------------------------------------------------
// -------------------------------------------------------------------
// ColumnOptions
@@ -8515,6 +9039,8 @@ inline void ArrowIpc::set_allocated_payload(std::string* payload) {
// -------------------------------------------------------------------
// -------------------------------------------------------------------
// @@protoc_insertion_point(namespace_scope)