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

#include "greptime/v1/ddl.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 DdlRequest::DdlRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.expr_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct DdlRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DdlRequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DdlRequestDefaultTypeInternal() {}
  union {
    DdlRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DdlRequestDefaultTypeInternal _DdlRequest_default_instance_;
PROTOBUF_CONSTEXPR CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse(
    ::_pbi::ConstantInitialized) {}
struct CreateFlowTaskExpr_TaskOptionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateFlowTaskExpr_TaskOptionsEntry_DoNotUseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateFlowTaskExpr_TaskOptionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateFlowTaskExpr_TaskOptionsEntry_DoNotUseDefaultTypeInternal _CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse_default_instance_;
PROTOBUF_CONSTEXPR CreateFlowTaskExpr::CreateFlowTaskExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.source_table_names_)*/{}
  , /*decltype(_impl_.task_options_)*/{::_pbi::ConstantInitialized()}
  , /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.task_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.expire_when_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.comment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sql_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sink_table_name_)*/nullptr
  , /*decltype(_impl_.or_replace_)*/false
  , /*decltype(_impl_.create_if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateFlowTaskExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateFlowTaskExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateFlowTaskExprDefaultTypeInternal() {}
  union {
    CreateFlowTaskExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateFlowTaskExprDefaultTypeInternal _CreateFlowTaskExpr_default_instance_;
PROTOBUF_CONSTEXPR DropFlowTaskExpr::DropFlowTaskExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.task_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropFlowTaskExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropFlowTaskExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropFlowTaskExprDefaultTypeInternal() {}
  union {
    DropFlowTaskExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropFlowTaskExprDefaultTypeInternal _DropFlowTaskExpr_default_instance_;
PROTOBUF_CONSTEXPR CreateTableExpr_TableOptionsEntry_DoNotUse::CreateTableExpr_TableOptionsEntry_DoNotUse(
    ::_pbi::ConstantInitialized) {}
struct CreateTableExpr_TableOptionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTableExpr_TableOptionsEntry_DoNotUseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTableExpr_TableOptionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    CreateTableExpr_TableOptionsEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTableExpr_TableOptionsEntry_DoNotUseDefaultTypeInternal _CreateTableExpr_TableOptionsEntry_DoNotUse_default_instance_;
PROTOBUF_CONSTEXPR CreateTableExpr::CreateTableExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.column_defs_)*/{}
  , /*decltype(_impl_.primary_keys_)*/{}
  , /*decltype(_impl_.table_options_)*/{::_pbi::ConstantInitialized()}
  , /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.desc_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.time_index_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.engine_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_id_)*/nullptr
  , /*decltype(_impl_.create_if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateTableExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTableExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTableExprDefaultTypeInternal() {}
  union {
    CreateTableExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTableExprDefaultTypeInternal _CreateTableExpr_default_instance_;
PROTOBUF_CONSTEXPR AlterExpr::AlterExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.kind_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct AlterExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterExprDefaultTypeInternal() {}
  union {
    AlterExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterExprDefaultTypeInternal _AlterExpr_default_instance_;
PROTOBUF_CONSTEXPR DropTableExpr::DropTableExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_id_)*/nullptr
  , /*decltype(_impl_.drop_if_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropTableExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropTableExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropTableExprDefaultTypeInternal() {}
  union {
    DropTableExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropTableExprDefaultTypeInternal _DropTableExpr_default_instance_;
PROTOBUF_CONSTEXPR CreateDatabaseExpr_OptionsEntry_DoNotUse::CreateDatabaseExpr_OptionsEntry_DoNotUse(
    ::_pbi::ConstantInitialized) {}
struct CreateDatabaseExpr_OptionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateDatabaseExpr_OptionsEntry_DoNotUseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateDatabaseExpr_OptionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    CreateDatabaseExpr_OptionsEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateDatabaseExpr_OptionsEntry_DoNotUseDefaultTypeInternal _CreateDatabaseExpr_OptionsEntry_DoNotUse_default_instance_;
PROTOBUF_CONSTEXPR CreateDatabaseExpr::CreateDatabaseExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()}
  , /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.create_if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateDatabaseExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateDatabaseExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateDatabaseExprDefaultTypeInternal() {}
  union {
    CreateDatabaseExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateDatabaseExprDefaultTypeInternal _CreateDatabaseExpr_default_instance_;
PROTOBUF_CONSTEXPR TruncateTableExpr::TruncateTableExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_id_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TruncateTableExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TruncateTableExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TruncateTableExprDefaultTypeInternal() {}
  union {
    TruncateTableExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TruncateTableExprDefaultTypeInternal _TruncateTableExpr_default_instance_;
PROTOBUF_CONSTEXPR DropDatabaseExpr::DropDatabaseExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schema_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.drop_if_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropDatabaseExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropDatabaseExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropDatabaseExprDefaultTypeInternal() {}
  union {
    DropDatabaseExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropDatabaseExprDefaultTypeInternal _DropDatabaseExpr_default_instance_;
PROTOBUF_CONSTEXPR AddColumns::AddColumns(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.add_columns_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AddColumnsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AddColumnsDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AddColumnsDefaultTypeInternal() {}
  union {
    AddColumns _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnsDefaultTypeInternal _AddColumns_default_instance_;
PROTOBUF_CONSTEXPR DropColumns::DropColumns(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.drop_columns_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropColumnsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropColumnsDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropColumnsDefaultTypeInternal() {}
  union {
    DropColumns _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropColumnsDefaultTypeInternal _DropColumns_default_instance_;
PROTOBUF_CONSTEXPR ChangeColumnTypes::ChangeColumnTypes(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.change_column_types_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ChangeColumnTypesDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ChangeColumnTypesDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ChangeColumnTypesDefaultTypeInternal() {}
  union {
    ChangeColumnTypes _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ChangeColumnTypesDefaultTypeInternal _ChangeColumnTypes_default_instance_;
PROTOBUF_CONSTEXPR RenameTable::RenameTable(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.new_table_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RenameTableDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RenameTableDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RenameTableDefaultTypeInternal() {}
  union {
    RenameTable _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RenameTableDefaultTypeInternal _RenameTable_default_instance_;
PROTOBUF_CONSTEXPR AddColumn::AddColumn(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.column_def_)*/nullptr
  , /*decltype(_impl_.location_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AddColumnDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AddColumnDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AddColumnDefaultTypeInternal() {}
  union {
    AddColumn _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnDefaultTypeInternal _AddColumn_default_instance_;
PROTOBUF_CONSTEXPR ChangeColumnType::ChangeColumnType(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.target_type_extension_)*/nullptr
  , /*decltype(_impl_.target_type_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ChangeColumnTypeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ChangeColumnTypeDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ChangeColumnTypeDefaultTypeInternal() {}
  union {
    ChangeColumnType _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ChangeColumnTypeDefaultTypeInternal _ChangeColumnType_default_instance_;
PROTOBUF_CONSTEXPR DropColumn::DropColumn(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropColumnDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropColumnDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropColumnDefaultTypeInternal() {}
  union {
    DropColumn _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropColumnDefaultTypeInternal _DropColumn_default_instance_;
PROTOBUF_CONSTEXPR TableId::TableId(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TableIdDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableIdDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableIdDefaultTypeInternal() {}
  union {
    TableId _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableIdDefaultTypeInternal _TableId_default_instance_;
PROTOBUF_CONSTEXPR ColumnDef::ColumnDef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.default_constraint_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.comment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.datatype_extension_)*/nullptr
  , /*decltype(_impl_.data_type_)*/0
  , /*decltype(_impl_.is_nullable_)*/false
  , /*decltype(_impl_.semantic_type_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ColumnDefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ColumnDefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ColumnDefDefaultTypeInternal() {}
  union {
    ColumnDef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
PROTOBUF_CONSTEXPR AddColumnLocation::AddColumnLocation(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.after_column_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.location_type_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AddColumnLocationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AddColumnLocationDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AddColumnLocationDefaultTypeInternal() {}
  union {
    AddColumnLocation _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddColumnLocationDefaultTypeInternal _AddColumnLocation_default_instance_;
}  // namespace v1
}  // namespace greptime
static ::_pb::Metadata file_level_metadata_greptime_2fv1_2fddl_2eproto[22];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto[1];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_greptime_2fv1_2fddl_2eproto = nullptr;

const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DdlRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DdlRequest, _impl_._oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DdlRequest, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.task_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.source_table_names_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.sink_table_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.or_replace_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.create_if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.expire_when_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.comment_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.sql_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateFlowTaskExpr, _impl_.task_options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropFlowTaskExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropFlowTaskExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropFlowTaskExpr, _impl_.task_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.schema_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.table_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.desc_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.column_defs_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.time_index_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.primary_keys_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.create_if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.table_options_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.table_id_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTableExpr, _impl_.engine_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_._oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.schema_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.table_name_),
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AlterExpr, _impl_.kind_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _impl_.schema_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _impl_.table_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _impl_.table_id_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropTableExpr, _impl_.drop_if_exists_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr, _impl_.schema_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr, _impl_.create_if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateDatabaseExpr, _impl_.options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TruncateTableExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TruncateTableExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TruncateTableExpr, _impl_.schema_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TruncateTableExpr, _impl_.table_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TruncateTableExpr, _impl_.table_id_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropDatabaseExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropDatabaseExpr, _impl_.catalog_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropDatabaseExpr, _impl_.schema_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropDatabaseExpr, _impl_.drop_if_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumns, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumns, _impl_.add_columns_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropColumns, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropColumns, _impl_.drop_columns_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ChangeColumnTypes, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ChangeColumnTypes, _impl_.change_column_types_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::RenameTable, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::RenameTable, _impl_.new_table_name_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _impl_.column_def_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumn, _impl_.location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ChangeColumnType, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ChangeColumnType, _impl_.column_name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ChangeColumnType, _impl_.target_type_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ChangeColumnType, _impl_.target_type_extension_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropColumn, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::DropColumn, _impl_.name_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TableId, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::TableId, _impl_.id_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.data_type_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.is_nullable_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.default_constraint_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.semantic_type_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.comment_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::ColumnDef, _impl_.datatype_extension_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _impl_.location_type_),
  PROTOBUF_FIELD_OFFSET(::greptime::v1::AddColumnLocation, _impl_.after_column_name_),
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::greptime::v1::DdlRequest)},
  { 14, 22, -1, sizeof(::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse)},
  { 24, -1, -1, sizeof(::greptime::v1::CreateFlowTaskExpr)},
  { 40, -1, -1, sizeof(::greptime::v1::DropFlowTaskExpr)},
  { 48, 56, -1, sizeof(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse)},
  { 58, -1, -1, sizeof(::greptime::v1::CreateTableExpr)},
  { 75, -1, -1, sizeof(::greptime::v1::AlterExpr)},
  { 89, -1, -1, sizeof(::greptime::v1::DropTableExpr)},
  { 100, 108, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)},
  { 110, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)},
  { 120, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)},
  { 130, -1, -1, sizeof(::greptime::v1::DropDatabaseExpr)},
  { 139, -1, -1, sizeof(::greptime::v1::AddColumns)},
  { 146, -1, -1, sizeof(::greptime::v1::DropColumns)},
  { 153, -1, -1, sizeof(::greptime::v1::ChangeColumnTypes)},
  { 160, -1, -1, sizeof(::greptime::v1::RenameTable)},
  { 167, -1, -1, sizeof(::greptime::v1::AddColumn)},
  { 175, -1, -1, sizeof(::greptime::v1::ChangeColumnType)},
  { 184, -1, -1, sizeof(::greptime::v1::DropColumn)},
  { 191, -1, -1, sizeof(::greptime::v1::TableId)},
  { 198, -1, -1, sizeof(::greptime::v1::ColumnDef)},
  { 211, -1, -1, sizeof(::greptime::v1::AddColumnLocation)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::greptime::v1::_DdlRequest_default_instance_._instance,
  &::greptime::v1::_CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse_default_instance_._instance,
  &::greptime::v1::_CreateFlowTaskExpr_default_instance_._instance,
  &::greptime::v1::_DropFlowTaskExpr_default_instance_._instance,
  &::greptime::v1::_CreateTableExpr_TableOptionsEntry_DoNotUse_default_instance_._instance,
  &::greptime::v1::_CreateTableExpr_default_instance_._instance,
  &::greptime::v1::_AlterExpr_default_instance_._instance,
  &::greptime::v1::_DropTableExpr_default_instance_._instance,
  &::greptime::v1::_CreateDatabaseExpr_OptionsEntry_DoNotUse_default_instance_._instance,
  &::greptime::v1::_CreateDatabaseExpr_default_instance_._instance,
  &::greptime::v1::_TruncateTableExpr_default_instance_._instance,
  &::greptime::v1::_DropDatabaseExpr_default_instance_._instance,
  &::greptime::v1::_AddColumns_default_instance_._instance,
  &::greptime::v1::_DropColumns_default_instance_._instance,
  &::greptime::v1::_ChangeColumnTypes_default_instance_._instance,
  &::greptime::v1::_RenameTable_default_instance_._instance,
  &::greptime::v1::_AddColumn_default_instance_._instance,
  &::greptime::v1::_ChangeColumnType_default_instance_._instance,
  &::greptime::v1::_DropColumn_default_instance_._instance,
  &::greptime::v1::_TableId_default_instance_._instance,
  &::greptime::v1::_ColumnDef_default_instance_._instance,
  &::greptime::v1::_AddColumnLocation_default_instance_._instance,
};

const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\025greptime/v1/ddl.proto\022\013greptime.v1\032\030gr"
  "eptime/v1/common.proto\"\221\003\n\nDdlRequest\022:\n"
  "\017create_database\030\001 \001(\0132\037.greptime.v1.Cre"
  "ateDatabaseExprH\000\0224\n\014create_table\030\002 \001(\0132"
  "\034.greptime.v1.CreateTableExprH\000\022\'\n\005alter"
  "\030\003 \001(\0132\026.greptime.v1.AlterExprH\000\0220\n\ndrop"
  "_table\030\004 \001(\0132\032.greptime.v1.DropTableExpr"
  "H\000\0228\n\016truncate_table\030\007 \001(\0132\036.greptime.v1"
  ".TruncateTableExprH\000\022;\n\020create_flow_task"
  "\030\010 \001(\0132\037.greptime.v1.CreateFlowTaskExprH"
  "\000\0227\n\016drop_flow_task\030\t \001(\0132\035.greptime.v1."
  "DropFlowTaskExprH\000B\006\n\004expr\"\203\003\n\022CreateFlo"
  "wTaskExpr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\ttask_"
  "name\030\002 \001(\t\0222\n\022source_table_names\030\003 \003(\0132\026"
  ".greptime.v1.TableName\022/\n\017sink_table_nam"
  "e\030\004 \001(\0132\026.greptime.v1.TableName\022\022\n\nor_re"
  "place\030\005 \001(\010\022\034\n\024create_if_not_exists\030\006 \001("
  "\010\022\023\n\013expire_when\030\007 \001(\t\022\017\n\007comment\030\010 \001(\t\022"
  "\013\n\003sql\030\t \001(\t\022F\n\014task_options\030\n \003(\01320.gre"
  "ptime.v1.CreateFlowTaskExpr.TaskOptionsE"
  "ntry\0322\n\020TaskOptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n"
  "\005value\030\002 \001(\t:\0028\001\";\n\020DropFlowTaskExpr\022\024\n\014"
  "catalog_name\030\001 \001(\t\022\021\n\ttask_name\030\002 \001(\t\"\207\003"
  "\n\017CreateTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022"
  "\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t"
  "\022\014\n\004desc\030\004 \001(\t\022+\n\013column_defs\030\005 \003(\0132\026.gr"
  "eptime.v1.ColumnDef\022\022\n\ntime_index\030\006 \001(\t\022"
  "\024\n\014primary_keys\030\007 \003(\t\022\034\n\024create_if_not_e"
  "xists\030\010 \001(\010\022E\n\rtable_options\030\t \003(\0132..gre"
  "ptime.v1.CreateTableExpr.TableOptionsEnt"
  "ry\022&\n\010table_id\030\n \001(\0132\024.greptime.v1.Table"
  "Id\022\016\n\006engine\030\014 \001(\t\0323\n\021TableOptionsEntry\022"
  "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\245\002\n\tAlte"
  "rExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_na"
  "me\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022.\n\013add_colu"
  "mns\030\004 \001(\0132\027.greptime.v1.AddColumnsH\000\0220\n\014"
  "drop_columns\030\005 \001(\0132\030.greptime.v1.DropCol"
  "umnsH\000\0220\n\014rename_table\030\006 \001(\0132\030.greptime."
  "v1.RenameTableH\000\022=\n\023change_column_types\030"
  "\007 \001(\0132\036.greptime.v1.ChangeColumnTypesH\000B"
  "\006\n\004kind\"\216\001\n\rDropTableExpr\022\024\n\014catalog_nam"
  "e\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_na"
  "me\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.greptime.v1"
  ".TableId\022\026\n\016drop_if_exists\030\005 \001(\010\"\314\001\n\022Cre"
  "ateDatabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n"
  "\013schema_name\030\002 \001(\t\022\034\n\024create_if_not_exis"
  "ts\030\003 \001(\010\022=\n\007options\030\004 \003(\0132,.greptime.v1."
  "CreateDatabaseExpr.OptionsEntry\032.\n\014Optio"
  "nsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\""
  "z\n\021TruncateTableExpr\022\024\n\014catalog_name\030\001 \001"
  "(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 "
  "\001(\t\022&\n\010table_id\030\004 \001(\0132\024.greptime.v1.Tabl"
  "eId\"U\n\020DropDatabaseExpr\022\024\n\014catalog_name\030"
  "\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016drop_if_ex"
  "ists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_columns\030"
  "\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013DropCol"
  "umns\022-\n\014drop_columns\030\001 \003(\0132\027.greptime.v1"
  ".DropColumn\"O\n\021ChangeColumnTypes\022:\n\023chan"
  "ge_column_types\030\001 \003(\0132\035.greptime.v1.Chan"
  "geColumnType\"%\n\013RenameTable\022\026\n\016new_table"
  "_name\030\001 \001(\t\"i\n\tAddColumn\022*\n\ncolumn_def\030\001"
  " \001(\0132\026.greptime.v1.ColumnDef\0220\n\010location"
  "\030\003 \001(\0132\036.greptime.v1.AddColumnLocation\"\236"
  "\001\n\020ChangeColumnType\022\023\n\013column_name\030\001 \001(\t"
  "\0220\n\013target_type\030\002 \001(\0162\033.greptime.v1.Colu"
  "mnDataType\022C\n\025target_type_extension\030\003 \001("
  "\0132$.greptime.v1.ColumnDataTypeExtension\""
  "\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025\n\007TableId\022\n"
  "\n\002id\030\001 \001(\r\"\377\001\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022."
  "\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnDa"
  "taType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_c"
  "onstraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162\031"
  ".greptime.v1.SemanticType\022\017\n\007comment\030\006 \001"
  "(\t\022@\n\022datatype_extension\030\007 \001(\0132$.greptim"
  "e.v1.ColumnDataTypeExtension\"\230\001\n\021AddColu"
  "mnLocation\022B\n\rlocation_type\030\001 \001(\0162+.grep"
  "time.v1.AddColumnLocation.LocationType\022\031"
  "\n\021after_column_name\030\002 \001(\t\"$\n\014LocationTyp"
  "e\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v"
  "1B\003DdlZ5github.com/GreptimeTeam/greptime"
  "-proto/go/greptime/v1b\006proto3"
  ;
static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fddl_2eproto_deps[1] = {
  &::descriptor_table_greptime_2fv1_2fcommon_2eproto,
};
static ::_pbi::once_flag descriptor_table_greptime_2fv1_2fddl_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_greptime_2fv1_2fddl_2eproto = {
    false, false, 3229, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
    "greptime/v1/ddl.proto",
    &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 22,
    schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets,
    file_level_metadata_greptime_2fv1_2fddl_2eproto, file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto,
    file_level_service_descriptors_greptime_2fv1_2fddl_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_greptime_2fv1_2fddl_2eproto_getter() {
  return &descriptor_table_greptime_2fv1_2fddl_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_greptime_2fv1_2fddl_2eproto(&descriptor_table_greptime_2fv1_2fddl_2eproto);
namespace greptime {
namespace v1 {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AddColumnLocation_LocationType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_greptime_2fv1_2fddl_2eproto);
  return file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto[0];
}
bool AddColumnLocation_LocationType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
constexpr AddColumnLocation_LocationType AddColumnLocation::FIRST;
constexpr AddColumnLocation_LocationType AddColumnLocation::AFTER;
constexpr AddColumnLocation_LocationType AddColumnLocation::LocationType_MIN;
constexpr AddColumnLocation_LocationType AddColumnLocation::LocationType_MAX;
constexpr int AddColumnLocation::LocationType_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

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

class DdlRequest::_Internal {
 public:
  static const ::greptime::v1::CreateDatabaseExpr& create_database(const DdlRequest* msg);
  static const ::greptime::v1::CreateTableExpr& create_table(const DdlRequest* msg);
  static const ::greptime::v1::AlterExpr& alter(const DdlRequest* msg);
  static const ::greptime::v1::DropTableExpr& drop_table(const DdlRequest* msg);
  static const ::greptime::v1::TruncateTableExpr& truncate_table(const DdlRequest* msg);
  static const ::greptime::v1::CreateFlowTaskExpr& create_flow_task(const DdlRequest* msg);
  static const ::greptime::v1::DropFlowTaskExpr& drop_flow_task(const DdlRequest* msg);
};

const ::greptime::v1::CreateDatabaseExpr&
DdlRequest::_Internal::create_database(const DdlRequest* msg) {
  return *msg->_impl_.expr_.create_database_;
}
const ::greptime::v1::CreateTableExpr&
DdlRequest::_Internal::create_table(const DdlRequest* msg) {
  return *msg->_impl_.expr_.create_table_;
}
const ::greptime::v1::AlterExpr&
DdlRequest::_Internal::alter(const DdlRequest* msg) {
  return *msg->_impl_.expr_.alter_;
}
const ::greptime::v1::DropTableExpr&
DdlRequest::_Internal::drop_table(const DdlRequest* msg) {
  return *msg->_impl_.expr_.drop_table_;
}
const ::greptime::v1::TruncateTableExpr&
DdlRequest::_Internal::truncate_table(const DdlRequest* msg) {
  return *msg->_impl_.expr_.truncate_table_;
}
const ::greptime::v1::CreateFlowTaskExpr&
DdlRequest::_Internal::create_flow_task(const DdlRequest* msg) {
  return *msg->_impl_.expr_.create_flow_task_;
}
const ::greptime::v1::DropFlowTaskExpr&
DdlRequest::_Internal::drop_flow_task(const DdlRequest* msg) {
  return *msg->_impl_.expr_.drop_flow_task_;
}
void DdlRequest::set_allocated_create_database(::greptime::v1::CreateDatabaseExpr* create_database) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (create_database) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(create_database);
    if (message_arena != submessage_arena) {
      create_database = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_database, submessage_arena);
    }
    set_has_create_database();
    _impl_.expr_.create_database_ = create_database;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.create_database)
}
void DdlRequest::set_allocated_create_table(::greptime::v1::CreateTableExpr* create_table) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (create_table) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(create_table);
    if (message_arena != submessage_arena) {
      create_table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_table, submessage_arena);
    }
    set_has_create_table();
    _impl_.expr_.create_table_ = create_table;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.create_table)
}
void DdlRequest::set_allocated_alter(::greptime::v1::AlterExpr* alter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (alter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alter);
    if (message_arena != submessage_arena) {
      alter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter, submessage_arena);
    }
    set_has_alter();
    _impl_.expr_.alter_ = alter;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.alter)
}
void DdlRequest::set_allocated_drop_table(::greptime::v1::DropTableExpr* drop_table) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (drop_table) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(drop_table);
    if (message_arena != submessage_arena) {
      drop_table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_table, submessage_arena);
    }
    set_has_drop_table();
    _impl_.expr_.drop_table_ = drop_table;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.drop_table)
}
void DdlRequest::set_allocated_truncate_table(::greptime::v1::TruncateTableExpr* truncate_table) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (truncate_table) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(truncate_table);
    if (message_arena != submessage_arena) {
      truncate_table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, truncate_table, submessage_arena);
    }
    set_has_truncate_table();
    _impl_.expr_.truncate_table_ = truncate_table;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.truncate_table)
}
void DdlRequest::set_allocated_create_flow_task(::greptime::v1::CreateFlowTaskExpr* create_flow_task) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (create_flow_task) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(create_flow_task);
    if (message_arena != submessage_arena) {
      create_flow_task = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_flow_task, submessage_arena);
    }
    set_has_create_flow_task();
    _impl_.expr_.create_flow_task_ = create_flow_task;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.create_flow_task)
}
void DdlRequest::set_allocated_drop_flow_task(::greptime::v1::DropFlowTaskExpr* drop_flow_task) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_expr();
  if (drop_flow_task) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(drop_flow_task);
    if (message_arena != submessage_arena) {
      drop_flow_task = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_flow_task, submessage_arena);
    }
    set_has_drop_flow_task();
    _impl_.expr_.drop_flow_task_ = drop_flow_task;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.DdlRequest.drop_flow_task)
}
DdlRequest::DdlRequest(::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.DdlRequest)
}
DdlRequest::DdlRequest(const DdlRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DdlRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.expr_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  clear_has_expr();
  switch (from.expr_case()) {
    case kCreateDatabase: {
      _this->_internal_mutable_create_database()->::greptime::v1::CreateDatabaseExpr::MergeFrom(
          from._internal_create_database());
      break;
    }
    case kCreateTable: {
      _this->_internal_mutable_create_table()->::greptime::v1::CreateTableExpr::MergeFrom(
          from._internal_create_table());
      break;
    }
    case kAlter: {
      _this->_internal_mutable_alter()->::greptime::v1::AlterExpr::MergeFrom(
          from._internal_alter());
      break;
    }
    case kDropTable: {
      _this->_internal_mutable_drop_table()->::greptime::v1::DropTableExpr::MergeFrom(
          from._internal_drop_table());
      break;
    }
    case kTruncateTable: {
      _this->_internal_mutable_truncate_table()->::greptime::v1::TruncateTableExpr::MergeFrom(
          from._internal_truncate_table());
      break;
    }
    case kCreateFlowTask: {
      _this->_internal_mutable_create_flow_task()->::greptime::v1::CreateFlowTaskExpr::MergeFrom(
          from._internal_create_flow_task());
      break;
    }
    case kDropFlowTask: {
      _this->_internal_mutable_drop_flow_task()->::greptime::v1::DropFlowTaskExpr::MergeFrom(
          from._internal_drop_flow_task());
      break;
    }
    case EXPR_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.DdlRequest)
}

inline void DdlRequest::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.expr_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_expr();
}

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

inline void DdlRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_expr()) {
    clear_expr();
  }
}

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

void DdlRequest::clear_expr() {
// @@protoc_insertion_point(one_of_clear_start:greptime.v1.DdlRequest)
  switch (expr_case()) {
    case kCreateDatabase: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.create_database_;
      }
      break;
    }
    case kCreateTable: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.create_table_;
      }
      break;
    }
    case kAlter: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.alter_;
      }
      break;
    }
    case kDropTable: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.drop_table_;
      }
      break;
    }
    case kTruncateTable: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.truncate_table_;
      }
      break;
    }
    case kCreateFlowTask: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.create_flow_task_;
      }
      break;
    }
    case kDropFlowTask: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.expr_.drop_flow_task_;
      }
      break;
    }
    case EXPR_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = EXPR_NOT_SET;
}


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

  clear_expr();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DdlRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .greptime.v1.CreateDatabaseExpr create_database = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_database(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.CreateTableExpr create_table = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_table(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.AlterExpr alter = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.DropTableExpr drop_table = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_table(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.TruncateTableExpr truncate_table = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_truncate_table(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.CreateFlowTaskExpr create_flow_task = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_flow_task(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.DropFlowTaskExpr drop_flow_task = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_flow_task(), 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* DdlRequest::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.DdlRequest)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .greptime.v1.CreateDatabaseExpr create_database = 1;
  if (_internal_has_create_database()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::create_database(this),
        _Internal::create_database(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.CreateTableExpr create_table = 2;
  if (_internal_has_create_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::create_table(this),
        _Internal::create_table(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.AlterExpr alter = 3;
  if (_internal_has_alter()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::alter(this),
        _Internal::alter(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.DropTableExpr drop_table = 4;
  if (_internal_has_drop_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::drop_table(this),
        _Internal::drop_table(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.TruncateTableExpr truncate_table = 7;
  if (_internal_has_truncate_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::truncate_table(this),
        _Internal::truncate_table(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.CreateFlowTaskExpr create_flow_task = 8;
  if (_internal_has_create_flow_task()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::create_flow_task(this),
        _Internal::create_flow_task(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.DropFlowTaskExpr drop_flow_task = 9;
  if (_internal_has_drop_flow_task()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, _Internal::drop_flow_task(this),
        _Internal::drop_flow_task(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.DdlRequest)
  return target;
}

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

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

  switch (expr_case()) {
    // .greptime.v1.CreateDatabaseExpr create_database = 1;
    case kCreateDatabase: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.create_database_);
      break;
    }
    // .greptime.v1.CreateTableExpr create_table = 2;
    case kCreateTable: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.create_table_);
      break;
    }
    // .greptime.v1.AlterExpr alter = 3;
    case kAlter: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.alter_);
      break;
    }
    // .greptime.v1.DropTableExpr drop_table = 4;
    case kDropTable: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.drop_table_);
      break;
    }
    // .greptime.v1.TruncateTableExpr truncate_table = 7;
    case kTruncateTable: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.truncate_table_);
      break;
    }
    // .greptime.v1.CreateFlowTaskExpr create_flow_task = 8;
    case kCreateFlowTask: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.create_flow_task_);
      break;
    }
    // .greptime.v1.DropFlowTaskExpr drop_flow_task = 9;
    case kDropFlowTask: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.expr_.drop_flow_task_);
      break;
    }
    case EXPR_NOT_SET: {
      break;
    }
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

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


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

  switch (from.expr_case()) {
    case kCreateDatabase: {
      _this->_internal_mutable_create_database()->::greptime::v1::CreateDatabaseExpr::MergeFrom(
          from._internal_create_database());
      break;
    }
    case kCreateTable: {
      _this->_internal_mutable_create_table()->::greptime::v1::CreateTableExpr::MergeFrom(
          from._internal_create_table());
      break;
    }
    case kAlter: {
      _this->_internal_mutable_alter()->::greptime::v1::AlterExpr::MergeFrom(
          from._internal_alter());
      break;
    }
    case kDropTable: {
      _this->_internal_mutable_drop_table()->::greptime::v1::DropTableExpr::MergeFrom(
          from._internal_drop_table());
      break;
    }
    case kTruncateTable: {
      _this->_internal_mutable_truncate_table()->::greptime::v1::TruncateTableExpr::MergeFrom(
          from._internal_truncate_table());
      break;
    }
    case kCreateFlowTask: {
      _this->_internal_mutable_create_flow_task()->::greptime::v1::CreateFlowTaskExpr::MergeFrom(
          from._internal_create_flow_task());
      break;
    }
    case kDropFlowTask: {
      _this->_internal_mutable_drop_flow_task()->::greptime::v1::DropFlowTaskExpr::MergeFrom(
          from._internal_drop_flow_task());
      break;
    }
    case EXPR_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void DdlRequest::InternalSwap(DdlRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.expr_, other->_impl_.expr_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata DdlRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[0]);
}

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

CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse() {}
CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::MergeFrom(const CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[1]);
}

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

class CreateFlowTaskExpr::_Internal {
 public:
  static const ::greptime::v1::TableName& sink_table_name(const CreateFlowTaskExpr* msg);
};

const ::greptime::v1::TableName&
CreateFlowTaskExpr::_Internal::sink_table_name(const CreateFlowTaskExpr* msg) {
  return *msg->_impl_.sink_table_name_;
}
void CreateFlowTaskExpr::clear_source_table_names() {
  _impl_.source_table_names_.Clear();
}
void CreateFlowTaskExpr::clear_sink_table_name() {
  if (GetArenaForAllocation() == nullptr && _impl_.sink_table_name_ != nullptr) {
    delete _impl_.sink_table_name_;
  }
  _impl_.sink_table_name_ = nullptr;
}
CreateFlowTaskExpr::CreateFlowTaskExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  if (arena != nullptr && !is_message_owned) {
    arena->OwnCustomDestructor(this, &CreateFlowTaskExpr::ArenaDtor);
  }
  // @@protoc_insertion_point(arena_constructor:greptime.v1.CreateFlowTaskExpr)
}
CreateFlowTaskExpr::CreateFlowTaskExpr(const CreateFlowTaskExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateFlowTaskExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.source_table_names_){from._impl_.source_table_names_}
    , /*decltype(_impl_.task_options_)*/{}
    , decltype(_impl_.catalog_name_){}
    , decltype(_impl_.task_name_){}
    , decltype(_impl_.expire_when_){}
    , decltype(_impl_.comment_){}
    , decltype(_impl_.sql_){}
    , decltype(_impl_.sink_table_name_){nullptr}
    , decltype(_impl_.or_replace_){}
    , decltype(_impl_.create_if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.task_options_.MergeFrom(from._impl_.task_options_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.task_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.task_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_task_name().empty()) {
    _this->_impl_.task_name_.Set(from._internal_task_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.expire_when_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.expire_when_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_expire_when().empty()) {
    _this->_impl_.expire_when_.Set(from._internal_expire_when(), 
      _this->GetArenaForAllocation());
  }
  _impl_.comment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.comment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_comment().empty()) {
    _this->_impl_.comment_.Set(from._internal_comment(), 
      _this->GetArenaForAllocation());
  }
  _impl_.sql_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sql_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sql().empty()) {
    _this->_impl_.sql_.Set(from._internal_sql(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_sink_table_name()) {
    _this->_impl_.sink_table_name_ = new ::greptime::v1::TableName(*from._impl_.sink_table_name_);
  }
  ::memcpy(&_impl_.or_replace_, &from._impl_.or_replace_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.create_if_not_exists_) -
    reinterpret_cast<char*>(&_impl_.or_replace_)) + sizeof(_impl_.create_if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:greptime.v1.CreateFlowTaskExpr)
}

