// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: greptime/v1/column.proto

#include "greptime/v1/column.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

namespace greptime {
namespace v1 {
PROTOBUF_CONSTEXPR Column_Values::Column_Values(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.i8_values_)*/{}
  , /*decltype(_impl_._i8_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.i16_values_)*/{}
  , /*decltype(_impl_._i16_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.i32_values_)*/{}
  , /*decltype(_impl_._i32_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.i64_values_)*/{}
  , /*decltype(_impl_._i64_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.u8_values_)*/{}
  , /*decltype(_impl_._u8_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.u16_values_)*/{}
  , /*decltype(_impl_._u16_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.u32_values_)*/{}
  , /*decltype(_impl_._u32_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.u64_values_)*/{}
  , /*decltype(_impl_._u64_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.f32_values_)*/{}
  , /*decltype(_impl_.f64_values_)*/{}
  , /*decltype(_impl_.bool_values_)*/{}
  , /*decltype(_impl_.binary_values_)*/{}
  , /*decltype(_impl_.string_values_)*/{}
  , /*decltype(_impl_.date_values_)*/{}
  , /*decltype(_impl_._date_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.datetime_values_)*/{}
  , /*decltype(_impl_._datetime_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.timestamp_second_values_)*/{}
  , /*decltype(_impl_._timestamp_second_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.timestamp_millisecond_values_)*/{}
  , /*decltype(_impl_._timestamp_millisecond_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.timestamp_microsecond_values_)*/{}
  , /*decltype(_impl_._timestamp_microsecond_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.timestamp_nanosecond_values_)*/{}
  , /*decltype(_impl_._timestamp_nanosecond_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.time_second_values_)*/{}
  , /*decltype(_impl_._time_second_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.time_millisecond_values_)*/{}
  , /*decltype(_impl_._time_millisecond_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.time_microsecond_values_)*/{}
  , /*decltype(_impl_._time_microsecond_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.time_nanosecond_values_)*/{}
  , /*decltype(_impl_._time_nanosecond_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.interval_year_month_values_)*/{}
  , /*decltype(_impl_._interval_year_month_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.interval_day_time_values_)*/{}
  , /*decltype(_impl_._interval_day_time_values_cached_byte_size_)*/{0}
  , /*decltype(_impl_.interval_month_day_nano_values_)*/{}
  , /*decltype(_impl_.decimal128_values_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct Column_ValuesDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Column_ValuesDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~Column_ValuesDefaultTypeInternal() {}
  union {
    Column_Values _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Column_ValuesDefaultTypeInternal _Column_Values_default_instance_;
PROTOBUF_CONSTEXPR Column::Column(
    ::_pbi::ConstantInitialized): _impl_{
    /*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_)*/{}} {}
struct ColumnDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ColumnDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ColumnDefaultTypeInternal() {}
  union {
    Column _instance;
  };
};
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 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;

const uint32_t TableStruct_greptime_2fv1_2fcolumn_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _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_Values, _impl_.i8_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.i16_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.i32_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.i64_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.u8_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.u16_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.u32_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.u64_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.f32_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.f64_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.bool_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.binary_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.string_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.date_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.datetime_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.timestamp_second_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.timestamp_millisecond_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.timestamp_microsecond_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.timestamp_nanosecond_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.time_second_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.time_millisecond_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.time_microsecond_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.time_nanosecond_values_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column_Values, _impl_.interval_year_month_values_),
  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_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _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, _impl_.column_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _impl_.semantic_type_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::Column, _impl_.values_),
  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)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::greptime::v1::_Column_Values_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\"\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\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, 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, 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,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_greptime_2fv1_2fcolumn_2eproto_getter() {
  return &descriptor_table_greptime_2fv1_2fcolumn_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_greptime_2fv1_2fcolumn_2eproto(&descriptor_table_greptime_2fv1_2fcolumn_2eproto);
