feat: add IF EXISTS for DROP (#123)

* feat: add IF EXISTS for DROP

For https://github.com/GreptimeTeam/greptimedb/issues/2794

* generate code

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

---------

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
Co-authored-by: Ruihang Xia <waynestxia@gmail.com>
This commit is contained in:
Junfan Zhang
2023-11-24 16:40:12 +08:00
committed by GitHub
parent 2b3ae45740
commit 2aaee38de8
6 changed files with 323 additions and 175 deletions
+79 -45
View File
@@ -93,6 +93,7 @@ PROTOBUF_CONSTEXPR DropTableExpr::DropTableExpr(
, /*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()
@@ -326,6 +327,7 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI
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_
@@ -426,17 +428,17 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
{ 22, -1, -1, sizeof(::greptime::v1::CreateTableExpr)},
{ 39, -1, -1, sizeof(::greptime::v1::AlterExpr)},
{ 52, -1, -1, sizeof(::greptime::v1::DropTableExpr)},
{ 62, 70, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)},
{ 72, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)},
{ 81, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)},
{ 91, -1, -1, sizeof(::greptime::v1::AddColumns)},
{ 98, -1, -1, sizeof(::greptime::v1::DropColumns)},
{ 105, -1, -1, sizeof(::greptime::v1::RenameTable)},
{ 112, -1, -1, sizeof(::greptime::v1::AddColumn)},
{ 120, -1, -1, sizeof(::greptime::v1::DropColumn)},
{ 127, -1, -1, sizeof(::greptime::v1::TableId)},
{ 134, -1, -1, sizeof(::greptime::v1::ColumnDef)},
{ 147, -1, -1, sizeof(::greptime::v1::AddColumnLocation)},
{ 63, 71, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)},
{ 73, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)},
{ 82, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)},
{ 92, -1, -1, sizeof(::greptime::v1::AddColumns)},
{ 99, -1, -1, sizeof(::greptime::v1::DropColumns)},
{ 106, -1, -1, sizeof(::greptime::v1::RenameTable)},
{ 113, -1, -1, sizeof(::greptime::v1::AddColumn)},
{ 121, -1, -1, sizeof(::greptime::v1::DropColumn)},
{ 128, -1, -1, sizeof(::greptime::v1::TableId)},
{ 135, -1, -1, sizeof(::greptime::v1::ColumnDef)},
{ 148, -1, -1, sizeof(::greptime::v1::AddColumnLocation)},
};
static const ::_pb::Message* const file_default_instances[] = {
@@ -483,45 +485,46 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT
"2\027.greptime.v1.AddColumnsH\000\0220\n\014drop_colu"
"mns\030\005 \001(\0132\030.greptime.v1.DropColumnsH\000\0220\n"
"\014rename_table\030\006 \001(\0132\030.greptime.v1.Rename"
"TableH\000B\006\n\004kind\"v\n\rDropTableExpr\022\024\n\014cata"
"log_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\nt"
"able_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.grep"
"time.v1.TableId\"\270\001\n\022CreateDatabaseExpr\022\025"
"\n\rdatabase_name\030\001 \001(\t\022\034\n\024create_if_not_e"
"xists\030\002 \001(\010\022=\n\007options\030\003 \003(\0132,.greptime."
"v1.CreateDatabaseExpr.OptionsEntry\032.\n\014Op"
"tionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\002"
"8\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.T"
"ableId\"9\n\nAddColumns\022+\n\013add_columns\030\001 \003("
"\0132\026.greptime.v1.AddColumn\"<\n\013DropColumns"
"\022-\n\014drop_columns\030\001 \003(\0132\027.greptime.v1.Dro"
"pColumn\"%\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\"\032\n\nDro"
"pColumn\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.ColumnDataType"
"\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_constra"
"int\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162\031.grept"
"ime.v1.SemanticType\022\017\n\007comment\030\006 \001(\t\022@\n\022"
"datatype_extension\030\007 \001(\0132$.greptime.v1.C"
"olumnDataTypeExtension\"\230\001\n\021AddColumnLoca"
"tion\022B\n\rlocation_type\030\001 \001(\0162+.greptime.v"
"1.AddColumnLocation.LocationType\022\031\n\021afte"
"r_column_name\030\002 \001(\t\"$\n\014LocationType\022\t\n\005F"
"IRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v1B\003Ddl"
"Z5github.com/GreptimeTeam/greptime-proto"
"/go/greptime/v1b\006proto3"
"TableH\000B\006\n\004kind\"\216\001\n\rDropTableExpr\022\024\n\014cat"
"alog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\n"
"table_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.gre"
"ptime.v1.TableId\022\026\n\016drop_if_exists\030\005 \001(\010"
"\"\270\001\n\022CreateDatabaseExpr\022\025\n\rdatabase_name"
"\030\001 \001(\t\022\034\n\024create_if_not_exists\030\002 \001(\010\022=\n\007"
"options\030\003 \003(\0132,.greptime.v1.CreateDataba"
"seExpr.OptionsEntry\032.\n\014OptionsEntry\022\013\n\003k"
"ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"z\n\021TruncateT"
"ableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema"
"_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010table"
"_id\030\004 \001(\0132\024.greptime.v1.TableId\"9\n\nAddCo"
"lumns\022+\n\013add_columns\030\001 \003(\0132\026.greptime.v1"
".AddColumn\"<\n\013DropColumns\022-\n\014drop_column"
"s\030\001 \003(\0132\027.greptime.v1.DropColumn\"%\n\013Rena"
"meTable\022\026\n\016new_table_name\030\001 \001(\t\"i\n\tAddCo"
"lumn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.C"
"olumnDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1"
".AddColumnLocation\"\032\n\nDropColumn\022\014\n\004name"
"\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\377\001\n\tColumn"
"Def\022\014\n\004name\030\001 \001(\t\022.\n\tdata_type\030\002 \001(\0162\033.g"
"reptime.v1.ColumnDataType\022\023\n\013is_nullable"
"\030\003 \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rse"
"mantic_type\030\005 \001(\0162\031.greptime.v1.Semantic"
"Type\022\017\n\007comment\030\006 \001(\t\022@\n\022datatype_extens"
"ion\030\007 \001(\0132$.greptime.v1.ColumnDataTypeEx"
"tension\"\230\001\n\021AddColumnLocation\022B\n\rlocatio"
"n_type\030\001 \001(\0162+.greptime.v1.AddColumnLoca"
"tion.LocationType\022\031\n\021after_column_name\030\002"
" \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER"
"\020\001BL\n\016io.greptime.v1B\003DdlZ5github.com/Gr"
"eptimeTeam/greptime-proto/go/greptime/v1"
"b\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, 2223, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
false, false, 2248, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto,
"greptime/v1/ddl.proto",
&descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 1, 16,
schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets,
@@ -2258,6 +2261,7 @@ DropTableExpr::DropTableExpr(const DropTableExpr& from)
, 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_);
@@ -2288,6 +2292,7 @@ DropTableExpr::DropTableExpr(const DropTableExpr& from)
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)
}
@@ -2300,6 +2305,7 @@ inline void DropTableExpr::SharedCtor(
, 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();
@@ -2350,6 +2356,7 @@ void DropTableExpr::Clear() {
delete _impl_.table_id_;
}
_impl_.table_id_ = nullptr;
_impl_.drop_if_exists_ = false;
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
@@ -2397,6 +2404,14 @@ const char* DropTableExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext*
} 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
@@ -2463,6 +2478,12 @@ uint8_t* DropTableExpr::_InternalSerialize(
_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);
@@ -2507,6 +2528,11 @@ size_t DropTableExpr::ByteSizeLong() const {
*_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_);
}
@@ -2538,6 +2564,9 @@ void DropTableExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::
_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_);
}
@@ -2569,7 +2598,12 @@ void DropTableExpr::InternalSwap(DropTableExpr* other) {
&_impl_.table_name_, lhs_arena,
&other->_impl_.table_name_, rhs_arena
);
swap(_impl_.table_id_, other->_impl_.table_id_);
::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 {
+31
View File
@@ -1166,6 +1166,7 @@ class DropTableExpr final :
kSchemaNameFieldNumber = 2,
kTableNameFieldNumber = 3,
kTableIdFieldNumber = 4,
kDropIfExistsFieldNumber = 5,
};
// string catalog_name = 1;
void clear_catalog_name();
@@ -1227,6 +1228,15 @@ class DropTableExpr final :
::greptime::v1::TableId* table_id);
::greptime::v1::TableId* unsafe_arena_release_table_id();
// bool drop_if_exists = 5;
void clear_drop_if_exists();
bool drop_if_exists() const;
void set_drop_if_exists(bool value);
private:
bool _internal_drop_if_exists() const;
void _internal_set_drop_if_exists(bool value);
public:
// @@protoc_insertion_point(class_scope:greptime.v1.DropTableExpr)
private:
class _Internal;
@@ -1239,6 +1249,7 @@ class DropTableExpr final :
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr schema_name_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_;
::greptime::v1::TableId* table_id_;
bool drop_if_exists_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
};
union { Impl_ _impl_; };
@@ -4623,6 +4634,26 @@ inline void DropTableExpr::set_allocated_table_id(::greptime::v1::TableId* table
// @@protoc_insertion_point(field_set_allocated:greptime.v1.DropTableExpr.table_id)
}
// bool drop_if_exists = 5;
inline void DropTableExpr::clear_drop_if_exists() {
_impl_.drop_if_exists_ = false;
}
inline bool DropTableExpr::_internal_drop_if_exists() const {
return _impl_.drop_if_exists_;
}
inline bool DropTableExpr::drop_if_exists() const {
// @@protoc_insertion_point(field_get:greptime.v1.DropTableExpr.drop_if_exists)
return _internal_drop_if_exists();
}
inline void DropTableExpr::_internal_set_drop_if_exists(bool value) {
_impl_.drop_if_exists_ = value;
}
inline void DropTableExpr::set_drop_if_exists(bool value) {
_internal_set_drop_if_exists(value);
// @@protoc_insertion_point(field_set:greptime.v1.DropTableExpr.drop_if_exists)
}
// -------------------------------------------------------------------
// -------------------------------------------------------------------
+105 -95
View File
@@ -458,10 +458,11 @@ type DropTableExpr struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CatalogName string `protobuf:"bytes,1,opt,name=catalog_name,json=catalogName,proto3" json:"catalog_name,omitempty"`
SchemaName string `protobuf:"bytes,2,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"`
TableName string `protobuf:"bytes,3,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
TableId *TableId `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
CatalogName string `protobuf:"bytes,1,opt,name=catalog_name,json=catalogName,proto3" json:"catalog_name,omitempty"`
SchemaName string `protobuf:"bytes,2,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"`
TableName string `protobuf:"bytes,3,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
TableId *TableId `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
DropIfExists bool `protobuf:"varint,5,opt,name=drop_if_exists,json=dropIfExists,proto3" json:"drop_if_exists,omitempty"`
}
func (x *DropTableExpr) Reset() {
@@ -524,6 +525,13 @@ func (x *DropTableExpr) GetTableId() *TableId {
return nil
}
func (x *DropTableExpr) GetDropIfExists() bool {
if x != nil {
return x.DropIfExists
}
return false
}
type CreateDatabaseExpr struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1180,7 +1188,7 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0b,
0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b,
0x69, 0x6e, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c,
0x69, 0x6e, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c,
0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74,
0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65,
@@ -1190,96 +1198,98 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{
0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65,
0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64,
0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x12, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72,
0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74,
0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61,
0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a,
0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x54,
0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72,
0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62,
0x6c, 0x65, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52,
0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x44,
0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x72,
0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44,
0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43,
0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62,
0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e,
0x65, 0x77, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x09, 0x41,
0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75,
0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12,
0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x0a, 0x44,
0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a,
0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6c,
0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61,
0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75,
0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61,
0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c,
0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72,
0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72,
0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74,
0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63,
0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x53,
0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65,
0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44,
0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61,
0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c,
0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54,
0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a,
0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42,
0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72,
0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f,
0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f,
0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22,
0xee, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61,
0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64,
0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69,
0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0xa7, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62,
0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f,
0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61,
0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61,
0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62,
0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72,
0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49,
0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x0a, 0x41, 0x64,
0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f,
0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43,
0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
0x73, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52,
0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x33, 0x0a, 0x0b,
0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e,
0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
0x65, 0x22, 0x7e, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x35,
0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75,
0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd8,
0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65,
0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73,
0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65,
0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65,
0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d,
0x6d, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65,
0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74,
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x41, 0x64,
0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66,
0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a,
0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a,
0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45,
0x52, 0x10, 0x01, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54,
0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76,
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
+105 -33
View File
@@ -5862,6 +5862,12 @@ java.lang.String defaultValue);
* <code>.greptime.v1.TableId table_id = 4;</code>
*/
io.greptime.v1.Ddl.TableIdOrBuilder getTableIdOrBuilder();
/**
* <code>bool drop_if_exists = 5;</code>
* @return The dropIfExists.
*/
boolean getDropIfExists();
}
/**
* Protobuf type {@code greptime.v1.DropTableExpr}
@@ -5942,6 +5948,11 @@ java.lang.String defaultValue);
break;
}
case 40: {
dropIfExists_ = input.readBool();
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
@@ -6116,6 +6127,17 @@ java.lang.String defaultValue);
return getTableId();
}
public static final int DROP_IF_EXISTS_FIELD_NUMBER = 5;
private boolean dropIfExists_;
/**
* <code>bool drop_if_exists = 5;</code>
* @return The dropIfExists.
*/
@java.lang.Override
public boolean getDropIfExists() {
return dropIfExists_;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@@ -6142,6 +6164,9 @@ java.lang.String defaultValue);
if (tableId_ != null) {
output.writeMessage(4, getTableId());
}
if (dropIfExists_ != false) {
output.writeBool(5, dropIfExists_);
}
unknownFields.writeTo(output);
}
@@ -6164,6 +6189,10 @@ java.lang.String defaultValue);
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(4, getTableId());
}
if (dropIfExists_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(5, dropIfExists_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -6190,6 +6219,8 @@ java.lang.String defaultValue);
if (!getTableId()
.equals(other.getTableId())) return false;
}
if (getDropIfExists()
!= other.getDropIfExists()) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -6211,6 +6242,9 @@ java.lang.String defaultValue);
hash = (37 * hash) + TABLE_ID_FIELD_NUMBER;
hash = (53 * hash) + getTableId().hashCode();
}
hash = (37 * hash) + DROP_IF_EXISTS_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getDropIfExists());
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -6356,6 +6390,8 @@ java.lang.String defaultValue);
tableId_ = null;
tableIdBuilder_ = null;
}
dropIfExists_ = false;
return this;
}
@@ -6390,6 +6426,7 @@ java.lang.String defaultValue);
} else {
result.tableId_ = tableIdBuilder_.build();
}
result.dropIfExists_ = dropIfExists_;
onBuilt();
return result;
}
@@ -6453,6 +6490,9 @@ java.lang.String defaultValue);
if (other.hasTableId()) {
mergeTableId(other.getTableId());
}
if (other.getDropIfExists() != false) {
setDropIfExists(other.getDropIfExists());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -6828,6 +6868,37 @@ java.lang.String defaultValue);
}
return tableIdBuilder_;
}
private boolean dropIfExists_ ;
/**
* <code>bool drop_if_exists = 5;</code>
* @return The dropIfExists.
*/
@java.lang.Override
public boolean getDropIfExists() {
return dropIfExists_;
}
/**
* <code>bool drop_if_exists = 5;</code>
* @param value The dropIfExists to set.
* @return This builder for chaining.
*/
public Builder setDropIfExists(boolean value) {
dropIfExists_ = value;
onChanged();
return this;
}
/**
* <code>bool drop_if_exists = 5;</code>
* @return This builder for chaining.
*/
public Builder clearDropIfExists() {
dropIfExists_ = false;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@@ -15206,38 +15277,39 @@ java.lang.String defaultValue);
"2\027.greptime.v1.AddColumnsH\000\0220\n\014drop_colu" +
"mns\030\005 \001(\0132\030.greptime.v1.DropColumnsH\000\0220\n" +
"\014rename_table\030\006 \001(\0132\030.greptime.v1.Rename" +
"TableH\000B\006\n\004kind\"v\n\rDropTableExpr\022\024\n\014cata" +
"log_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\nt" +
"able_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.grep" +
"time.v1.TableId\"\270\001\n\022CreateDatabaseExpr\022\025" +
"\n\rdatabase_name\030\001 \001(\t\022\034\n\024create_if_not_e" +
"xists\030\002 \001(\010\022=\n\007options\030\003 \003(\0132,.greptime." +
"v1.CreateDatabaseExpr.OptionsEntry\032.\n\014Op" +
"tionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\002" +
"8\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.T" +
"ableId\"9\n\nAddColumns\022+\n\013add_columns\030\001 \003(" +
"\0132\026.greptime.v1.AddColumn\"<\n\013DropColumns" +
"\022-\n\014drop_columns\030\001 \003(\0132\027.greptime.v1.Dro" +
"pColumn\"%\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\"\032\n\nDro" +
"pColumn\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.ColumnDataType" +
"\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_constra" +
"int\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162\031.grept" +
"ime.v1.SemanticType\022\017\n\007comment\030\006 \001(\t\022@\n\022" +
"datatype_extension\030\007 \001(\0132$.greptime.v1.C" +
"olumnDataTypeExtension\"\230\001\n\021AddColumnLoca" +
"tion\022B\n\rlocation_type\030\001 \001(\0162+.greptime.v" +
"1.AddColumnLocation.LocationType\022\031\n\021afte" +
"r_column_name\030\002 \001(\t\"$\n\014LocationType\022\t\n\005F" +
"IRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.greptime.v1B\003Ddl" +
"Z5github.com/GreptimeTeam/greptime-proto" +
"/go/greptime/v1b\006proto3"
"TableH\000B\006\n\004kind\"\216\001\n\rDropTableExpr\022\024\n\014cat" +
"alog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\n" +
"table_name\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.gre" +
"ptime.v1.TableId\022\026\n\016drop_if_exists\030\005 \001(\010" +
"\"\270\001\n\022CreateDatabaseExpr\022\025\n\rdatabase_name" +
"\030\001 \001(\t\022\034\n\024create_if_not_exists\030\002 \001(\010\022=\n\007" +
"options\030\003 \003(\0132,.greptime.v1.CreateDataba" +
"seExpr.OptionsEntry\032.\n\014OptionsEntry\022\013\n\003k" +
"ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"z\n\021TruncateT" +
"ableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema" +
"_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010table" +
"_id\030\004 \001(\0132\024.greptime.v1.TableId\"9\n\nAddCo" +
"lumns\022+\n\013add_columns\030\001 \003(\0132\026.greptime.v1" +
".AddColumn\"<\n\013DropColumns\022-\n\014drop_column" +
"s\030\001 \003(\0132\027.greptime.v1.DropColumn\"%\n\013Rena" +
"meTable\022\026\n\016new_table_name\030\001 \001(\t\"i\n\tAddCo" +
"lumn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.C" +
"olumnDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1" +
".AddColumnLocation\"\032\n\nDropColumn\022\014\n\004name" +
"\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\377\001\n\tColumn" +
"Def\022\014\n\004name\030\001 \001(\t\022.\n\tdata_type\030\002 \001(\0162\033.g" +
"reptime.v1.ColumnDataType\022\023\n\013is_nullable" +
"\030\003 \001(\010\022\032\n\022default_constraint\030\004 \001(\014\0220\n\rse" +
"mantic_type\030\005 \001(\0162\031.greptime.v1.Semantic" +
"Type\022\017\n\007comment\030\006 \001(\t\022@\n\022datatype_extens" +
"ion\030\007 \001(\0132$.greptime.v1.ColumnDataTypeEx" +
"tension\"\230\001\n\021AddColumnLocation\022B\n\rlocatio" +
"n_type\030\001 \001(\0162+.greptime.v1.AddColumnLoca" +
"tion.LocationType\022\031\n\021after_column_name\030\002" +
" \001(\t\"$\n\014LocationType\022\t\n\005FIRST\020\000\022\t\n\005AFTER" +
"\020\001BL\n\016io.greptime.v1B\003DdlZ5github.com/Gr" +
"eptimeTeam/greptime-proto/go/greptime/v1" +
"b\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@@ -15273,7 +15345,7 @@ java.lang.String defaultValue);
internal_static_greptime_v1_DropTableExpr_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_greptime_v1_DropTableExpr_descriptor,
new java.lang.String[] { "CatalogName", "SchemaName", "TableName", "TableId", });
new java.lang.String[] { "CatalogName", "SchemaName", "TableName", "TableId", "DropIfExists", });
internal_static_greptime_v1_CreateDatabaseExpr_descriptor =
getDescriptor().getMessageTypes().get(4);
internal_static_greptime_v1_CreateDatabaseExpr_fieldAccessorTable = new
@@ -82,7 +82,7 @@ io.greptime.v1.index.Index.InvertedIndexMeta defaultValue);
/**
* <pre>
* InvertedIndexMetas defines the metadata for an inverted index
* within a inverted index blob.
* within an inverted index blob.
* </pre>
*
* Protobuf type {@code greptime.v1.index.InvertedIndexMetas}
@@ -459,7 +459,7 @@ io.greptime.v1.index.Index.InvertedIndexMeta defaultValue);
/**
* <pre>
* InvertedIndexMetas defines the metadata for an inverted index
* within a inverted index blob.
* within an inverted index blob.
* </pre>
*
* Protobuf type {@code greptime.v1.index.InvertedIndexMetas}
+1
View File
@@ -66,6 +66,7 @@ message DropTableExpr {
string schema_name = 2;
string table_name = 3;
TableId table_id = 4;
bool drop_if_exists = 5;
}
message CreateDatabaseExpr {