inline void CreateFlowTaskExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.source_table_names_){arena}
    , /*decltype(_impl_.task_options_)*/{::_pbi::ArenaInitialized(), arena}
    , decltype(_impl_.catalog_name_){}
    , decltype(_impl_.task_name_){}
    , decltype(_impl_.expire_when_){}
    , decltype(_impl_.comment_){}
    , decltype(_impl_.sql_){}
    , decltype(_impl_.sink_table_name_){nullptr}
    , decltype(_impl_.or_replace_){false}
    , decltype(_impl_.create_if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.task_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.task_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.expire_when_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.expire_when_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.comment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.comment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.sql_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sql_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void CreateFlowTaskExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.source_table_names_.~RepeatedPtrField();
  _impl_.task_options_.Destruct();
  _impl_.task_options_.~MapField();
  _impl_.catalog_name_.Destroy();
  _impl_.task_name_.Destroy();
  _impl_.expire_when_.Destroy();
  _impl_.comment_.Destroy();
  _impl_.sql_.Destroy();
  if (this != internal_default_instance()) delete _impl_.sink_table_name_;
}

void CreateFlowTaskExpr::ArenaDtor(void* object) {
  CreateFlowTaskExpr* _this = reinterpret_cast< CreateFlowTaskExpr* >(object);
  _this->_impl_.task_options_.Destruct();
}
void CreateFlowTaskExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.source_table_names_.Clear();
  _impl_.task_options_.Clear();
  _impl_.catalog_name_.ClearToEmpty();
  _impl_.task_name_.ClearToEmpty();
  _impl_.expire_when_.ClearToEmpty();
  _impl_.comment_.ClearToEmpty();
  _impl_.sql_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.sink_table_name_ != nullptr) {
    delete _impl_.sink_table_name_;
  }
  _impl_.sink_table_name_ = nullptr;
  ::memset(&_impl_.or_replace_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.create_if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.or_replace_)) + sizeof(_impl_.create_if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateFlowTaskExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateFlowTaskExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string task_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_task_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateFlowTaskExpr.task_name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .greptime.v1.TableName source_table_names = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_source_table_names(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.TableName sink_table_name = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_sink_table_name(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool or_replace = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.or_replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool create_if_not_exists = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.create_if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string expire_when = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          auto str = _internal_mutable_expire_when();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateFlowTaskExpr.expire_when"));
        } else
          goto handle_unusual;
        continue;
      // string comment = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_comment();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateFlowTaskExpr.comment"));
        } else
          goto handle_unusual;
        continue;
      // string sql = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          auto str = _internal_mutable_sql();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateFlowTaskExpr.sql"));
        } else
          goto handle_unusual;
        continue;
      // map<string, string> task_options = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&_impl_.task_options_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(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* CreateFlowTaskExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.CreateFlowTaskExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

  // repeated .greptime.v1.TableName source_table_names = 3;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_source_table_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_source_table_names(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .greptime.v1.TableName sink_table_name = 4;
  if (this->_internal_has_sink_table_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::sink_table_name(this),
        _Internal::sink_table_name(this).GetCachedSize(), target, stream);
  }

  // bool or_replace = 5;
  if (this->_internal_or_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_or_replace(), target);
  }

  // bool create_if_not_exists = 6;
  if (this->_internal_create_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_create_if_not_exists(), target);
  }

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

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

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

  // map<string, string> task_options = 10;
  if (!this->_internal_task_options().empty()) {
    using MapType = ::_pb::Map<std::string, std::string>;
    using WireHelper = CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::Funcs;
    const auto& map_field = this->_internal_task_options();
    auto check_utf8 = [](const MapType::value_type& entry) {
      (void)entry;
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        entry.first.data(), static_cast<int>(entry.first.length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "greptime.v1.CreateFlowTaskExpr.TaskOptionsEntry.key");
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        entry.second.data(), static_cast<int>(entry.second.length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "greptime.v1.CreateFlowTaskExpr.TaskOptionsEntry.value");
    };

    if (stream->IsSerializationDeterministic() && map_field.size() > 1) {
      for (const auto& entry : ::_pbi::MapSorterPtr<MapType>(map_field)) {
        target = WireHelper::InternalSerialize(10, entry.first, entry.second, target, stream);
        check_utf8(entry);
      }
    } else {
      for (const auto& entry : map_field) {
        target = WireHelper::InternalSerialize(10, entry.first, entry.second, target, stream);
        check_utf8(entry);
      }
    }
  }

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