namespace greptime {
namespace v1 {

// ===================================================================

class Column_Values::_Internal {
 public:
};

void Column_Values::clear_interval_month_day_nano_values() {
  _impl_.interval_month_day_nano_values_.Clear();
}
void Column_Values::clear_decimal128_values() {
  _impl_.decimal128_values_.Clear();
}
Column_Values::Column_Values(::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.Column.Values)
}
Column_Values::Column_Values(const Column_Values& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Column_Values* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.i8_values_){from._impl_.i8_values_}
    , /*decltype(_impl_._i8_values_cached_byte_size_)*/{0}
    , decltype(_impl_.i16_values_){from._impl_.i16_values_}
    , /*decltype(_impl_._i16_values_cached_byte_size_)*/{0}
    , decltype(_impl_.i32_values_){from._impl_.i32_values_}
    , /*decltype(_impl_._i32_values_cached_byte_size_)*/{0}
    , decltype(_impl_.i64_values_){from._impl_.i64_values_}
    , /*decltype(_impl_._i64_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u8_values_){from._impl_.u8_values_}
    , /*decltype(_impl_._u8_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u16_values_){from._impl_.u16_values_}
    , /*decltype(_impl_._u16_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u32_values_){from._impl_.u32_values_}
    , /*decltype(_impl_._u32_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u64_values_){from._impl_.u64_values_}
    , /*decltype(_impl_._u64_values_cached_byte_size_)*/{0}
    , decltype(_impl_.f32_values_){from._impl_.f32_values_}
    , decltype(_impl_.f64_values_){from._impl_.f64_values_}
    , decltype(_impl_.bool_values_){from._impl_.bool_values_}
    , decltype(_impl_.binary_values_){from._impl_.binary_values_}
    , decltype(_impl_.string_values_){from._impl_.string_values_}
    , decltype(_impl_.date_values_){from._impl_.date_values_}
    , /*decltype(_impl_._date_values_cached_byte_size_)*/{0}
    , decltype(_impl_.datetime_values_){from._impl_.datetime_values_}
    , /*decltype(_impl_._datetime_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_second_values_){from._impl_.timestamp_second_values_}
    , /*decltype(_impl_._timestamp_second_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_millisecond_values_){from._impl_.timestamp_millisecond_values_}
    , /*decltype(_impl_._timestamp_millisecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_microsecond_values_){from._impl_.timestamp_microsecond_values_}
    , /*decltype(_impl_._timestamp_microsecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_nanosecond_values_){from._impl_.timestamp_nanosecond_values_}
    , /*decltype(_impl_._timestamp_nanosecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_second_values_){from._impl_.time_second_values_}
    , /*decltype(_impl_._time_second_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_millisecond_values_){from._impl_.time_millisecond_values_}
    , /*decltype(_impl_._time_millisecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_microsecond_values_){from._impl_.time_microsecond_values_}
    , /*decltype(_impl_._time_microsecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_nanosecond_values_){from._impl_.time_nanosecond_values_}
    , /*decltype(_impl_._time_nanosecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.interval_year_month_values_){from._impl_.interval_year_month_values_}
    , /*decltype(_impl_._interval_year_month_values_cached_byte_size_)*/{0}
    , decltype(_impl_.interval_day_time_values_){from._impl_.interval_day_time_values_}
    , /*decltype(_impl_._interval_day_time_values_cached_byte_size_)*/{0}
    , decltype(_impl_.interval_month_day_nano_values_){from._impl_.interval_month_day_nano_values_}
    , decltype(_impl_.decimal128_values_){from._impl_.decimal128_values_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:greptime.v1.Column.Values)
}

inline void Column_Values::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.i8_values_){arena}
    , /*decltype(_impl_._i8_values_cached_byte_size_)*/{0}
    , decltype(_impl_.i16_values_){arena}
    , /*decltype(_impl_._i16_values_cached_byte_size_)*/{0}
    , decltype(_impl_.i32_values_){arena}
    , /*decltype(_impl_._i32_values_cached_byte_size_)*/{0}
    , decltype(_impl_.i64_values_){arena}
    , /*decltype(_impl_._i64_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u8_values_){arena}
    , /*decltype(_impl_._u8_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u16_values_){arena}
    , /*decltype(_impl_._u16_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u32_values_){arena}
    , /*decltype(_impl_._u32_values_cached_byte_size_)*/{0}
    , decltype(_impl_.u64_values_){arena}
    , /*decltype(_impl_._u64_values_cached_byte_size_)*/{0}
    , decltype(_impl_.f32_values_){arena}
    , decltype(_impl_.f64_values_){arena}
    , decltype(_impl_.bool_values_){arena}
    , decltype(_impl_.binary_values_){arena}
    , decltype(_impl_.string_values_){arena}
    , decltype(_impl_.date_values_){arena}
    , /*decltype(_impl_._date_values_cached_byte_size_)*/{0}
    , decltype(_impl_.datetime_values_){arena}
    , /*decltype(_impl_._datetime_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_second_values_){arena}
    , /*decltype(_impl_._timestamp_second_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_millisecond_values_){arena}
    , /*decltype(_impl_._timestamp_millisecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_microsecond_values_){arena}
    , /*decltype(_impl_._timestamp_microsecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.timestamp_nanosecond_values_){arena}
    , /*decltype(_impl_._timestamp_nanosecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_second_values_){arena}
    , /*decltype(_impl_._time_second_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_millisecond_values_){arena}
    , /*decltype(_impl_._time_millisecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_microsecond_values_){arena}
    , /*decltype(_impl_._time_microsecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.time_nanosecond_values_){arena}
    , /*decltype(_impl_._time_nanosecond_values_cached_byte_size_)*/{0}
    , decltype(_impl_.interval_year_month_values_){arena}
    , /*decltype(_impl_._interval_year_month_values_cached_byte_size_)*/{0}
    , decltype(_impl_.interval_day_time_values_){arena}
    , /*decltype(_impl_._interval_day_time_values_cached_byte_size_)*/{0}
    , decltype(_impl_.interval_month_day_nano_values_){arena}
    , decltype(_impl_.decimal128_values_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Column_Values::~Column_Values() {
  // @@protoc_insertion_point(destructor:greptime.v1.Column.Values)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Column_Values::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.i8_values_.~RepeatedField();
  _impl_.i16_values_.~RepeatedField();
  _impl_.i32_values_.~RepeatedField();
  _impl_.i64_values_.~RepeatedField();
  _impl_.u8_values_.~RepeatedField();
  _impl_.u16_values_.~RepeatedField();
  _impl_.u32_values_.~RepeatedField();
  _impl_.u64_values_.~RepeatedField();
  _impl_.f32_values_.~RepeatedField();
  _impl_.f64_values_.~RepeatedField();
  _impl_.bool_values_.~RepeatedField();
  _impl_.binary_values_.~RepeatedPtrField();
  _impl_.string_values_.~RepeatedPtrField();
  _impl_.date_values_.~RepeatedField();
  _impl_.datetime_values_.~RepeatedField();
  _impl_.timestamp_second_values_.~RepeatedField();
  _impl_.timestamp_millisecond_values_.~RepeatedField();
  _impl_.timestamp_microsecond_values_.~RepeatedField();
  _impl_.timestamp_nanosecond_values_.~RepeatedField();
  _impl_.time_second_values_.~RepeatedField();
  _impl_.time_millisecond_values_.~RepeatedField();
  _impl_.time_microsecond_values_.~RepeatedField();
  _impl_.time_nanosecond_values_.~RepeatedField();
  _impl_.interval_year_month_values_.~RepeatedField();
  _impl_.interval_day_time_values_.~RepeatedField();
  _impl_.interval_month_day_nano_values_.~RepeatedPtrField();
  _impl_.decimal128_values_.~RepeatedPtrField();
}

void Column_Values::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Column_Values::Clear() {
// @@protoc_insertion_point(message_clear_start:greptime.v1.Column.Values)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.i8_values_.Clear();
  _impl_.i16_values_.Clear();
  _impl_.i32_values_.Clear();
  _impl_.i64_values_.Clear();
  _impl_.u8_values_.Clear();
  _impl_.u16_values_.Clear();
  _impl_.u32_values_.Clear();
  _impl_.u64_values_.Clear();
  _impl_.f32_values_.Clear();
  _impl_.f64_values_.Clear();
  _impl_.bool_values_.Clear();
  _impl_.binary_values_.Clear();
  _impl_.string_values_.Clear();
  _impl_.date_values_.Clear();
  _impl_.datetime_values_.Clear();
  _impl_.timestamp_second_values_.Clear();
  _impl_.timestamp_millisecond_values_.Clear();
  _impl_.timestamp_microsecond_values_.Clear();
  _impl_.timestamp_nanosecond_values_.Clear();
  _impl_.time_second_values_.Clear();
  _impl_.time_millisecond_values_.Clear();
  _impl_.time_microsecond_values_.Clear();
  _impl_.time_nanosecond_values_.Clear();
  _impl_.interval_year_month_values_.Clear();
  _impl_.interval_day_time_values_.Clear();
  _impl_.interval_month_day_nano_values_.Clear();
  _impl_.decimal128_values_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Column_Values::_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) {
      // repeated int32 i8_values = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_i8_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 8) {
          _internal_add_i8_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int32 i16_values = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_i16_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 16) {
          _internal_add_i16_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int32 i32_values = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_i32_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 24) {
          _internal_add_i32_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 i64_values = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_i64_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 32) {
          _internal_add_i64_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint32 u8_values = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_u8_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 40) {
          _internal_add_u8_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint32 u16_values = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_u16_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 48) {
          _internal_add_u16_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint32 u32_values = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_u32_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 56) {
          _internal_add_u32_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 u64_values = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_u64_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 64) {
          _internal_add_u64_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated float f32_values = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFloatParser(_internal_mutable_f32_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 77) {
          _internal_add_f32_values(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr));
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // repeated double f64_values = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_f64_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 81) {
          _internal_add_f64_values(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
          ptr += sizeof(double);
        } else
          goto handle_unusual;
        continue;
      // repeated bool bool_values = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedBoolParser(_internal_mutable_bool_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 88) {
          _internal_add_bool_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated bytes binary_values = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_binary_values();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<98>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated string string_values = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_string_values();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.Column.Values.string_values"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated int32 date_values = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_date_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 112) {
          _internal_add_date_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 datetime_values = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_datetime_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 120) {
          _internal_add_datetime_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 timestamp_second_values = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_timestamp_second_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 128) {
          _internal_add_timestamp_second_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 timestamp_millisecond_values = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_timestamp_millisecond_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 136) {
          _internal_add_timestamp_millisecond_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 timestamp_microsecond_values = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_timestamp_microsecond_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 144) {
          _internal_add_timestamp_microsecond_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 timestamp_nanosecond_values = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_timestamp_nanosecond_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 152) {
          _internal_add_timestamp_nanosecond_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 time_second_values = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_time_second_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 160) {
          _internal_add_time_second_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 time_millisecond_values = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_time_millisecond_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 168) {
          _internal_add_time_millisecond_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 time_microsecond_values = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 178)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_time_microsecond_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 176) {
          _internal_add_time_microsecond_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 time_nanosecond_values = 23;
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_time_nanosecond_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 184) {
          _internal_add_time_nanosecond_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int32 interval_year_month_values = 24;
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 194)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_interval_year_month_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 192) {
          _internal_add_interval_year_month_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 interval_day_time_values = 25;
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 202)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_interval_day_time_values(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 200) {
          _internal_add_interval_day_time_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .greptime.v1.IntervalMonthDayNano interval_month_day_nano_values = 26;
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 210)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_interval_month_day_nano_values(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<210>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .greptime.v1.Decimal128 decimal128_values = 31;
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 250)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_decimal128_values(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<250>(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* Column_Values::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.Column.Values)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated int32 i8_values = 1;
  {
    int byte_size = _impl_._i8_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          1, _internal_i8_values(), byte_size, target);
    }
  }

  // repeated int32 i16_values = 2;
  {
    int byte_size = _impl_._i16_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          2, _internal_i16_values(), byte_size, target);
    }
  }

  // repeated int32 i32_values = 3;
  {
    int byte_size = _impl_._i32_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          3, _internal_i32_values(), byte_size, target);
    }
  }

  // repeated int64 i64_values = 4;
  {
    int byte_size = _impl_._i64_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          4, _internal_i64_values(), byte_size, target);
    }
  }

  // repeated uint32 u8_values = 5;
  {
    int byte_size = _impl_._u8_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt32Packed(
          5, _internal_u8_values(), byte_size, target);
    }
  }

  // repeated uint32 u16_values = 6;
  {
    int byte_size = _impl_._u16_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt32Packed(
          6, _internal_u16_values(), byte_size, target);
    }
  }

  // repeated uint32 u32_values = 7;
  {
    int byte_size = _impl_._u32_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt32Packed(
          7, _internal_u32_values(), byte_size, target);
    }
  }

  // repeated uint64 u64_values = 8;
  {
    int byte_size = _impl_._u64_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          8, _internal_u64_values(), byte_size, target);
    }
  }

  // repeated float f32_values = 9;
  if (this->_internal_f32_values_size() > 0) {
    target = stream->WriteFixedPacked(9, _internal_f32_values(), target);
  }

  // repeated double f64_values = 10;
  if (this->_internal_f64_values_size() > 0) {
    target = stream->WriteFixedPacked(10, _internal_f64_values(), target);
  }

  // repeated bool bool_values = 11;
  if (this->_internal_bool_values_size() > 0) {
    target = stream->WriteFixedPacked(11, _internal_bool_values(), target);
  }

  // repeated bytes binary_values = 12;
  for (int i = 0, n = this->_internal_binary_values_size(); i < n; i++) {
    const auto& s = this->_internal_binary_values(i);
    target = stream->WriteBytes(12, s, target);
  }

  // repeated string string_values = 13;
  for (int i = 0, n = this->_internal_string_values_size(); i < n; i++) {
    const auto& s = this->_internal_string_values(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "greptime.v1.Column.Values.string_values");
    target = stream->WriteString(13, s, target);
  }

  // repeated int32 date_values = 14;
  {
    int byte_size = _impl_._date_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          14, _internal_date_values(), byte_size, target);
    }
  }

  // repeated int64 datetime_values = 15;
  {
    int byte_size = _impl_._datetime_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          15, _internal_datetime_values(), byte_size, target);
    }
  }

  // repeated int64 timestamp_second_values = 16;
  {
    int byte_size = _impl_._timestamp_second_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          16, _internal_timestamp_second_values(), byte_size, target);
    }
  }

  // repeated int64 timestamp_millisecond_values = 17;
  {
    int byte_size = _impl_._timestamp_millisecond_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          17, _internal_timestamp_millisecond_values(), byte_size, target);
    }
  }

  // repeated int64 timestamp_microsecond_values = 18;
  {
    int byte_size = _impl_._timestamp_microsecond_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          18, _internal_timestamp_microsecond_values(), byte_size, target);
    }
  }

  // repeated int64 timestamp_nanosecond_values = 19;
  {
    int byte_size = _impl_._timestamp_nanosecond_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          19, _internal_timestamp_nanosecond_values(), byte_size, target);
    }
  }

  // repeated int64 time_second_values = 20;
  {
    int byte_size = _impl_._time_second_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          20, _internal_time_second_values(), byte_size, target);
    }
  }

  // repeated int64 time_millisecond_values = 21;
  {
    int byte_size = _impl_._time_millisecond_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          21, _internal_time_millisecond_values(), byte_size, target);
    }
  }

  // repeated int64 time_microsecond_values = 22;
  {
    int byte_size = _impl_._time_microsecond_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          22, _internal_time_microsecond_values(), byte_size, target);
    }
  }

  // repeated int64 time_nanosecond_values = 23;
  {
    int byte_size = _impl_._time_nanosecond_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          23, _internal_time_nanosecond_values(), byte_size, target);
    }
  }

  // repeated int32 interval_year_month_values = 24;
  {
    int byte_size = _impl_._interval_year_month_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          24, _internal_interval_year_month_values(), byte_size, target);
    }
  }

  // repeated int64 interval_day_time_values = 25;
  {
    int byte_size = _impl_._interval_day_time_values_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          25, _internal_interval_day_time_values(), byte_size, target);
    }
  }

  // repeated .greptime.v1.IntervalMonthDayNano interval_month_day_nano_values = 26;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_interval_month_day_nano_values_size()); i < n; i++) {
    const auto& repfield = this->_internal_interval_month_day_nano_values(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(26, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .greptime.v1.Decimal128 decimal128_values = 31;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_decimal128_values_size()); i < n; i++) {
    const auto& repfield = this->_internal_decimal128_values(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(31, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:greptime.v1.Column.Values)
  return target;
}

size_t Column_Values::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:greptime.v1.Column.Values)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated int32 i8_values = 1;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.i8_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._i8_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int32 i16_values = 2;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.i16_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._i16_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int32 i32_values = 3;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.i32_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._i32_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 i64_values = 4;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.i64_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._i64_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint32 u8_values = 5;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt32Size(this->_impl_.u8_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._u8_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint32 u16_values = 6;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt32Size(this->_impl_.u16_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._u16_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint32 u32_values = 7;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt32Size(this->_impl_.u32_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._u32_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint64 u64_values = 8;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.u64_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._u64_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated float f32_values = 9;
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_f32_values_size());
    size_t data_size = 4UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated double f64_values = 10;
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_f64_values_size());
    size_t data_size = 8UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated bool bool_values = 11;
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_bool_values_size());
    size_t data_size = 1UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated bytes binary_values = 12;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.binary_values_.size());
  for (int i = 0, n = _impl_.binary_values_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
      _impl_.binary_values_.Get(i));
  }

  // repeated string string_values = 13;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.string_values_.size());
  for (int i = 0, n = _impl_.string_values_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      _impl_.string_values_.Get(i));
  }

  // repeated int32 date_values = 14;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.date_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._date_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 datetime_values = 15;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.datetime_values_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._datetime_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 timestamp_second_values = 16;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.timestamp_second_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._timestamp_second_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 timestamp_millisecond_values = 17;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.timestamp_millisecond_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._timestamp_millisecond_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 timestamp_microsecond_values = 18;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.timestamp_microsecond_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._timestamp_microsecond_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 timestamp_nanosecond_values = 19;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.timestamp_nanosecond_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._timestamp_nanosecond_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 time_second_values = 20;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.time_second_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._time_second_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 time_millisecond_values = 21;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.time_millisecond_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._time_millisecond_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 time_microsecond_values = 22;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.time_microsecond_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._time_microsecond_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 time_nanosecond_values = 23;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.time_nanosecond_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._time_nanosecond_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int32 interval_year_month_values = 24;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.interval_year_month_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._interval_year_month_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 interval_day_time_values = 25;
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.interval_day_time_values_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._interval_day_time_values_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated .greptime.v1.IntervalMonthDayNano interval_month_day_nano_values = 26;
  total_size += 2UL * this->_internal_interval_month_day_nano_values_size();
  for (const auto& msg : this->_impl_.interval_month_day_nano_values_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .greptime.v1.Decimal128 decimal128_values = 31;
  total_size += 2UL * this->_internal_decimal128_values_size();
  for (const auto& msg : this->_impl_.decimal128_values_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Column_Values::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Column_Values::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Column_Values::GetClassData() const { return &_class_data_; }


void Column_Values::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Column_Values*>(&to_msg);
  auto& from = static_cast<const Column_Values&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.Column.Values)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.i8_values_.MergeFrom(from._impl_.i8_values_);
  _this->_impl_.i16_values_.MergeFrom(from._impl_.i16_values_);
  _this->_impl_.i32_values_.MergeFrom(from._impl_.i32_values_);
  _this->_impl_.i64_values_.MergeFrom(from._impl_.i64_values_);
  _this->_impl_.u8_values_.MergeFrom(from._impl_.u8_values_);
  _this->_impl_.u16_values_.MergeFrom(from._impl_.u16_values_);
  _this->_impl_.u32_values_.MergeFrom(from._impl_.u32_values_);
  _this->_impl_.u64_values_.MergeFrom(from._impl_.u64_values_);
  _this->_impl_.f32_values_.MergeFrom(from._impl_.f32_values_);
  _this->_impl_.f64_values_.MergeFrom(from._impl_.f64_values_);
  _this->_impl_.bool_values_.MergeFrom(from._impl_.bool_values_);
  _this->_impl_.binary_values_.MergeFrom(from._impl_.binary_values_);
  _this->_impl_.string_values_.MergeFrom(from._impl_.string_values_);
  _this->_impl_.date_values_.MergeFrom(from._impl_.date_values_);
  _this->_impl_.datetime_values_.MergeFrom(from._impl_.datetime_values_);
  _this->_impl_.timestamp_second_values_.MergeFrom(from._impl_.timestamp_second_values_);
  _this->_impl_.timestamp_millisecond_values_.MergeFrom(from._impl_.timestamp_millisecond_values_);
  _this->_impl_.timestamp_microsecond_values_.MergeFrom(from._impl_.timestamp_microsecond_values_);
  _this->_impl_.timestamp_nanosecond_values_.MergeFrom(from._impl_.timestamp_nanosecond_values_);
  _this->_impl_.time_second_values_.MergeFrom(from._impl_.time_second_values_);
  _this->_impl_.time_millisecond_values_.MergeFrom(from._impl_.time_millisecond_values_);
  _this->_impl_.time_microsecond_values_.MergeFrom(from._impl_.time_microsecond_values_);
  _this->_impl_.time_nanosecond_values_.MergeFrom(from._impl_.time_nanosecond_values_);
  _this->_impl_.interval_year_month_values_.MergeFrom(from._impl_.interval_year_month_values_);
  _this->_impl_.interval_day_time_values_.MergeFrom(from._impl_.interval_day_time_values_);
  _this->_impl_.interval_month_day_nano_values_.MergeFrom(from._impl_.interval_month_day_nano_values_);
  _this->_impl_.decimal128_values_.MergeFrom(from._impl_.decimal128_values_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Column_Values::CopyFrom(const Column_Values& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.Column.Values)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Column_Values::IsInitialized() const {
  return true;
}

void Column_Values::InternalSwap(Column_Values* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.i8_values_.InternalSwap(&other->_impl_.i8_values_);
  _impl_.i16_values_.InternalSwap(&other->_impl_.i16_values_);
  _impl_.i32_values_.InternalSwap(&other->_impl_.i32_values_);
  _impl_.i64_values_.InternalSwap(&other->_impl_.i64_values_);
  _impl_.u8_values_.InternalSwap(&other->_impl_.u8_values_);
  _impl_.u16_values_.InternalSwap(&other->_impl_.u16_values_);
  _impl_.u32_values_.InternalSwap(&other->_impl_.u32_values_);
  _impl_.u64_values_.InternalSwap(&other->_impl_.u64_values_);
  _impl_.f32_values_.InternalSwap(&other->_impl_.f32_values_);
  _impl_.f64_values_.InternalSwap(&other->_impl_.f64_values_);
  _impl_.bool_values_.InternalSwap(&other->_impl_.bool_values_);
  _impl_.binary_values_.InternalSwap(&other->_impl_.binary_values_);
  _impl_.string_values_.InternalSwap(&other->_impl_.string_values_);
  _impl_.date_values_.InternalSwap(&other->_impl_.date_values_);
  _impl_.datetime_values_.InternalSwap(&other->_impl_.datetime_values_);
  _impl_.timestamp_second_values_.InternalSwap(&other->_impl_.timestamp_second_values_);
  _impl_.timestamp_millisecond_values_.InternalSwap(&other->_impl_.timestamp_millisecond_values_);
  _impl_.timestamp_microsecond_values_.InternalSwap(&other->_impl_.timestamp_microsecond_values_);
  _impl_.timestamp_nanosecond_values_.InternalSwap(&other->_impl_.timestamp_nanosecond_values_);
  _impl_.time_second_values_.InternalSwap(&other->_impl_.time_second_values_);
  _impl_.time_millisecond_values_.InternalSwap(&other->_impl_.time_millisecond_values_);
  _impl_.time_microsecond_values_.InternalSwap(&other->_impl_.time_microsecond_values_);
  _impl_.time_nanosecond_values_.InternalSwap(&other->_impl_.time_nanosecond_values_);
  _impl_.interval_year_month_values_.InternalSwap(&other->_impl_.interval_year_month_values_);
  _impl_.interval_day_time_values_.InternalSwap(&other->_impl_.interval_day_time_values_);
  _impl_.interval_month_day_nano_values_.InternalSwap(&other->_impl_.interval_month_day_nano_values_);
  _impl_.decimal128_values_.InternalSwap(&other->_impl_.decimal128_values_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Column_Values::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[0]);
}

// ===================================================================

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&
Column::_Internal::values(const Column* msg) {
  return *msg->_impl_.values_;
}
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);
  // @@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_.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_);
  _impl_.column_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.column_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_column_name().empty()) {
    _this->_impl_.column_name_.Set(from._internal_column_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.null_mask_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.null_mask_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_null_mask().empty()) {
    _this->_impl_.null_mask_.Set(from._internal_null_mask(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_values()) {
    _this->_impl_.values_ = new ::greptime::v1::Column_Values(*from._impl_.values_);
  }
  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<size_t>(reinterpret_cast<char*>(&_impl_.datatype_) -
    reinterpret_cast<char*>(&_impl_.semantic_type_)) + sizeof(_impl_.datatype_));
  // @@protoc_insertion_point(copy_constructor:greptime.v1.Column)
}

inline void Column::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      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_)*/{}
  };
  _impl_.column_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.column_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.null_mask_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.null_mask_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Column::~Column() {
  // @@protoc_insertion_point(destructor:greptime.v1.Column)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Column::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _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::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Column::Clear() {
// @@protoc_insertion_point(message_clear_start:greptime.v1.Column)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.column_name_.ClearToEmpty();
  _impl_.null_mask_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.values_ != nullptr) {
    delete _impl_.values_;
  }
  _impl_.values_ = nullptr;
  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_.semantic_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.datatype_) -
      reinterpret_cast<char*>(&_impl_.semantic_type_)) + sizeof(_impl_.datatype_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Column::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string column_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_column_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.Column.column_name"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.SemanticType semantic_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_semantic_type(static_cast<::greptime::v1::SemanticType>(val));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.Column.Values values = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_values(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bytes null_mask = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_null_mask();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnDataType datatype = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_datatype(static_cast<::greptime::v1::ColumnDataType>(val));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnDataTypeExtension datatype_extension = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_datatype_extension(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnOptions options = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_options(), 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* Column::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.Column)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string column_name = 1;
  if (!this->_internal_column_name().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_column_name().data(), static_cast<int>(this->_internal_column_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "greptime.v1.Column.column_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_column_name(), target);
  }

  // .greptime.v1.SemanticType semantic_type = 2;
  if (this->_internal_semantic_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_semantic_type(), target);
  }

  // .greptime.v1.Column.Values values = 3;
  if (this->_internal_has_values()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::values(this),
        _Internal::values(this).GetCachedSize(), target, stream);
  }

  // bytes null_mask = 4;
  if (!this->_internal_null_mask().empty()) {
    target = stream->WriteBytesMaybeAliased(
        4, this->_internal_null_mask(), target);
  }

  // .greptime.v1.ColumnDataType datatype = 5;
  if (this->_internal_datatype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_datatype(), target);
  }

  // .greptime.v1.ColumnDataTypeExtension datatype_extension = 6;
  if (this->_internal_has_datatype_extension()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::datatype_extension(this),
        _Internal::datatype_extension(this).GetCachedSize(), target, stream);
  }

  // .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())) {
    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.Column)
  return target;
}