size_t CreateFlowTaskExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:greptime.v1.CreateFlowTaskExpr)
  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 .greptime.v1.TableName source_table_names = 3;
  total_size += 1UL * this->_internal_source_table_names_size();
  for (const auto& msg : this->_impl_.source_table_names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // map<string, string> task_options = 10;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_task_options_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
      it = this->_internal_task_options().begin();
      it != this->_internal_task_options().end(); ++it) {
    total_size += CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // string catalog_name = 1;
  if (!this->_internal_catalog_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_catalog_name());
  }

  // string task_name = 2;
  if (!this->_internal_task_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_task_name());
  }

  // string expire_when = 7;
  if (!this->_internal_expire_when().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_expire_when());
  }

  // string comment = 8;
  if (!this->_internal_comment().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_comment());
  }

  // string sql = 9;
  if (!this->_internal_sql().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sql());
  }

  // .greptime.v1.TableName sink_table_name = 4;
  if (this->_internal_has_sink_table_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.sink_table_name_);
  }

  // bool or_replace = 5;
  if (this->_internal_or_replace() != 0) {
    total_size += 1 + 1;
  }

  // bool create_if_not_exists = 6;
  if (this->_internal_create_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

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

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


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

  _this->_impl_.source_table_names_.MergeFrom(from._impl_.source_table_names_);
  _this->_impl_.task_options_.MergeFrom(from._impl_.task_options_);
  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_task_name().empty()) {
    _this->_internal_set_task_name(from._internal_task_name());
  }
  if (!from._internal_expire_when().empty()) {
    _this->_internal_set_expire_when(from._internal_expire_when());
  }
  if (!from._internal_comment().empty()) {
    _this->_internal_set_comment(from._internal_comment());
  }
  if (!from._internal_sql().empty()) {
    _this->_internal_set_sql(from._internal_sql());
  }
  if (from._internal_has_sink_table_name()) {
    _this->_internal_mutable_sink_table_name()->::greptime::v1::TableName::MergeFrom(
        from._internal_sink_table_name());
  }
  if (from._internal_or_replace() != 0) {
    _this->_internal_set_or_replace(from._internal_or_replace());
  }
  if (from._internal_create_if_not_exists() != 0) {
    _this->_internal_set_create_if_not_exists(from._internal_create_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void CreateFlowTaskExpr::InternalSwap(CreateFlowTaskExpr* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.source_table_names_.InternalSwap(&other->_impl_.source_table_names_);
  _impl_.task_options_.InternalSwap(&other->_impl_.task_options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.task_name_, lhs_arena,
      &other->_impl_.task_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.expire_when_, lhs_arena,
      &other->_impl_.expire_when_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.comment_, lhs_arena,
      &other->_impl_.comment_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sql_, lhs_arena,
      &other->_impl_.sql_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateFlowTaskExpr, _impl_.create_if_not_exists_)
      + sizeof(CreateFlowTaskExpr::_impl_.create_if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateFlowTaskExpr, _impl_.sink_table_name_)>(
          reinterpret_cast<char*>(&_impl_.sink_table_name_),
          reinterpret_cast<char*>(&other->_impl_.sink_table_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateFlowTaskExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[2]);
}

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

class DropFlowTaskExpr::_Internal {
 public:
};

DropFlowTaskExpr::DropFlowTaskExpr(::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.DropFlowTaskExpr)
}
DropFlowTaskExpr::DropFlowTaskExpr(const DropFlowTaskExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropFlowTaskExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.task_name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.task_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.task_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_task_name().empty()) {
    _this->_impl_.task_name_.Set(from._internal_task_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.DropFlowTaskExpr)
}

inline void DropFlowTaskExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.task_name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.task_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.task_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void DropFlowTaskExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.catalog_name_.Destroy();
  _impl_.task_name_.Destroy();
}

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

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

  _impl_.catalog_name_.ClearToEmpty();
  _impl_.task_name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropFlowTaskExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropFlowTaskExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string task_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_task_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropFlowTaskExpr.task_name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropFlowTaskExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.DropFlowTaskExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

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

  // string task_name = 2;
  if (!this->_internal_task_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_task_name());
  }

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

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


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

  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_task_name().empty()) {
    _this->_internal_set_task_name(from._internal_task_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void DropFlowTaskExpr::InternalSwap(DropFlowTaskExpr* 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_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.task_name_, lhs_arena,
      &other->_impl_.task_name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata DropFlowTaskExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[3]);
}

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

CreateTableExpr_TableOptionsEntry_DoNotUse::CreateTableExpr_TableOptionsEntry_DoNotUse() {}
CreateTableExpr_TableOptionsEntry_DoNotUse::CreateTableExpr_TableOptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void CreateTableExpr_TableOptionsEntry_DoNotUse::MergeFrom(const CreateTableExpr_TableOptionsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata CreateTableExpr_TableOptionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[4]);
}

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

class CreateTableExpr::_Internal {
 public:
  static const ::greptime::v1::TableId& table_id(const CreateTableExpr* msg);
};

const ::greptime::v1::TableId&
CreateTableExpr::_Internal::table_id(const CreateTableExpr* msg) {
  return *msg->_impl_.table_id_;
}
CreateTableExpr::CreateTableExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  if (arena != nullptr && !is_message_owned) {
    arena->OwnCustomDestructor(this, &CreateTableExpr::ArenaDtor);
  }
  // @@protoc_insertion_point(arena_constructor:greptime.v1.CreateTableExpr)
}
CreateTableExpr::CreateTableExpr(const CreateTableExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateTableExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.column_defs_){from._impl_.column_defs_}
    , decltype(_impl_.primary_keys_){from._impl_.primary_keys_}
    , /*decltype(_impl_.table_options_)*/{}
    , decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.desc_){}
    , decltype(_impl_.time_index_){}
    , decltype(_impl_.engine_){}
    , decltype(_impl_.table_id_){nullptr}
    , decltype(_impl_.create_if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.table_options_.MergeFrom(from._impl_.table_options_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schema_name().empty()) {
    _this->_impl_.schema_name_.Set(from._internal_schema_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_table_name().empty()) {
    _this->_impl_.table_name_.Set(from._internal_table_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.desc_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.desc_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_desc().empty()) {
    _this->_impl_.desc_.Set(from._internal_desc(), 
      _this->GetArenaForAllocation());
  }
  _impl_.time_index_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.time_index_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_time_index().empty()) {
    _this->_impl_.time_index_.Set(from._internal_time_index(), 
      _this->GetArenaForAllocation());
  }
  _impl_.engine_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.engine_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_engine().empty()) {
    _this->_impl_.engine_.Set(from._internal_engine(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_table_id()) {
    _this->_impl_.table_id_ = new ::greptime::v1::TableId(*from._impl_.table_id_);
  }
  _this->_impl_.create_if_not_exists_ = from._impl_.create_if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.CreateTableExpr)
}

inline void CreateTableExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.column_defs_){arena}
    , decltype(_impl_.primary_keys_){arena}
    , /*decltype(_impl_.table_options_)*/{::_pbi::ArenaInitialized(), arena}
    , decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.desc_){}
    , decltype(_impl_.time_index_){}
    , decltype(_impl_.engine_){}
    , decltype(_impl_.table_id_){nullptr}
    , decltype(_impl_.create_if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.desc_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.desc_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.time_index_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.time_index_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.engine_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.engine_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void CreateTableExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.column_defs_.~RepeatedPtrField();
  _impl_.primary_keys_.~RepeatedPtrField();
  _impl_.table_options_.Destruct();
  _impl_.table_options_.~MapField();
  _impl_.catalog_name_.Destroy();
  _impl_.schema_name_.Destroy();
  _impl_.table_name_.Destroy();
  _impl_.desc_.Destroy();
  _impl_.time_index_.Destroy();
  _impl_.engine_.Destroy();
  if (this != internal_default_instance()) delete _impl_.table_id_;
}