size_t Column::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:greptime.v1.Column)
  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 column_name = 1;
  if (!this->_internal_column_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_column_name());
  }

  // bytes null_mask = 4;
  if (!this->_internal_null_mask().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
        this->_internal_null_mask());
  }

  // .greptime.v1.Column.Values values = 3;
  if (this->_internal_has_values()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.values_);
  }

  // .greptime.v1.ColumnDataTypeExtension datatype_extension = 6;
  if (this->_internal_has_datatype_extension()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_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 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_semantic_type());
  }

  // .greptime.v1.ColumnDataType datatype = 5;
  if (this->_internal_datatype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_datatype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Column::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Column::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Column::GetClassData() const { return &_class_data_; }


void Column::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Column*>(&to_msg);
  auto& from = static_cast<const Column&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.Column)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_column_name().empty()) {
    _this->_internal_set_column_name(from._internal_column_name());
  }
  if (!from._internal_null_mask().empty()) {
    _this->_internal_set_null_mask(from._internal_null_mask());
  }
  if (from._internal_has_values()) {
    _this->_internal_mutable_values()->::greptime::v1::Column_Values::MergeFrom(
        from._internal_values());
  }
  if (from._internal_has_datatype_extension()) {
    _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());
  }
  if (from._internal_datatype() != 0) {
    _this->_internal_set_datatype(from._internal_datatype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Column::CopyFrom(const Column& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:greptime.v1.Column)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Column::IsInitialized() const {
  return true;
}

void Column::InternalSwap(Column* 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_.column_name_, lhs_arena,
      &other->_impl_.column_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.null_mask_, lhs_arena,
      &other->_impl_.null_mask_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Column, _impl_.datatype_)
      + sizeof(Column::_impl_.datatype_)
      - PROTOBUF_FIELD_OFFSET(Column, _impl_.values_)>(
          reinterpret_cast<char*>(&_impl_.values_),
          reinterpret_cast<char*>(&other->_impl_.values_));
}

::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]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace greptime
PROTOBUF_NAMESPACE_OPEN
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*
Arena::CreateMaybeMessage< ::greptime::v1::Column >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::Column >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