void CreateTableExpr::ArenaDtor(void* object) {
  CreateTableExpr* _this = reinterpret_cast< CreateTableExpr* >(object);
  _this->_impl_.table_options_.Destruct();
}
void CreateTableExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.column_defs_.Clear();
  _impl_.primary_keys_.Clear();
  _impl_.table_options_.Clear();
  _impl_.catalog_name_.ClearToEmpty();
  _impl_.schema_name_.ClearToEmpty();
  _impl_.table_name_.ClearToEmpty();
  _impl_.desc_.ClearToEmpty();
  _impl_.time_index_.ClearToEmpty();
  _impl_.engine_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.table_id_ != nullptr) {
    delete _impl_.table_id_;
  }
  _impl_.table_id_ = nullptr;
  _impl_.create_if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTableExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.schema_name"));
        } else
          goto handle_unusual;
        continue;
      // string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.table_name"));
        } else
          goto handle_unusual;
        continue;
      // string desc = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_desc();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.desc"));
        } else
          goto handle_unusual;
        continue;
      // repeated .greptime.v1.ColumnDef column_defs = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_column_defs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string time_index = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_time_index();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.time_index"));
        } else
          goto handle_unusual;
        continue;
      // repeated string primary_keys = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_primary_keys();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.primary_keys"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool create_if_not_exists = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.create_if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // map<string, string> table_options = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&_impl_.table_options_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.TableId table_id = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_id(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string engine = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          auto str = _internal_mutable_engine();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTableExpr.engine"));
        } 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* CreateTableExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.CreateTableExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

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

  // repeated .greptime.v1.ColumnDef column_defs = 5;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_column_defs_size()); i < n; i++) {
    const auto& repfield = this->_internal_column_defs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // repeated string primary_keys = 7;
  for (int i = 0, n = this->_internal_primary_keys_size(); i < n; i++) {
    const auto& s = this->_internal_primary_keys(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "greptime.v1.CreateTableExpr.primary_keys");
    target = stream->WriteString(7, s, target);
  }

  // bool create_if_not_exists = 8;
  if (this->_internal_create_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_create_if_not_exists(), target);
  }

  // map<string, string> table_options = 9;
  if (!this->_internal_table_options().empty()) {
    using MapType = ::_pb::Map<std::string, std::string>;
    using WireHelper = CreateTableExpr_TableOptionsEntry_DoNotUse::Funcs;
    const auto& map_field = this->_internal_table_options();
    auto check_utf8 = [](const MapType::value_type& entry) {
      (void)entry;
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        entry.first.data(), static_cast<int>(entry.first.length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "greptime.v1.CreateTableExpr.TableOptionsEntry.key");
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        entry.second.data(), static_cast<int>(entry.second.length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "greptime.v1.CreateTableExpr.TableOptionsEntry.value");
    };

    if (stream->IsSerializationDeterministic() && map_field.size() > 1) {
      for (const auto& entry : ::_pbi::MapSorterPtr<MapType>(map_field)) {
        target = WireHelper::InternalSerialize(9, entry.first, entry.second, target, stream);
        check_utf8(entry);
      }
    } else {
      for (const auto& entry : map_field) {
        target = WireHelper::InternalSerialize(9, entry.first, entry.second, target, stream);
        check_utf8(entry);
      }
    }
  }

  // .greptime.v1.TableId table_id = 10;
  if (this->_internal_has_table_id()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, _Internal::table_id(this),
        _Internal::table_id(this).GetCachedSize(), target, stream);
  }

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

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

size_t CreateTableExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:greptime.v1.CreateTableExpr)
  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 .greptime.v1.ColumnDef column_defs = 5;
  total_size += 1UL * this->_internal_column_defs_size();
  for (const auto& msg : this->_impl_.column_defs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // map<string, string> table_options = 9;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_table_options_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
      it = this->_internal_table_options().begin();
      it != this->_internal_table_options().end(); ++it) {
    total_size += CreateTableExpr_TableOptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // string catalog_name = 1;
  if (!this->_internal_catalog_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_catalog_name());
  }

  // string schema_name = 2;
  if (!this->_internal_schema_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schema_name());
  }

  // string table_name = 3;
  if (!this->_internal_table_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_name());
  }

  // string desc = 4;
  if (!this->_internal_desc().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_desc());
  }

  // string time_index = 6;
  if (!this->_internal_time_index().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_time_index());
  }

  // string engine = 12;
  if (!this->_internal_engine().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_engine());
  }

  // .greptime.v1.TableId table_id = 10;
  if (this->_internal_has_table_id()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.table_id_);
  }

  // bool create_if_not_exists = 8;
  if (this->_internal_create_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

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

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


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

  _this->_impl_.column_defs_.MergeFrom(from._impl_.column_defs_);
  _this->_impl_.primary_keys_.MergeFrom(from._impl_.primary_keys_);
  _this->_impl_.table_options_.MergeFrom(from._impl_.table_options_);
  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_schema_name().empty()) {
    _this->_internal_set_schema_name(from._internal_schema_name());
  }
  if (!from._internal_table_name().empty()) {
    _this->_internal_set_table_name(from._internal_table_name());
  }
  if (!from._internal_desc().empty()) {
    _this->_internal_set_desc(from._internal_desc());
  }
  if (!from._internal_time_index().empty()) {
    _this->_internal_set_time_index(from._internal_time_index());
  }
  if (!from._internal_engine().empty()) {
    _this->_internal_set_engine(from._internal_engine());
  }
  if (from._internal_has_table_id()) {
    _this->_internal_mutable_table_id()->::greptime::v1::TableId::MergeFrom(
        from._internal_table_id());
  }
  if (from._internal_create_if_not_exists() != 0) {
    _this->_internal_set_create_if_not_exists(from._internal_create_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void CreateTableExpr::InternalSwap(CreateTableExpr* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.column_defs_.InternalSwap(&other->_impl_.column_defs_);
  _impl_.primary_keys_.InternalSwap(&other->_impl_.primary_keys_);
  _impl_.table_options_.InternalSwap(&other->_impl_.table_options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schema_name_, lhs_arena,
      &other->_impl_.schema_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.table_name_, lhs_arena,
      &other->_impl_.table_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.desc_, lhs_arena,
      &other->_impl_.desc_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.time_index_, lhs_arena,
      &other->_impl_.time_index_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.engine_, lhs_arena,
      &other->_impl_.engine_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTableExpr, _impl_.create_if_not_exists_)
      + sizeof(CreateTableExpr::_impl_.create_if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateTableExpr, _impl_.table_id_)>(
          reinterpret_cast<char*>(&_impl_.table_id_),
          reinterpret_cast<char*>(&other->_impl_.table_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTableExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[5]);
}

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

class AlterExpr::_Internal {
 public:
  static const ::greptime::v1::AddColumns& add_columns(const AlterExpr* msg);
  static const ::greptime::v1::DropColumns& drop_columns(const AlterExpr* msg);
  static const ::greptime::v1::RenameTable& rename_table(const AlterExpr* msg);
  static const ::greptime::v1::ChangeColumnTypes& change_column_types(const AlterExpr* msg);
};

const ::greptime::v1::AddColumns&
AlterExpr::_Internal::add_columns(const AlterExpr* msg) {
  return *msg->_impl_.kind_.add_columns_;
}
const ::greptime::v1::DropColumns&
AlterExpr::_Internal::drop_columns(const AlterExpr* msg) {
  return *msg->_impl_.kind_.drop_columns_;
}
const ::greptime::v1::RenameTable&
AlterExpr::_Internal::rename_table(const AlterExpr* msg) {
  return *msg->_impl_.kind_.rename_table_;
}
const ::greptime::v1::ChangeColumnTypes&
AlterExpr::_Internal::change_column_types(const AlterExpr* msg) {
  return *msg->_impl_.kind_.change_column_types_;
}
void AlterExpr::set_allocated_add_columns(::greptime::v1::AddColumns* add_columns) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_kind();
  if (add_columns) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(add_columns);
    if (message_arena != submessage_arena) {
      add_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, add_columns, submessage_arena);
    }
    set_has_add_columns();
    _impl_.kind_.add_columns_ = add_columns;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AlterExpr.add_columns)
}
void AlterExpr::set_allocated_drop_columns(::greptime::v1::DropColumns* drop_columns) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_kind();
  if (drop_columns) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(drop_columns);
    if (message_arena != submessage_arena) {
      drop_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_columns, submessage_arena);
    }
    set_has_drop_columns();
    _impl_.kind_.drop_columns_ = drop_columns;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AlterExpr.drop_columns)
}
void AlterExpr::set_allocated_rename_table(::greptime::v1::RenameTable* rename_table) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_kind();
  if (rename_table) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rename_table);
    if (message_arena != submessage_arena) {
      rename_table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rename_table, submessage_arena);
    }
    set_has_rename_table();
    _impl_.kind_.rename_table_ = rename_table;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AlterExpr.rename_table)
}
void AlterExpr::set_allocated_change_column_types(::greptime::v1::ChangeColumnTypes* change_column_types) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_kind();
  if (change_column_types) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(change_column_types);
    if (message_arena != submessage_arena) {
      change_column_types = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, change_column_types, submessage_arena);
    }
    set_has_change_column_types();
    _impl_.kind_.change_column_types_ = change_column_types;
  }
  // @@protoc_insertion_point(field_set_allocated:greptime.v1.AlterExpr.change_column_types)
}
AlterExpr::AlterExpr(::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.AlterExpr)
}
AlterExpr::AlterExpr(const AlterExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.kind_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schema_name().empty()) {
    _this->_impl_.schema_name_.Set(from._internal_schema_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_table_name().empty()) {
    _this->_impl_.table_name_.Set(from._internal_table_name(), 
      _this->GetArenaForAllocation());
  }
  clear_has_kind();
  switch (from.kind_case()) {
    case kAddColumns: {
      _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom(
          from._internal_add_columns());
      break;
    }
    case kDropColumns: {
      _this->_internal_mutable_drop_columns()->::greptime::v1::DropColumns::MergeFrom(
          from._internal_drop_columns());
      break;
    }
    case kRenameTable: {
      _this->_internal_mutable_rename_table()->::greptime::v1::RenameTable::MergeFrom(
          from._internal_rename_table());
      break;
    }
    case kChangeColumnTypes: {
      _this->_internal_mutable_change_column_types()->::greptime::v1::ChangeColumnTypes::MergeFrom(
          from._internal_change_column_types());
      break;
    }
    case KIND_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.AlterExpr)
}

inline void AlterExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.kind_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  clear_has_kind();
}

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

inline void AlterExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.catalog_name_.Destroy();
  _impl_.schema_name_.Destroy();
  _impl_.table_name_.Destroy();
  if (has_kind()) {
    clear_kind();
  }
}

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

void AlterExpr::clear_kind() {
// @@protoc_insertion_point(one_of_clear_start:greptime.v1.AlterExpr)
  switch (kind_case()) {
    case kAddColumns: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.kind_.add_columns_;
      }
      break;
    }
    case kDropColumns: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.kind_.drop_columns_;
      }
      break;
    }
    case kRenameTable: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.kind_.rename_table_;
      }
      break;
    }
    case kChangeColumnTypes: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.kind_.change_column_types_;
      }
      break;
    }
    case KIND_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = KIND_NOT_SET;
}


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

  _impl_.catalog_name_.ClearToEmpty();
  _impl_.schema_name_.ClearToEmpty();
  _impl_.table_name_.ClearToEmpty();
  clear_kind();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.AlterExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.AlterExpr.schema_name"));
        } else
          goto handle_unusual;
        continue;
      // string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.AlterExpr.table_name"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.AddColumns add_columns = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_add_columns(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.DropColumns drop_columns = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_columns(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.RenameTable rename_table = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_rename_table(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ChangeColumnTypes change_column_types = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_change_column_types(), 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* AlterExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.AlterExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

  // .greptime.v1.AddColumns add_columns = 4;
  if (_internal_has_add_columns()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::add_columns(this),
        _Internal::add_columns(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.DropColumns drop_columns = 5;
  if (_internal_has_drop_columns()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::drop_columns(this),
        _Internal::drop_columns(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.RenameTable rename_table = 6;
  if (_internal_has_rename_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::rename_table(this),
        _Internal::rename_table(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.ChangeColumnTypes change_column_types = 7;
  if (_internal_has_change_column_types()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::change_column_types(this),
        _Internal::change_column_types(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.AlterExpr)
  return target;
}

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

  // string schema_name = 2;
  if (!this->_internal_schema_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schema_name());
  }

  // string table_name = 3;
  if (!this->_internal_table_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_name());
  }

  switch (kind_case()) {
    // .greptime.v1.AddColumns add_columns = 4;
    case kAddColumns: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.kind_.add_columns_);
      break;
    }
    // .greptime.v1.DropColumns drop_columns = 5;
    case kDropColumns: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.kind_.drop_columns_);
      break;
    }
    // .greptime.v1.RenameTable rename_table = 6;
    case kRenameTable: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.kind_.rename_table_);
      break;
    }
    // .greptime.v1.ChangeColumnTypes change_column_types = 7;
    case kChangeColumnTypes: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.kind_.change_column_types_);
      break;
    }
    case KIND_NOT_SET: {
      break;
    }
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

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


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

  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_schema_name().empty()) {
    _this->_internal_set_schema_name(from._internal_schema_name());
  }
  if (!from._internal_table_name().empty()) {
    _this->_internal_set_table_name(from._internal_table_name());
  }
  switch (from.kind_case()) {
    case kAddColumns: {
      _this->_internal_mutable_add_columns()->::greptime::v1::AddColumns::MergeFrom(
          from._internal_add_columns());
      break;
    }
    case kDropColumns: {
      _this->_internal_mutable_drop_columns()->::greptime::v1::DropColumns::MergeFrom(
          from._internal_drop_columns());
      break;
    }
    case kRenameTable: {
      _this->_internal_mutable_rename_table()->::greptime::v1::RenameTable::MergeFrom(
          from._internal_rename_table());
      break;
    }
    case kChangeColumnTypes: {
      _this->_internal_mutable_change_column_types()->::greptime::v1::ChangeColumnTypes::MergeFrom(
          from._internal_change_column_types());
      break;
    }
    case KIND_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void AlterExpr::InternalSwap(AlterExpr* 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_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schema_name_, lhs_arena,
      &other->_impl_.schema_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.table_name_, lhs_arena,
      &other->_impl_.table_name_, rhs_arena
  );
  swap(_impl_.kind_, other->_impl_.kind_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[6]);
}

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

class DropTableExpr::_Internal {
 public:
  static const ::greptime::v1::TableId& table_id(const DropTableExpr* msg);
};

const ::greptime::v1::TableId&
DropTableExpr::_Internal::table_id(const DropTableExpr* msg) {
  return *msg->_impl_.table_id_;
}
DropTableExpr::DropTableExpr(::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.DropTableExpr)
}
DropTableExpr::DropTableExpr(const DropTableExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropTableExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.table_id_){nullptr}
    , decltype(_impl_.drop_if_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schema_name().empty()) {
    _this->_impl_.schema_name_.Set(from._internal_schema_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_table_name().empty()) {
    _this->_impl_.table_name_.Set(from._internal_table_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_table_id()) {
    _this->_impl_.table_id_ = new ::greptime::v1::TableId(*from._impl_.table_id_);
  }
  _this->_impl_.drop_if_exists_ = from._impl_.drop_if_exists_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.DropTableExpr)
}

inline void DropTableExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.table_id_){nullptr}
    , decltype(_impl_.drop_if_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void DropTableExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.catalog_name_.Destroy();
  _impl_.schema_name_.Destroy();
  _impl_.table_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.table_id_;
}

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

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

  _impl_.catalog_name_.ClearToEmpty();
  _impl_.schema_name_.ClearToEmpty();
  _impl_.table_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.table_id_ != nullptr) {
    delete _impl_.table_id_;
  }
  _impl_.table_id_ = nullptr;
  _impl_.drop_if_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropTableExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropTableExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropTableExpr.schema_name"));
        } else
          goto handle_unusual;
        continue;
      // string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropTableExpr.table_name"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.TableId table_id = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_id(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool drop_if_exists = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.drop_if_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropTableExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.DropTableExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

  // .greptime.v1.TableId table_id = 4;
  if (this->_internal_has_table_id()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::table_id(this),
        _Internal::table_id(this).GetCachedSize(), target, stream);
  }

  // bool drop_if_exists = 5;
  if (this->_internal_drop_if_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_drop_if_exists(), target);
  }

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

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

  // string schema_name = 2;
  if (!this->_internal_schema_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schema_name());
  }

  // string table_name = 3;
  if (!this->_internal_table_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_name());
  }

  // .greptime.v1.TableId table_id = 4;
  if (this->_internal_has_table_id()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.table_id_);
  }

  // bool drop_if_exists = 5;
  if (this->_internal_drop_if_exists() != 0) {
    total_size += 1 + 1;
  }

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

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


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

  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_schema_name().empty()) {
    _this->_internal_set_schema_name(from._internal_schema_name());
  }
  if (!from._internal_table_name().empty()) {
    _this->_internal_set_table_name(from._internal_table_name());
  }
  if (from._internal_has_table_id()) {
    _this->_internal_mutable_table_id()->::greptime::v1::TableId::MergeFrom(
        from._internal_table_id());
  }
  if (from._internal_drop_if_exists() != 0) {
    _this->_internal_set_drop_if_exists(from._internal_drop_if_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void DropTableExpr::InternalSwap(DropTableExpr* 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_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schema_name_, lhs_arena,
      &other->_impl_.schema_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.table_name_, lhs_arena,
      &other->_impl_.table_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropTableExpr, _impl_.drop_if_exists_)
      + sizeof(DropTableExpr::_impl_.drop_if_exists_)
      - PROTOBUF_FIELD_OFFSET(DropTableExpr, _impl_.table_id_)>(
          reinterpret_cast<char*>(&_impl_.table_id_),
          reinterpret_cast<char*>(&other->_impl_.table_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropTableExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[7]);
}

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

CreateDatabaseExpr_OptionsEntry_DoNotUse::CreateDatabaseExpr_OptionsEntry_DoNotUse() {}
CreateDatabaseExpr_OptionsEntry_DoNotUse::CreateDatabaseExpr_OptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void CreateDatabaseExpr_OptionsEntry_DoNotUse::MergeFrom(const CreateDatabaseExpr_OptionsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata CreateDatabaseExpr_OptionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[8]);
}

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

class CreateDatabaseExpr::_Internal {
 public:
};

CreateDatabaseExpr::CreateDatabaseExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  if (arena != nullptr && !is_message_owned) {
    arena->OwnCustomDestructor(this, &CreateDatabaseExpr::ArenaDtor);
  }
  // @@protoc_insertion_point(arena_constructor:greptime.v1.CreateDatabaseExpr)
}
CreateDatabaseExpr::CreateDatabaseExpr(const CreateDatabaseExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateDatabaseExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      /*decltype(_impl_.options_)*/{}
    , decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.create_if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schema_name().empty()) {
    _this->_impl_.schema_name_.Set(from._internal_schema_name(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.create_if_not_exists_ = from._impl_.create_if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.CreateDatabaseExpr)
}

inline void CreateDatabaseExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena}
    , decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.create_if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void CreateDatabaseExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.Destruct();
  _impl_.options_.~MapField();
  _impl_.catalog_name_.Destroy();
  _impl_.schema_name_.Destroy();
}

void CreateDatabaseExpr::ArenaDtor(void* object) {
  CreateDatabaseExpr* _this = reinterpret_cast< CreateDatabaseExpr* >(object);
  _this->_impl_.options_.Destruct();
}
void CreateDatabaseExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.options_.Clear();
  _impl_.catalog_name_.ClearToEmpty();
  _impl_.schema_name_.ClearToEmpty();
  _impl_.create_if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateDatabaseExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateDatabaseExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateDatabaseExpr.schema_name"));
        } else
          goto handle_unusual;
        continue;
      // bool create_if_not_exists = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.create_if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // map<string, string> options = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&_impl_.options_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(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* CreateDatabaseExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.CreateDatabaseExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

  // bool create_if_not_exists = 3;
  if (this->_internal_create_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_create_if_not_exists(), target);
  }

  // map<string, string> options = 4;
  if (!this->_internal_options().empty()) {
    using MapType = ::_pb::Map<std::string, std::string>;
    using WireHelper = CreateDatabaseExpr_OptionsEntry_DoNotUse::Funcs;
    const auto& map_field = this->_internal_options();
    auto check_utf8 = [](const MapType::value_type& entry) {
      (void)entry;
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        entry.first.data(), static_cast<int>(entry.first.length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "greptime.v1.CreateDatabaseExpr.OptionsEntry.key");
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        entry.second.data(), static_cast<int>(entry.second.length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "greptime.v1.CreateDatabaseExpr.OptionsEntry.value");
    };

    if (stream->IsSerializationDeterministic() && map_field.size() > 1) {
      for (const auto& entry : ::_pbi::MapSorterPtr<MapType>(map_field)) {
        target = WireHelper::InternalSerialize(4, entry.first, entry.second, target, stream);
        check_utf8(entry);
      }
    } else {
      for (const auto& entry : map_field) {
        target = WireHelper::InternalSerialize(4, entry.first, entry.second, target, stream);
        check_utf8(entry);
      }
    }
  }

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

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

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

  // map<string, string> options = 4;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_options_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
      it = this->_internal_options().begin();
      it != this->_internal_options().end(); ++it) {
    total_size += CreateDatabaseExpr_OptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // string catalog_name = 1;
  if (!this->_internal_catalog_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_catalog_name());
  }

  // string schema_name = 2;
  if (!this->_internal_schema_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schema_name());
  }

  // bool create_if_not_exists = 3;
  if (this->_internal_create_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

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

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


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

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_schema_name().empty()) {
    _this->_internal_set_schema_name(from._internal_schema_name());
  }
  if (from._internal_create_if_not_exists() != 0) {
    _this->_internal_set_create_if_not_exists(from._internal_create_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void CreateDatabaseExpr::InternalSwap(CreateDatabaseExpr* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schema_name_, lhs_arena,
      &other->_impl_.schema_name_, rhs_arena
  );
  swap(_impl_.create_if_not_exists_, other->_impl_.create_if_not_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateDatabaseExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[9]);
}

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

class TruncateTableExpr::_Internal {
 public:
  static const ::greptime::v1::TableId& table_id(const TruncateTableExpr* msg);
};

const ::greptime::v1::TableId&
TruncateTableExpr::_Internal::table_id(const TruncateTableExpr* msg) {
  return *msg->_impl_.table_id_;
}
TruncateTableExpr::TruncateTableExpr(::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.TruncateTableExpr)
}
TruncateTableExpr::TruncateTableExpr(const TruncateTableExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TruncateTableExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.table_id_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schema_name().empty()) {
    _this->_impl_.schema_name_.Set(from._internal_schema_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_table_name().empty()) {
    _this->_impl_.table_name_.Set(from._internal_table_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_table_id()) {
    _this->_impl_.table_id_ = new ::greptime::v1::TableId(*from._impl_.table_id_);
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.TruncateTableExpr)
}

inline void TruncateTableExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.table_name_){}
    , decltype(_impl_.table_id_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void TruncateTableExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.catalog_name_.Destroy();
  _impl_.schema_name_.Destroy();
  _impl_.table_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.table_id_;
}

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

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

  _impl_.catalog_name_.ClearToEmpty();
  _impl_.schema_name_.ClearToEmpty();
  _impl_.table_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.table_id_ != nullptr) {
    delete _impl_.table_id_;
  }
  _impl_.table_id_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TruncateTableExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.TruncateTableExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.TruncateTableExpr.schema_name"));
        } else
          goto handle_unusual;
        continue;
      // string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.TruncateTableExpr.table_name"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.TableId table_id = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_id(), 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* TruncateTableExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.TruncateTableExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

  // .greptime.v1.TableId table_id = 4;
  if (this->_internal_has_table_id()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::table_id(this),
        _Internal::table_id(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.TruncateTableExpr)
  return target;
}

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

  // string schema_name = 2;
  if (!this->_internal_schema_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schema_name());
  }

  // string table_name = 3;
  if (!this->_internal_table_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_name());
  }

  // .greptime.v1.TableId table_id = 4;
  if (this->_internal_has_table_id()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.table_id_);
  }

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

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


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

  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_schema_name().empty()) {
    _this->_internal_set_schema_name(from._internal_schema_name());
  }
  if (!from._internal_table_name().empty()) {
    _this->_internal_set_table_name(from._internal_table_name());
  }
  if (from._internal_has_table_id()) {
    _this->_internal_mutable_table_id()->::greptime::v1::TableId::MergeFrom(
        from._internal_table_id());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void TruncateTableExpr::InternalSwap(TruncateTableExpr* 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_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schema_name_, lhs_arena,
      &other->_impl_.schema_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.table_name_, lhs_arena,
      &other->_impl_.table_name_, rhs_arena
  );
  swap(_impl_.table_id_, other->_impl_.table_id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata TruncateTableExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[10]);
}

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

class DropDatabaseExpr::_Internal {
 public:
};

DropDatabaseExpr::DropDatabaseExpr(::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.DropDatabaseExpr)
}
DropDatabaseExpr::DropDatabaseExpr(const DropDatabaseExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropDatabaseExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.drop_if_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalog_name().empty()) {
    _this->_impl_.catalog_name_.Set(from._internal_catalog_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schema_name().empty()) {
    _this->_impl_.schema_name_.Set(from._internal_schema_name(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.drop_if_exists_ = from._impl_.drop_if_exists_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.DropDatabaseExpr)
}

inline void DropDatabaseExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.catalog_name_){}
    , decltype(_impl_.schema_name_){}
    , decltype(_impl_.drop_if_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalog_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalog_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schema_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schema_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void DropDatabaseExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.catalog_name_.Destroy();
  _impl_.schema_name_.Destroy();
}

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

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

  _impl_.catalog_name_.ClearToEmpty();
  _impl_.schema_name_.ClearToEmpty();
  _impl_.drop_if_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropDatabaseExpr::_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 catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropDatabaseExpr.catalog_name"));
        } else
          goto handle_unusual;
        continue;
      // string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropDatabaseExpr.schema_name"));
        } else
          goto handle_unusual;
        continue;
      // bool drop_if_exists = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.drop_if_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropDatabaseExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.DropDatabaseExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

  // bool drop_if_exists = 3;
  if (this->_internal_drop_if_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_drop_if_exists(), target);
  }

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

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

  // string schema_name = 2;
  if (!this->_internal_schema_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schema_name());
  }

  // bool drop_if_exists = 3;
  if (this->_internal_drop_if_exists() != 0) {
    total_size += 1 + 1;
  }

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

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


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

  if (!from._internal_catalog_name().empty()) {
    _this->_internal_set_catalog_name(from._internal_catalog_name());
  }
  if (!from._internal_schema_name().empty()) {
    _this->_internal_set_schema_name(from._internal_schema_name());
  }
  if (from._internal_drop_if_exists() != 0) {
    _this->_internal_set_drop_if_exists(from._internal_drop_if_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void DropDatabaseExpr::InternalSwap(DropDatabaseExpr* 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_.catalog_name_, lhs_arena,
      &other->_impl_.catalog_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schema_name_, lhs_arena,
      &other->_impl_.schema_name_, rhs_arena
  );
  swap(_impl_.drop_if_exists_, other->_impl_.drop_if_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropDatabaseExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[11]);
}

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

class AddColumns::_Internal {
 public:
};

AddColumns::AddColumns(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:greptime.v1.AddColumns)
}
AddColumns::AddColumns(const AddColumns& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AddColumns* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.add_columns_){from._impl_.add_columns_}
    , /*decltype(_impl_._cached_size_)*/{}};

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

inline void AddColumns::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.add_columns_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

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

inline void AddColumns::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.add_columns_.~RepeatedPtrField();
}

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

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

  _impl_.add_columns_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AddColumns::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .greptime.v1.AddColumn add_columns = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_add_columns(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      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* AddColumns::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.AddColumns)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .greptime.v1.AddColumn add_columns = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_add_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_add_columns(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

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

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

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

  // repeated .greptime.v1.AddColumn add_columns = 1;
  total_size += 1UL * this->_internal_add_columns_size();
  for (const auto& msg : this->_impl_.add_columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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


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

  _this->_impl_.add_columns_.MergeFrom(from._impl_.add_columns_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void AddColumns::InternalSwap(AddColumns* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.add_columns_.InternalSwap(&other->_impl_.add_columns_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AddColumns::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[12]);
}

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

class DropColumns::_Internal {
 public:
};

DropColumns::DropColumns(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:greptime.v1.DropColumns)
}
DropColumns::DropColumns(const DropColumns& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropColumns* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.drop_columns_){from._impl_.drop_columns_}
    , /*decltype(_impl_._cached_size_)*/{}};

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

inline void DropColumns::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.drop_columns_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

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

inline void DropColumns::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.drop_columns_.~RepeatedPtrField();
}

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

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

  _impl_.drop_columns_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropColumns::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .greptime.v1.DropColumn drop_columns = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_drop_columns(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      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* DropColumns::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.DropColumns)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .greptime.v1.DropColumn drop_columns = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_drop_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_drop_columns(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

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

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

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

  // repeated .greptime.v1.DropColumn drop_columns = 1;
  total_size += 1UL * this->_internal_drop_columns_size();
  for (const auto& msg : this->_impl_.drop_columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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


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

  _this->_impl_.drop_columns_.MergeFrom(from._impl_.drop_columns_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void DropColumns::InternalSwap(DropColumns* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.drop_columns_.InternalSwap(&other->_impl_.drop_columns_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropColumns::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[13]);
}

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

class ChangeColumnTypes::_Internal {
 public:
};

ChangeColumnTypes::ChangeColumnTypes(::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.ChangeColumnTypes)
}
ChangeColumnTypes::ChangeColumnTypes(const ChangeColumnTypes& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ChangeColumnTypes* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.change_column_types_){from._impl_.change_column_types_}
    , /*decltype(_impl_._cached_size_)*/{}};

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

inline void ChangeColumnTypes::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.change_column_types_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

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

inline void ChangeColumnTypes::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.change_column_types_.~RepeatedPtrField();
}

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

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

  _impl_.change_column_types_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ChangeColumnTypes::_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 .greptime.v1.ChangeColumnType change_column_types = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_change_column_types(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ChangeColumnTypes::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ChangeColumnTypes)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .greptime.v1.ChangeColumnType change_column_types = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_change_column_types_size()); i < n; i++) {
    const auto& repfield = this->_internal_change_column_types(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

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

size_t ChangeColumnTypes::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ChangeColumnTypes)
  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 .greptime.v1.ChangeColumnType change_column_types = 1;
  total_size += 1UL * this->_internal_change_column_types_size();
  for (const auto& msg : this->_impl_.change_column_types_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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


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

  _this->_impl_.change_column_types_.MergeFrom(from._impl_.change_column_types_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void ChangeColumnTypes::InternalSwap(ChangeColumnTypes* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.change_column_types_.InternalSwap(&other->_impl_.change_column_types_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ChangeColumnTypes::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[14]);
}

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

class RenameTable::_Internal {
 public:
};

RenameTable::RenameTable(::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.RenameTable)
}
RenameTable::RenameTable(const RenameTable& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RenameTable* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.new_table_name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.new_table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_new_table_name().empty()) {
    _this->_impl_.new_table_name_.Set(from._internal_new_table_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.RenameTable)
}

inline void RenameTable::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.new_table_name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.new_table_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_table_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void RenameTable::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.new_table_name_.Destroy();
}

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

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

  _impl_.new_table_name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RenameTable::_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 new_table_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_new_table_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.RenameTable.new_table_name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RenameTable::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.RenameTable)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

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

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


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

  if (!from._internal_new_table_name().empty()) {
    _this->_internal_set_new_table_name(from._internal_new_table_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void RenameTable::InternalSwap(RenameTable* 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_.new_table_name_, lhs_arena,
      &other->_impl_.new_table_name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata RenameTable::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[15]);
}

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

class AddColumn::_Internal {
 public:
  static const ::greptime::v1::ColumnDef& column_def(const AddColumn* msg);
  static const ::greptime::v1::AddColumnLocation& location(const AddColumn* msg);
};

const ::greptime::v1::ColumnDef&
AddColumn::_Internal::column_def(const AddColumn* msg) {
  return *msg->_impl_.column_def_;
}
const ::greptime::v1::AddColumnLocation&
AddColumn::_Internal::location(const AddColumn* msg) {
  return *msg->_impl_.location_;
}
AddColumn::AddColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:greptime.v1.AddColumn)
}
AddColumn::AddColumn(const AddColumn& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AddColumn* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.column_def_){nullptr}
    , decltype(_impl_.location_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_column_def()) {
    _this->_impl_.column_def_ = new ::greptime::v1::ColumnDef(*from._impl_.column_def_);
  }
  if (from._internal_has_location()) {
    _this->_impl_.location_ = new ::greptime::v1::AddColumnLocation(*from._impl_.location_);
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.AddColumn)
}

inline void AddColumn::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.column_def_){nullptr}
    , decltype(_impl_.location_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

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

inline void AddColumn::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.column_def_;
  if (this != internal_default_instance()) delete _impl_.location_;
}

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

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

  if (GetArenaForAllocation() == nullptr && _impl_.column_def_ != nullptr) {
    delete _impl_.column_def_;
  }
  _impl_.column_def_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.location_ != nullptr) {
    delete _impl_.location_;
  }
  _impl_.location_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AddColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .greptime.v1.ColumnDef column_def = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_column_def(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.AddColumnLocation location = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_location(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AddColumn::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.AddColumn)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .greptime.v1.ColumnDef column_def = 1;
  if (this->_internal_has_column_def()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::column_def(this),
        _Internal::column_def(this).GetCachedSize(), target, stream);
  }

  // .greptime.v1.AddColumnLocation location = 3;
  if (this->_internal_has_location()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::location(this),
        _Internal::location(this).GetCachedSize(), target, stream);
  }

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

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

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

  // .greptime.v1.ColumnDef column_def = 1;
  if (this->_internal_has_column_def()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.column_def_);
  }

  // .greptime.v1.AddColumnLocation location = 3;
  if (this->_internal_has_location()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.location_);
  }

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

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


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

  if (from._internal_has_column_def()) {
    _this->_internal_mutable_column_def()->::greptime::v1::ColumnDef::MergeFrom(
        from._internal_column_def());
  }
  if (from._internal_has_location()) {
    _this->_internal_mutable_location()->::greptime::v1::AddColumnLocation::MergeFrom(
        from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void AddColumn::InternalSwap(AddColumn* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.location_)
      + sizeof(AddColumn::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(AddColumn, _impl_.column_def_)>(
          reinterpret_cast<char*>(&_impl_.column_def_),
          reinterpret_cast<char*>(&other->_impl_.column_def_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AddColumn::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[16]);
}

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

class ChangeColumnType::_Internal {
 public:
  static const ::greptime::v1::ColumnDataTypeExtension& target_type_extension(const ChangeColumnType* msg);
};

const ::greptime::v1::ColumnDataTypeExtension&
ChangeColumnType::_Internal::target_type_extension(const ChangeColumnType* msg) {
  return *msg->_impl_.target_type_extension_;
}
void ChangeColumnType::clear_target_type_extension() {
  if (GetArenaForAllocation() == nullptr && _impl_.target_type_extension_ != nullptr) {
    delete _impl_.target_type_extension_;
  }
  _impl_.target_type_extension_ = nullptr;
}
ChangeColumnType::ChangeColumnType(::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.ChangeColumnType)
}
ChangeColumnType::ChangeColumnType(const ChangeColumnType& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ChangeColumnType* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.column_name_){}
    , decltype(_impl_.target_type_extension_){nullptr}
    , decltype(_impl_.target_type_){}
    , /*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());
  }
  if (from._internal_has_target_type_extension()) {
    _this->_impl_.target_type_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.target_type_extension_);
  }
  _this->_impl_.target_type_ = from._impl_.target_type_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.ChangeColumnType)
}

inline void ChangeColumnType::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.column_name_){}
    , decltype(_impl_.target_type_extension_){nullptr}
    , decltype(_impl_.target_type_){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
}

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

inline void ChangeColumnType::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.column_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.target_type_extension_;
}

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

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

  _impl_.column_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.target_type_extension_ != nullptr) {
    delete _impl_.target_type_extension_;
  }
  _impl_.target_type_extension_ = nullptr;
  _impl_.target_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ChangeColumnType::_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.ChangeColumnType.column_name"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnDataType target_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_target_type(static_cast<::greptime::v1::ColumnDataType>(val));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnDataTypeExtension target_type_extension = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_target_type_extension(), 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* ChangeColumnType::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ChangeColumnType)
  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.ChangeColumnType.column_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_column_name(), target);
  }

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

  // .greptime.v1.ColumnDataTypeExtension target_type_extension = 3;
  if (this->_internal_has_target_type_extension()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::target_type_extension(this),
        _Internal::target_type_extension(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.ChangeColumnType)
  return target;
}

size_t ChangeColumnType::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:greptime.v1.ChangeColumnType)
  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());
  }

  // .greptime.v1.ColumnDataTypeExtension target_type_extension = 3;
  if (this->_internal_has_target_type_extension()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.target_type_extension_);
  }

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

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

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


void ChangeColumnType::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ChangeColumnType*>(&to_msg);
  auto& from = static_cast<const ChangeColumnType&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:greptime.v1.ChangeColumnType)
  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_has_target_type_extension()) {
    _this->_internal_mutable_target_type_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom(
        from._internal_target_type_extension());
  }
  if (from._internal_target_type() != 0) {
    _this->_internal_set_target_type(from._internal_target_type());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void ChangeColumnType::InternalSwap(ChangeColumnType* 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::memswap<
      PROTOBUF_FIELD_OFFSET(ChangeColumnType, _impl_.target_type_)
      + sizeof(ChangeColumnType::_impl_.target_type_)
      - PROTOBUF_FIELD_OFFSET(ChangeColumnType, _impl_.target_type_extension_)>(
          reinterpret_cast<char*>(&_impl_.target_type_extension_),
          reinterpret_cast<char*>(&other->_impl_.target_type_extension_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ChangeColumnType::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[17]);
}

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

class DropColumn::_Internal {
 public:
};

DropColumn::DropColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:greptime.v1.DropColumn)
}
DropColumn::DropColumn(const DropColumn& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropColumn* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:greptime.v1.DropColumn)
}

inline void DropColumn::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void DropColumn::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
}

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

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

  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropColumn::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.DropColumn.name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropColumn::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.DropColumn)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

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

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

  // string name = 1;
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

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

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


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

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void DropColumn::InternalSwap(DropColumn* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata DropColumn::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[18]);
}

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

class TableId::_Internal {
 public:
};

TableId::TableId(::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.TableId)
}
TableId::TableId(const TableId& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TableId* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.id_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.id_ = from._impl_.id_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.TableId)
}

inline void TableId::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.id_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

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

inline void TableId::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

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

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

  _impl_.id_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableId::_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) {
      // uint32 id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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* TableId::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.TableId)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 id = 1;
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_id(), target);
  }

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

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

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

  // uint32 id = 1;
  if (this->_internal_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id());
  }

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

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


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

  if (from._internal_id() != 0) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void TableId::InternalSwap(TableId* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.id_, other->_impl_.id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata TableId::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[19]);
}

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

class ColumnDef::_Internal {
 public:
  static const ::greptime::v1::ColumnDataTypeExtension& datatype_extension(const ColumnDef* msg);
};

const ::greptime::v1::ColumnDataTypeExtension&
ColumnDef::_Internal::datatype_extension(const ColumnDef* msg) {
  return *msg->_impl_.datatype_extension_;
}
void ColumnDef::clear_datatype_extension() {
  if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) {
    delete _impl_.datatype_extension_;
  }
  _impl_.datatype_extension_ = nullptr;
}
ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:greptime.v1.ColumnDef)
}
ColumnDef::ColumnDef(const ColumnDef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ColumnDef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.default_constraint_){}
    , decltype(_impl_.comment_){}
    , decltype(_impl_.datatype_extension_){nullptr}
    , decltype(_impl_.data_type_){}
    , decltype(_impl_.is_nullable_){}
    , decltype(_impl_.semantic_type_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.default_constraint_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.default_constraint_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_default_constraint().empty()) {
    _this->_impl_.default_constraint_.Set(from._internal_default_constraint(), 
      _this->GetArenaForAllocation());
  }
  _impl_.comment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.comment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_comment().empty()) {
    _this->_impl_.comment_.Set(from._internal_comment(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_datatype_extension()) {
    _this->_impl_.datatype_extension_ = new ::greptime::v1::ColumnDataTypeExtension(*from._impl_.datatype_extension_);
  }
  ::memcpy(&_impl_.data_type_, &from._impl_.data_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.semantic_type_) -
    reinterpret_cast<char*>(&_impl_.data_type_)) + sizeof(_impl_.semantic_type_));
  // @@protoc_insertion_point(copy_constructor:greptime.v1.ColumnDef)
}

inline void ColumnDef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.default_constraint_){}
    , decltype(_impl_.comment_){}
    , decltype(_impl_.datatype_extension_){nullptr}
    , decltype(_impl_.data_type_){0}
    , decltype(_impl_.is_nullable_){false}
    , decltype(_impl_.semantic_type_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.default_constraint_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.default_constraint_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.comment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.comment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void ColumnDef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  _impl_.default_constraint_.Destroy();
  _impl_.comment_.Destroy();
  if (this != internal_default_instance()) delete _impl_.datatype_extension_;
}

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

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

  _impl_.name_.ClearToEmpty();
  _impl_.default_constraint_.ClearToEmpty();
  _impl_.comment_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.datatype_extension_ != nullptr) {
    delete _impl_.datatype_extension_;
  }
  _impl_.datatype_extension_ = nullptr;
  ::memset(&_impl_.data_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.semantic_type_) -
      reinterpret_cast<char*>(&_impl_.data_type_)) + sizeof(_impl_.semantic_type_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.ColumnDef.name"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnDataType data_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_data_type(static_cast<::greptime::v1::ColumnDataType>(val));
        } else
          goto handle_unusual;
        continue;
      // bool is_nullable = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.is_nullable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bytes default_constraint = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_default_constraint();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.SemanticType semantic_type = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_semantic_type(static_cast<::greptime::v1::SemanticType>(val));
        } else
          goto handle_unusual;
        continue;
      // string comment = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_comment();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.ColumnDef.comment"));
        } else
          goto handle_unusual;
        continue;
      // .greptime.v1.ColumnDataTypeExtension datatype_extension = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_datatype_extension(), 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* ColumnDef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.ColumnDef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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

  // bool is_nullable = 3;
  if (this->_internal_is_nullable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_nullable(), target);
  }

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

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

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

  // .greptime.v1.ColumnDataTypeExtension datatype_extension = 7;
  if (this->_internal_has_datatype_extension()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::datatype_extension(this),
        _Internal::datatype_extension(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.ColumnDef)
  return target;
}

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

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

  // string name = 1;
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

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

  // string comment = 6;
  if (!this->_internal_comment().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_comment());
  }

  // .greptime.v1.ColumnDataTypeExtension datatype_extension = 7;
  if (this->_internal_has_datatype_extension()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.datatype_extension_);
  }

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

  // bool is_nullable = 3;
  if (this->_internal_is_nullable() != 0) {
    total_size += 1 + 1;
  }

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

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

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


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

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_default_constraint().empty()) {
    _this->_internal_set_default_constraint(from._internal_default_constraint());
  }
  if (!from._internal_comment().empty()) {
    _this->_internal_set_comment(from._internal_comment());
  }
  if (from._internal_has_datatype_extension()) {
    _this->_internal_mutable_datatype_extension()->::greptime::v1::ColumnDataTypeExtension::MergeFrom(
        from._internal_datatype_extension());
  }
  if (from._internal_data_type() != 0) {
    _this->_internal_set_data_type(from._internal_data_type());
  }
  if (from._internal_is_nullable() != 0) {
    _this->_internal_set_is_nullable(from._internal_is_nullable());
  }
  if (from._internal_semantic_type() != 0) {
    _this->_internal_set_semantic_type(from._internal_semantic_type());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void ColumnDef::InternalSwap(ColumnDef* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.default_constraint_, lhs_arena,
      &other->_impl_.default_constraint_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.comment_, lhs_arena,
      &other->_impl_.comment_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.semantic_type_)
      + sizeof(ColumnDef::_impl_.semantic_type_)
      - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.datatype_extension_)>(
          reinterpret_cast<char*>(&_impl_.datatype_extension_),
          reinterpret_cast<char*>(&other->_impl_.datatype_extension_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[20]);
}

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

class AddColumnLocation::_Internal {
 public:
};

AddColumnLocation::AddColumnLocation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:greptime.v1.AddColumnLocation)
}
AddColumnLocation::AddColumnLocation(const AddColumnLocation& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AddColumnLocation* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.after_column_name_){}
    , decltype(_impl_.location_type_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.after_column_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.after_column_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_after_column_name().empty()) {
    _this->_impl_.after_column_name_.Set(from._internal_after_column_name(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.location_type_ = from._impl_.location_type_;
  // @@protoc_insertion_point(copy_constructor:greptime.v1.AddColumnLocation)
}

inline void AddColumnLocation::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.after_column_name_){}
    , decltype(_impl_.location_type_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.after_column_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.after_column_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

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

inline void AddColumnLocation::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.after_column_name_.Destroy();
}

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

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

  _impl_.after_column_name_.ClearToEmpty();
  _impl_.location_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AddColumnLocation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_location_type(static_cast<::greptime::v1::AddColumnLocation_LocationType>(val));
        } else
          goto handle_unusual;
        continue;
      // string after_column_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_after_column_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.AddColumnLocation.after_column_name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AddColumnLocation::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:greptime.v1.AddColumnLocation)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
  if (this->_internal_location_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_location_type(), target);
  }

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

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

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

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

  // string after_column_name = 2;
  if (!this->_internal_after_column_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_after_column_name());
  }

  // .greptime.v1.AddColumnLocation.LocationType location_type = 1;
  if (this->_internal_location_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_location_type());
  }

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

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


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

  if (!from._internal_after_column_name().empty()) {
    _this->_internal_set_after_column_name(from._internal_after_column_name());
  }
  if (from._internal_location_type() != 0) {
    _this->_internal_set_location_type(from._internal_location_type());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void AddColumnLocation::InternalSwap(AddColumnLocation* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.after_column_name_, lhs_arena,
      &other->_impl_.after_column_name_, rhs_arena
  );
  swap(_impl_.location_type_, other->_impl_.location_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AddColumnLocation::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_greptime_2fv1_2fddl_2eproto_getter, &descriptor_table_greptime_2fv1_2fddl_2eproto_once,
      file_level_metadata_greptime_2fv1_2fddl_2eproto[21]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace greptime
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::greptime::v1::DdlRequest*
Arena::CreateMaybeMessage< ::greptime::v1::DdlRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::DdlRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse*
Arena::CreateMaybeMessage< ::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::CreateFlowTaskExpr*
Arena::CreateMaybeMessage< ::greptime::v1::CreateFlowTaskExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::CreateFlowTaskExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::DropFlowTaskExpr*
Arena::CreateMaybeMessage< ::greptime::v1::DropFlowTaskExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::DropFlowTaskExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse*
Arena::CreateMaybeMessage< ::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::CreateTableExpr*
Arena::CreateMaybeMessage< ::greptime::v1::CreateTableExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::CreateTableExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::AlterExpr*
Arena::CreateMaybeMessage< ::greptime::v1::AlterExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::AlterExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::DropTableExpr*
Arena::CreateMaybeMessage< ::greptime::v1::DropTableExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::DropTableExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse*
Arena::CreateMaybeMessage< ::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::CreateDatabaseExpr*
Arena::CreateMaybeMessage< ::greptime::v1::CreateDatabaseExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::CreateDatabaseExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::TruncateTableExpr*
Arena::CreateMaybeMessage< ::greptime::v1::TruncateTableExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::TruncateTableExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::DropDatabaseExpr*
Arena::CreateMaybeMessage< ::greptime::v1::DropDatabaseExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::DropDatabaseExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumns*
Arena::CreateMaybeMessage< ::greptime::v1::AddColumns >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::AddColumns >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::DropColumns*
Arena::CreateMaybeMessage< ::greptime::v1::DropColumns >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::DropColumns >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::ChangeColumnTypes*
Arena::CreateMaybeMessage< ::greptime::v1::ChangeColumnTypes >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::ChangeColumnTypes >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::RenameTable*
Arena::CreateMaybeMessage< ::greptime::v1::RenameTable >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::RenameTable >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumn*
Arena::CreateMaybeMessage< ::greptime::v1::AddColumn >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::AddColumn >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::ChangeColumnType*
Arena::CreateMaybeMessage< ::greptime::v1::ChangeColumnType >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::ChangeColumnType >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::DropColumn*
Arena::CreateMaybeMessage< ::greptime::v1::DropColumn >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::DropColumn >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::TableId*
Arena::CreateMaybeMessage< ::greptime::v1::TableId >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::TableId >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::ColumnDef*
Arena::CreateMaybeMessage< ::greptime::v1::ColumnDef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::ColumnDef >(arena);
}
template<> PROTOBUF_NOINLINE ::greptime::v1::AddColumnLocation*
Arena::CreateMaybeMessage< ::greptime::v1::AddColumnLocation >(Arena* arena) {
  return Arena::CreateMessageInternal< ::greptime::v1::AddColumnLocation >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

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