From d18b1c8b8a23f7bd4f108e2c2f580c561e6346d0 Mon Sep 17 00:00:00 2001 From: Ruihang Xia Date: Thu, 25 Apr 2024 17:39:22 +0800 Subject: [PATCH] feat: add or_replace to CREATE FLOW TASK Signed-off-by: Ruihang Xia --- c++/greptime/v1/ddl.pb.cc | 253 +++++++------ c++/greptime/v1/ddl.pb.h | 61 +++- go/greptime/v1/ddl.pb.go | 398 +++++++++++---------- java/src/main/java/io/greptime/v1/Ddl.java | 336 ++++++++++------- proto/greptime/v1/ddl.proto | 11 +- 5 files changed, 602 insertions(+), 457 deletions(-) diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc index 7f8a69c..228c94f 100644 --- a/c++/greptime/v1/ddl.pb.cc +++ b/c++/greptime/v1/ddl.pb.cc @@ -57,6 +57,7 @@ PROTOBUF_CONSTEXPR CreateFlowTaskExpr::CreateFlowTaskExpr( , /*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 { @@ -375,6 +376,7 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI 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_), @@ -555,24 +557,24 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 0, -1, -1, sizeof(::greptime::v1::DdlRequest)}, { 14, 22, -1, sizeof(::greptime::v1::CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse)}, { 24, -1, -1, sizeof(::greptime::v1::CreateFlowTaskExpr)}, - { 39, -1, -1, sizeof(::greptime::v1::SchemaScopedTableName)}, - { 47, -1, -1, sizeof(::greptime::v1::DropFlowTaskExpr)}, - { 55, 63, -1, sizeof(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse)}, - { 65, -1, -1, sizeof(::greptime::v1::CreateTableExpr)}, - { 82, -1, -1, sizeof(::greptime::v1::AlterExpr)}, - { 95, -1, -1, sizeof(::greptime::v1::DropTableExpr)}, - { 106, 114, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)}, - { 116, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)}, - { 126, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)}, - { 136, -1, -1, sizeof(::greptime::v1::DropDatabaseExpr)}, - { 145, -1, -1, sizeof(::greptime::v1::AddColumns)}, - { 152, -1, -1, sizeof(::greptime::v1::DropColumns)}, - { 159, -1, -1, sizeof(::greptime::v1::RenameTable)}, - { 166, -1, -1, sizeof(::greptime::v1::AddColumn)}, - { 174, -1, -1, sizeof(::greptime::v1::DropColumn)}, - { 181, -1, -1, sizeof(::greptime::v1::TableId)}, - { 188, -1, -1, sizeof(::greptime::v1::ColumnDef)}, - { 201, -1, -1, sizeof(::greptime::v1::AddColumnLocation)}, + { 40, -1, -1, sizeof(::greptime::v1::SchemaScopedTableName)}, + { 48, -1, -1, sizeof(::greptime::v1::DropFlowTaskExpr)}, + { 56, 64, -1, sizeof(::greptime::v1::CreateTableExpr_TableOptionsEntry_DoNotUse)}, + { 66, -1, -1, sizeof(::greptime::v1::CreateTableExpr)}, + { 83, -1, -1, sizeof(::greptime::v1::AlterExpr)}, + { 96, -1, -1, sizeof(::greptime::v1::DropTableExpr)}, + { 107, 115, -1, sizeof(::greptime::v1::CreateDatabaseExpr_OptionsEntry_DoNotUse)}, + { 117, -1, -1, sizeof(::greptime::v1::CreateDatabaseExpr)}, + { 127, -1, -1, sizeof(::greptime::v1::TruncateTableExpr)}, + { 137, -1, -1, sizeof(::greptime::v1::DropDatabaseExpr)}, + { 146, -1, -1, sizeof(::greptime::v1::AddColumns)}, + { 153, -1, -1, sizeof(::greptime::v1::DropColumns)}, + { 160, -1, -1, sizeof(::greptime::v1::RenameTable)}, + { 167, -1, -1, sizeof(::greptime::v1::AddColumn)}, + { 175, -1, -1, sizeof(::greptime::v1::DropColumn)}, + { 182, -1, -1, sizeof(::greptime::v1::TableId)}, + { 189, -1, -1, sizeof(::greptime::v1::ColumnDef)}, + { 202, -1, -1, sizeof(::greptime::v1::AddColumnLocation)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -611,77 +613,78 @@ const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECT ".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\"\207\003\n\022CreateFlo" + "DropFlowTaskExprH\000B\006\n\004expr\"\233\003\n\022CreateFlo" "wTaskExpr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\ttask_" "name\030\002 \001(\t\022>\n\022source_table_names\030\003 \003(\0132\"" ".greptime.v1.SchemaScopedTableName\022;\n\017si" "nk_table_name\030\004 \001(\0132\".greptime.v1.Schema" - "ScopedTableName\022\034\n\024create_if_not_exists\030" - "\005 \001(\010\022\023\n\013expire_when\030\006 \001(\t\022\017\n\007comment\030\007 " - "\001(\t\022\013\n\003sql\030\010 \001(\t\022F\n\014task_options\030\t \003(\01320" - ".greptime.v1.CreateFlowTaskExpr.TaskOpti" - "onsEntry\0322\n\020TaskOptionsEntry\022\013\n\003key\030\001 \001(" - "\t\022\r\n\005value\030\002 \001(\t:\0028\001\"@\n\025SchemaScopedTabl" - "eName\022\023\n\013schema_name\030\001 \001(\t\022\022\n\ntable_name" - "\030\002 \001(\t\";\n\020DropFlowTaskExpr\022\024\n\014catalog_na" - "me\030\001 \001(\t\022\021\n\ttask_name\030\002 \001(\t\"\207\003\n\017CreateTa" - "bleExpr\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.greptime.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_exists\030\010 \001(" - "\010\022E\n\rtable_options\030\t \003(\0132..greptime.v1.C" - "reateTableExpr.TableOptionsEntry\022&\n\010tabl" - "e_id\030\n \001(\0132\024.greptime.v1.TableId\022\016\n\006engi" - "ne\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\"\346\001\n\tAlterExpr\022\024\n\014c" - "atalog_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\013add_columns\030\004 \001(\0132" - "\027.greptime.v1.AddColumnsH\000\0220\n\014drop_colum" - "ns\030\005 \001(\0132\030.greptime.v1.DropColumnsH\000\0220\n\014" - "rename_table\030\006 \001(\0132\030.greptime.v1.RenameT" - "ableH\000B\006\n\004kind\"\216\001\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\022\026\n\016drop_if_exists\030\005 \001(\010\"" - "\314\001\n\022CreateDatabaseExpr\022\024\n\014catalog_name\030\001" - " \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\034\n\024create_if_n" - "ot_exists\030\003 \001(\010\022=\n\007options\030\004 \003(\0132,.grept" - "ime.v1.CreateDatabaseExpr.OptionsEntry\032." - "\n\014OptionsEntry\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_n" + "ScopedTableName\022\022\n\nor_replace\030\005 \001(\010\022\034\n\024c" + "reate_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\014" + "task_options\030\n \003(\01320.greptime.v1.CreateF" + "lowTaskExpr.TaskOptionsEntry\0322\n\020TaskOpti" + "onsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" + "\"@\n\025SchemaScopedTableName\022\023\n\013schema_name" + "\030\001 \001(\t\022\022\n\ntable_name\030\002 \001(\t\";\n\020DropFlowTa" + "skExpr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\ttask_nam" + "e\030\002 \001(\t\"\207\003\n\017CreateTableExpr\022\024\n\014catalog_n" "ame\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\"U\n\020DropDatabaseExpr\022\024\n\014catalo" - "g_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016dro" - "p_if_exists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_c" - "olumns\030\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013" - "DropColumns\022-\n\014drop_columns\030\001 \003(\0132\027.grep" - "time.v1.DropColumn\"%\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\010lo" - "cation\030\003 \001(\0132\036.greptime.v1.AddColumnLoca" - "tion\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025\n\007Tabl" - "eId\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.Col" - "umnDataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022defa" - "ult_constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 " - "\001(\0162\031.greptime.v1.SemanticType\022\017\n\007commen" - "t\030\006 \001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.gr" - "eptime.v1.ColumnDataTypeExtension\"\230\001\n\021Ad" - "dColumnLocation\022B\n\rlocation_type\030\001 \001(\0162+" - ".greptime.v1.AddColumnLocation.LocationT" - "ype\022\031\n\021after_column_name\030\002 \001(\t\"$\n\014Locati" - "onType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.grept" - "ime.v1B\003DdlZ5github.com/GreptimeTeam/gre" - "ptime-proto/go/greptime/v1b\006proto3" + "name\030\003 \001(\t\022\014\n\004desc\030\004 \001(\t\022+\n\013column_defs\030" + "\005 \003(\0132\026.greptime.v1.ColumnDef\022\022\n\ntime_in" + "dex\030\006 \001(\t\022\024\n\014primary_keys\030\007 \003(\t\022\034\n\024creat" + "e_if_not_exists\030\010 \001(\010\022E\n\rtable_options\030\t" + " \003(\0132..greptime.v1.CreateTableExpr.Table" + "OptionsEntry\022&\n\010table_id\030\n \001(\0132\024.greptim" + "e.v1.TableId\022\016\n\006engine\030\014 \001(\t\0323\n\021TableOpt" + "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" + "\001\"\346\001\n\tAlterExpr\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\013add_columns\030\004 \001(\0132\027.greptime.v1.AddCol" + "umnsH\000\0220\n\014drop_columns\030\005 \001(\0132\030.greptime." + "v1.DropColumnsH\000\0220\n\014rename_table\030\006 \001(\0132\030" + ".greptime.v1.RenameTableH\000B\006\n\004kind\"\216\001\n\rD" + "ropTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sc" + "hema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010t" + "able_id\030\004 \001(\0132\024.greptime.v1.TableId\022\026\n\016d" + "rop_if_exists\030\005 \001(\010\"\314\001\n\022CreateDatabaseEx" + "pr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_name\030" + "\002 \001(\t\022\034\n\024create_if_not_exists\030\003 \001(\010\022=\n\007o" + "ptions\030\004 \003(\0132,.greptime.v1.CreateDatabas" + "eExpr.OptionsEntry\032.\n\014OptionsEntry\022\013\n\003ke" + "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"z\n\021TruncateTa" + "bleExpr\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\"U\n\020DropDa" + "tabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sche" + "ma_name\030\002 \001(\t\022\026\n\016drop_if_exists\030\003 \001(\010\"9\n" + "\nAddColumns\022+\n\013add_columns\030\001 \003(\0132\026.grept" + "ime.v1.AddColumn\"<\n\013DropColumns\022-\n\014drop_" + "columns\030\001 \003(\0132\027.greptime.v1.DropColumn\"%" + "\n\013RenameTable\022\026\n\016new_table_name\030\001 \001(\t\"i\n" + "\tAddColumn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptim" + "e.v1.ColumnDef\0220\n\010location\030\003 \001(\0132\036.grept" + "ime.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\t" + "ColumnDef\022\014\n\004name\030\001 \001(\t\022.\n\tdata_type\030\002 \001" + "(\0162\033.greptime.v1.ColumnDataType\022\023\n\013is_nu" + "llable\030\003 \001(\010\022\032\n\022default_constraint\030\004 \001(\014" + "\0220\n\rsemantic_type\030\005 \001(\0162\031.greptime.v1.Se" + "manticType\022\017\n\007comment\030\006 \001(\t\022@\n\022datatype_" + "extension\030\007 \001(\0132$.greptime.v1.ColumnData" + "TypeExtension\"\230\001\n\021AddColumnLocation\022B\n\rl" + "ocation_type\030\001 \001(\0162+.greptime.v1.AddColu" + "mnLocation.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/GreptimeTeam/greptime-proto/go/grept" + "ime/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, 2994, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto, + false, false, 3014, 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, 21, schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets, @@ -1359,6 +1362,7 @@ CreateFlowTaskExpr::CreateFlowTaskExpr(const CreateFlowTaskExpr& from) , 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_)*/{}}; @@ -1407,7 +1411,9 @@ CreateFlowTaskExpr::CreateFlowTaskExpr(const CreateFlowTaskExpr& from) if (from._internal_has_sink_table_name()) { _this->_impl_.sink_table_name_ = new ::greptime::v1::SchemaScopedTableName(*from._impl_.sink_table_name_); } - _this->_impl_.create_if_not_exists_ = from._impl_.create_if_not_exists_; + ::memcpy(&_impl_.or_replace_, &from._impl_.or_replace_, + static_cast(reinterpret_cast(&_impl_.create_if_not_exists_) - + reinterpret_cast(&_impl_.or_replace_)) + sizeof(_impl_.create_if_not_exists_)); // @@protoc_insertion_point(copy_constructor:greptime.v1.CreateFlowTaskExpr) } @@ -1424,6 +1430,7 @@ inline void CreateFlowTaskExpr::SharedCtor( , 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_)*/{} }; @@ -1497,7 +1504,9 @@ void CreateFlowTaskExpr::Clear() { delete _impl_.sink_table_name_; } _impl_.sink_table_name_ = nullptr; - _impl_.create_if_not_exists_ = false; + ::memset(&_impl_.or_replace_, 0, static_cast( + reinterpret_cast(&_impl_.create_if_not_exists_) - + reinterpret_cast(&_impl_.or_replace_)) + sizeof(_impl_.create_if_not_exists_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -1548,17 +1557,25 @@ const char* CreateFlowTaskExpr::_InternalParse(const char* ptr, ::_pbi::ParseCon } else goto handle_unusual; continue; - // bool create_if_not_exists = 5; + // bool or_replace = 5; case 5: if (PROTOBUF_PREDICT_TRUE(static_cast(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(tag) == 48)) { _impl_.create_if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // string expire_when = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + // string expire_when = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { auto str = _internal_mutable_expire_when(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); @@ -1566,9 +1583,9 @@ const char* CreateFlowTaskExpr::_InternalParse(const char* ptr, ::_pbi::ParseCon } else goto handle_unusual; continue; - // string comment = 7; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + // string comment = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { auto str = _internal_mutable_comment(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); @@ -1576,9 +1593,9 @@ const char* CreateFlowTaskExpr::_InternalParse(const char* ptr, ::_pbi::ParseCon } else goto handle_unusual; continue; - // string sql = 8; - case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + // string sql = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { auto str = _internal_mutable_sql(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); @@ -1586,16 +1603,16 @@ const char* CreateFlowTaskExpr::_InternalParse(const char* ptr, ::_pbi::ParseCon } else goto handle_unusual; continue; - // map task_options = 9; - case 9: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + // map task_options = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(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<74>(ptr)); + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr)); } else goto handle_unusual; continue; @@ -1663,43 +1680,49 @@ uint8_t* CreateFlowTaskExpr::_InternalSerialize( _Internal::sink_table_name(this).GetCachedSize(), target, stream); } - // bool create_if_not_exists = 5; - if (this->_internal_create_if_not_exists() != 0) { + // bool or_replace = 5; + if (this->_internal_or_replace() != 0) { target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_create_if_not_exists(), target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_or_replace(), target); } - // string expire_when = 6; + // 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(this->_internal_expire_when().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "greptime.v1.CreateFlowTaskExpr.expire_when"); target = stream->WriteStringMaybeAliased( - 6, this->_internal_expire_when(), target); + 7, this->_internal_expire_when(), target); } - // string comment = 7; + // string comment = 8; if (!this->_internal_comment().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_comment().data(), static_cast(this->_internal_comment().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "greptime.v1.CreateFlowTaskExpr.comment"); target = stream->WriteStringMaybeAliased( - 7, this->_internal_comment(), target); + 8, this->_internal_comment(), target); } - // string sql = 8; + // string sql = 9; if (!this->_internal_sql().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_sql().data(), static_cast(this->_internal_sql().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "greptime.v1.CreateFlowTaskExpr.sql"); target = stream->WriteStringMaybeAliased( - 8, this->_internal_sql(), target); + 9, this->_internal_sql(), target); } - // map task_options = 9; + // map task_options = 10; if (!this->_internal_task_options().empty()) { using MapType = ::_pb::Map; using WireHelper = CreateFlowTaskExpr_TaskOptionsEntry_DoNotUse::Funcs; @@ -1718,12 +1741,12 @@ uint8_t* CreateFlowTaskExpr::_InternalSerialize( if (stream->IsSerializationDeterministic() && map_field.size() > 1) { for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { - target = WireHelper::InternalSerialize(9, entry.first, entry.second, target, stream); + target = WireHelper::InternalSerialize(10, 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); + target = WireHelper::InternalSerialize(10, entry.first, entry.second, target, stream); check_utf8(entry); } } @@ -1752,7 +1775,7 @@ size_t CreateFlowTaskExpr::ByteSizeLong() const { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // map task_options = 9; + // map 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 @@ -1775,21 +1798,21 @@ size_t CreateFlowTaskExpr::ByteSizeLong() const { this->_internal_task_name()); } - // string expire_when = 6; + // 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 = 7; + // string comment = 8; if (!this->_internal_comment().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_comment()); } - // string sql = 8; + // string sql = 9; if (!this->_internal_sql().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( @@ -1803,7 +1826,12 @@ size_t CreateFlowTaskExpr::ByteSizeLong() const { *_impl_.sink_table_name_); } - // bool create_if_not_exists = 5; + // 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; } @@ -1847,6 +1875,9 @@ void CreateFlowTaskExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, con _this->_internal_mutable_sink_table_name()->::greptime::v1::SchemaScopedTableName::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()); } diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h index 5a9f21d..968595d 100644 --- a/c++/greptime/v1/ddl.pb.h +++ b/c++/greptime/v1/ddl.pb.h @@ -628,14 +628,15 @@ class CreateFlowTaskExpr final : enum : int { kSourceTableNamesFieldNumber = 3, - kTaskOptionsFieldNumber = 9, + kTaskOptionsFieldNumber = 10, kCatalogNameFieldNumber = 1, kTaskNameFieldNumber = 2, - kExpireWhenFieldNumber = 6, - kCommentFieldNumber = 7, - kSqlFieldNumber = 8, + kExpireWhenFieldNumber = 7, + kCommentFieldNumber = 8, + kSqlFieldNumber = 9, kSinkTableNameFieldNumber = 4, - kCreateIfNotExistsFieldNumber = 5, + kOrReplaceFieldNumber = 5, + kCreateIfNotExistsFieldNumber = 6, }; // repeated .greptime.v1.SchemaScopedTableName source_table_names = 3; int source_table_names_size() const; @@ -655,7 +656,7 @@ class CreateFlowTaskExpr final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::greptime::v1::SchemaScopedTableName >& source_table_names() const; - // map task_options = 9; + // map task_options = 10; int task_options_size() const; private: int _internal_task_options_size() const; @@ -700,7 +701,7 @@ class CreateFlowTaskExpr final : std::string* _internal_mutable_task_name(); public: - // string expire_when = 6; + // string expire_when = 7; void clear_expire_when(); const std::string& expire_when() const; template @@ -714,7 +715,7 @@ class CreateFlowTaskExpr final : std::string* _internal_mutable_expire_when(); public: - // string comment = 7; + // string comment = 8; void clear_comment(); const std::string& comment() const; template @@ -728,7 +729,7 @@ class CreateFlowTaskExpr final : std::string* _internal_mutable_comment(); public: - // string sql = 8; + // string sql = 9; void clear_sql(); const std::string& sql() const; template @@ -760,7 +761,16 @@ class CreateFlowTaskExpr final : ::greptime::v1::SchemaScopedTableName* sink_table_name); ::greptime::v1::SchemaScopedTableName* unsafe_arena_release_sink_table_name(); - // bool create_if_not_exists = 5; + // bool or_replace = 5; + void clear_or_replace(); + bool or_replace() const; + void set_or_replace(bool value); + private: + bool _internal_or_replace() const; + void _internal_set_or_replace(bool value); + public: + + // bool create_if_not_exists = 6; void clear_create_if_not_exists(); bool create_if_not_exists() const; void set_create_if_not_exists(bool value); @@ -789,6 +799,7 @@ class CreateFlowTaskExpr final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comment_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sql_; ::greptime::v1::SchemaScopedTableName* sink_table_name_; + bool or_replace_; bool create_if_not_exists_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; @@ -4749,7 +4760,27 @@ inline void CreateFlowTaskExpr::set_allocated_sink_table_name(::greptime::v1::Sc // @@protoc_insertion_point(field_set_allocated:greptime.v1.CreateFlowTaskExpr.sink_table_name) } -// bool create_if_not_exists = 5; +// bool or_replace = 5; +inline void CreateFlowTaskExpr::clear_or_replace() { + _impl_.or_replace_ = false; +} +inline bool CreateFlowTaskExpr::_internal_or_replace() const { + return _impl_.or_replace_; +} +inline bool CreateFlowTaskExpr::or_replace() const { + // @@protoc_insertion_point(field_get:greptime.v1.CreateFlowTaskExpr.or_replace) + return _internal_or_replace(); +} +inline void CreateFlowTaskExpr::_internal_set_or_replace(bool value) { + + _impl_.or_replace_ = value; +} +inline void CreateFlowTaskExpr::set_or_replace(bool value) { + _internal_set_or_replace(value); + // @@protoc_insertion_point(field_set:greptime.v1.CreateFlowTaskExpr.or_replace) +} + +// bool create_if_not_exists = 6; inline void CreateFlowTaskExpr::clear_create_if_not_exists() { _impl_.create_if_not_exists_ = false; } @@ -4769,7 +4800,7 @@ inline void CreateFlowTaskExpr::set_create_if_not_exists(bool value) { // @@protoc_insertion_point(field_set:greptime.v1.CreateFlowTaskExpr.create_if_not_exists) } -// string expire_when = 6; +// string expire_when = 7; inline void CreateFlowTaskExpr::clear_expire_when() { _impl_.expire_when_.ClearToEmpty(); } @@ -4819,7 +4850,7 @@ inline void CreateFlowTaskExpr::set_allocated_expire_when(std::string* expire_wh // @@protoc_insertion_point(field_set_allocated:greptime.v1.CreateFlowTaskExpr.expire_when) } -// string comment = 7; +// string comment = 8; inline void CreateFlowTaskExpr::clear_comment() { _impl_.comment_.ClearToEmpty(); } @@ -4869,7 +4900,7 @@ inline void CreateFlowTaskExpr::set_allocated_comment(std::string* comment) { // @@protoc_insertion_point(field_set_allocated:greptime.v1.CreateFlowTaskExpr.comment) } -// string sql = 8; +// string sql = 9; inline void CreateFlowTaskExpr::clear_sql() { _impl_.sql_.ClearToEmpty(); } @@ -4919,7 +4950,7 @@ inline void CreateFlowTaskExpr::set_allocated_sql(std::string* sql) { // @@protoc_insertion_point(field_set_allocated:greptime.v1.CreateFlowTaskExpr.sql) } -// map task_options = 9; +// map task_options = 10; inline int CreateFlowTaskExpr::_internal_task_options_size() const { return _impl_.task_options_.size(); } diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go index a0e84b6..9019919 100644 --- a/go/greptime/v1/ddl.pb.go +++ b/go/greptime/v1/ddl.pb.go @@ -245,11 +245,12 @@ type CreateFlowTaskExpr struct { TaskName string `protobuf:"bytes,2,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"` SourceTableNames []*SchemaScopedTableName `protobuf:"bytes,3,rep,name=source_table_names,json=sourceTableNames,proto3" json:"source_table_names,omitempty"` SinkTableName *SchemaScopedTableName `protobuf:"bytes,4,opt,name=sink_table_name,json=sinkTableName,proto3" json:"sink_table_name,omitempty"` - CreateIfNotExists bool `protobuf:"varint,5,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` - ExpireWhen string `protobuf:"bytes,6,opt,name=expire_when,json=expireWhen,proto3" json:"expire_when,omitempty"` - Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` - Sql string `protobuf:"bytes,8,opt,name=sql,proto3" json:"sql,omitempty"` - TaskOptions map[string]string `protobuf:"bytes,9,rep,name=task_options,json=taskOptions,proto3" json:"task_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + OrReplace bool `protobuf:"varint,5,opt,name=or_replace,json=orReplace,proto3" json:"or_replace,omitempty"` + CreateIfNotExists bool `protobuf:"varint,6,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` + ExpireWhen string `protobuf:"bytes,7,opt,name=expire_when,json=expireWhen,proto3" json:"expire_when,omitempty"` + Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` + Sql string `protobuf:"bytes,9,opt,name=sql,proto3" json:"sql,omitempty"` + TaskOptions map[string]string `protobuf:"bytes,10,rep,name=task_options,json=taskOptions,proto3" json:"task_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CreateFlowTaskExpr) Reset() { @@ -312,6 +313,13 @@ func (x *CreateFlowTaskExpr) GetSinkTableName() *SchemaScopedTableName { return nil } +func (x *CreateFlowTaskExpr) GetOrReplace() bool { + if x != nil { + return x.OrReplace + } + return false +} + func (x *CreateFlowTaskExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists @@ -1467,7 +1475,7 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6c, - 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x85, + 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0xa4, 0x04, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 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, @@ -1483,198 +1491,200 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x62, 0x6c, 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, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, - 0x68, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, - 0x6c, 0x12, 0x53, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, - 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 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, 0x57, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 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, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x52, 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 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, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x93, 0x04, 0x0a, 0x0f, 0x43, 0x72, 0x65, 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, 0x12, 0x0a, 0x04, 0x64, 0x65, - 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x37, - 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, - 0x03, 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, 0x0a, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 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, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 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, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, - 0x65, 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, 0xb0, 0x02, 0x0a, 0x09, 0x41, 0x6c, - 0x74, 0x65, 0x72, 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, 0x3a, 0x0a, 0x0b, 0x61, 0x64, - 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, - 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 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, 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, 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, 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, 0x8d, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 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, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, - 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 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, - 0x04, 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, 0x7c, 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61, + 0x63, 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, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, 0x68, + 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x57, 0x68, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, + 0x12, 0x53, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x54, + 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 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, 0x57, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 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, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x52, + 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 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, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x93, 0x04, 0x0a, 0x0f, 0x43, 0x72, 0x65, 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, 0x24, 0x0a, 0x0e, 0x64, 0x72, - 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, - 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, + 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, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, + 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x37, 0x0a, + 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, + 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, 0x0a, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 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, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, + 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, + 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 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, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, + 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, 0xb0, 0x02, 0x0a, 0x09, 0x41, 0x6c, 0x74, + 0x65, 0x72, 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, 0x3a, 0x0a, 0x0b, 0x61, 0x64, 0x64, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, + 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 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, 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, 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, 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, 0x8d, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 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, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 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, 0x04, + 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, 0x7c, 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 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, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, + 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 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, 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, + 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 ( diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java index c5a7c27..9d64d7d 100644 --- a/java/src/main/java/io/greptime/v1/Ddl.java +++ b/java/src/main/java/io/greptime/v1/Ddl.java @@ -2197,53 +2197,59 @@ public final class Ddl { io.greptime.v1.Ddl.SchemaScopedTableNameOrBuilder getSinkTableNameOrBuilder(); /** - * bool create_if_not_exists = 5; + * bool or_replace = 5; + * @return The orReplace. + */ + boolean getOrReplace(); + + /** + * bool create_if_not_exists = 6; * @return The createIfNotExists. */ boolean getCreateIfNotExists(); /** - * string expire_when = 6; + * string expire_when = 7; * @return The expireWhen. */ java.lang.String getExpireWhen(); /** - * string expire_when = 6; + * string expire_when = 7; * @return The bytes for expireWhen. */ com.google.protobuf.ByteString getExpireWhenBytes(); /** - * string comment = 7; + * string comment = 8; * @return The comment. */ java.lang.String getComment(); /** - * string comment = 7; + * string comment = 8; * @return The bytes for comment. */ com.google.protobuf.ByteString getCommentBytes(); /** - * string sql = 8; + * string sql = 9; * @return The sql. */ java.lang.String getSql(); /** - * string sql = 8; + * string sql = 9; * @return The bytes for sql. */ com.google.protobuf.ByteString getSqlBytes(); /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ int getTaskOptionsCount(); /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ boolean containsTaskOptions( java.lang.String key); @@ -2254,12 +2260,12 @@ public final class Ddl { java.util.Map getTaskOptions(); /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ java.util.Map getTaskOptionsMap(); /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ /* nullable */ @@ -2268,7 +2274,7 @@ java.lang.String getTaskOptionsOrDefault( /* nullable */ java.lang.String defaultValue); /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ java.lang.String getTaskOptionsOrThrow( @@ -2366,28 +2372,33 @@ java.lang.String defaultValue); } case 40: { - createIfNotExists_ = input.readBool(); + orReplace_ = input.readBool(); break; } - case 50: { - java.lang.String s = input.readStringRequireUtf8(); + case 48: { - expireWhen_ = s; + createIfNotExists_ = input.readBool(); break; } case 58: { java.lang.String s = input.readStringRequireUtf8(); - comment_ = s; + expireWhen_ = s; break; } case 66: { java.lang.String s = input.readStringRequireUtf8(); - sql_ = s; + comment_ = s; break; } case 74: { + java.lang.String s = input.readStringRequireUtf8(); + + sql_ = s; + break; + } + case 82: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { taskOptions_ = com.google.protobuf.MapField.newMapField( TaskOptionsDefaultEntryHolder.defaultEntry); @@ -2434,7 +2445,7 @@ java.lang.String defaultValue); protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 9: + case 10: return internalGetTaskOptions(); default: throw new RuntimeException( @@ -2591,10 +2602,21 @@ java.lang.String defaultValue); return getSinkTableName(); } - public static final int CREATE_IF_NOT_EXISTS_FIELD_NUMBER = 5; + public static final int OR_REPLACE_FIELD_NUMBER = 5; + private boolean orReplace_; + /** + * bool or_replace = 5; + * @return The orReplace. + */ + @java.lang.Override + public boolean getOrReplace() { + return orReplace_; + } + + public static final int CREATE_IF_NOT_EXISTS_FIELD_NUMBER = 6; private boolean createIfNotExists_; /** - * bool create_if_not_exists = 5; + * bool create_if_not_exists = 6; * @return The createIfNotExists. */ @java.lang.Override @@ -2602,10 +2624,10 @@ java.lang.String defaultValue); return createIfNotExists_; } - public static final int EXPIRE_WHEN_FIELD_NUMBER = 6; + public static final int EXPIRE_WHEN_FIELD_NUMBER = 7; private volatile java.lang.Object expireWhen_; /** - * string expire_when = 6; + * string expire_when = 7; * @return The expireWhen. */ @java.lang.Override @@ -2622,7 +2644,7 @@ java.lang.String defaultValue); } } /** - * string expire_when = 6; + * string expire_when = 7; * @return The bytes for expireWhen. */ @java.lang.Override @@ -2640,10 +2662,10 @@ java.lang.String defaultValue); } } - public static final int COMMENT_FIELD_NUMBER = 7; + public static final int COMMENT_FIELD_NUMBER = 8; private volatile java.lang.Object comment_; /** - * string comment = 7; + * string comment = 8; * @return The comment. */ @java.lang.Override @@ -2660,7 +2682,7 @@ java.lang.String defaultValue); } } /** - * string comment = 7; + * string comment = 8; * @return The bytes for comment. */ @java.lang.Override @@ -2678,10 +2700,10 @@ java.lang.String defaultValue); } } - public static final int SQL_FIELD_NUMBER = 8; + public static final int SQL_FIELD_NUMBER = 9; private volatile java.lang.Object sql_; /** - * string sql = 8; + * string sql = 9; * @return The sql. */ @java.lang.Override @@ -2698,7 +2720,7 @@ java.lang.String defaultValue); } } /** - * string sql = 8; + * string sql = 9; * @return The bytes for sql. */ @java.lang.Override @@ -2716,7 +2738,7 @@ java.lang.String defaultValue); } } - public static final int TASK_OPTIONS_FIELD_NUMBER = 9; + public static final int TASK_OPTIONS_FIELD_NUMBER = 10; private static final class TaskOptionsDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = @@ -2743,7 +2765,7 @@ java.lang.String defaultValue); return internalGetTaskOptions().getMap().size(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -2761,7 +2783,7 @@ java.lang.String defaultValue); return getTaskOptionsMap(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -2769,7 +2791,7 @@ java.lang.String defaultValue); return internalGetTaskOptions().getMap(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -2782,7 +2804,7 @@ java.lang.String defaultValue); return map.containsKey(key) ? map.get(key) : defaultValue; } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -2823,24 +2845,27 @@ java.lang.String defaultValue); if (sinkTableName_ != null) { output.writeMessage(4, getSinkTableName()); } + if (orReplace_ != false) { + output.writeBool(5, orReplace_); + } if (createIfNotExists_ != false) { - output.writeBool(5, createIfNotExists_); + output.writeBool(6, createIfNotExists_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(expireWhen_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 6, expireWhen_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, expireWhen_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(comment_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 7, comment_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 8, comment_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 8, sql_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 9, sql_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetTaskOptions(), TaskOptionsDefaultEntryHolder.defaultEntry, - 9); + 10); unknownFields.writeTo(output); } @@ -2864,18 +2889,22 @@ java.lang.String defaultValue); size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getSinkTableName()); } + if (orReplace_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, orReplace_); + } if (createIfNotExists_ != false) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, createIfNotExists_); + .computeBoolSize(6, createIfNotExists_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(expireWhen_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, expireWhen_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, expireWhen_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(comment_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, comment_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, comment_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, sql_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, sql_); } for (java.util.Map.Entry entry : internalGetTaskOptions().getMap().entrySet()) { @@ -2885,7 +2914,7 @@ java.lang.String defaultValue); .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(9, taskOptions__); + .computeMessageSize(10, taskOptions__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2913,6 +2942,8 @@ java.lang.String defaultValue); if (!getSinkTableName() .equals(other.getSinkTableName())) return false; } + if (getOrReplace() + != other.getOrReplace()) return false; if (getCreateIfNotExists() != other.getCreateIfNotExists()) return false; if (!getExpireWhen() @@ -2946,6 +2977,9 @@ java.lang.String defaultValue); hash = (37 * hash) + SINK_TABLE_NAME_FIELD_NUMBER; hash = (53 * hash) + getSinkTableName().hashCode(); } + hash = (37 * hash) + OR_REPLACE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getOrReplace()); hash = (37 * hash) + CREATE_IF_NOT_EXISTS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getCreateIfNotExists()); @@ -3074,7 +3108,7 @@ java.lang.String defaultValue); protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 9: + case 10: return internalGetTaskOptions(); default: throw new RuntimeException( @@ -3085,7 +3119,7 @@ java.lang.String defaultValue); protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { - case 9: + case 10: return internalGetMutableTaskOptions(); default: throw new RuntimeException( @@ -3135,6 +3169,8 @@ java.lang.String defaultValue); sinkTableName_ = null; sinkTableNameBuilder_ = null; } + orReplace_ = false; + createIfNotExists_ = false; expireWhen_ = ""; @@ -3187,6 +3223,7 @@ java.lang.String defaultValue); } else { result.sinkTableName_ = sinkTableNameBuilder_.build(); } + result.orReplace_ = orReplace_; result.createIfNotExists_ = createIfNotExists_; result.expireWhen_ = expireWhen_; result.comment_ = comment_; @@ -3278,6 +3315,9 @@ java.lang.String defaultValue); if (other.hasSinkTableName()) { mergeSinkTableName(other.getSinkTableName()); } + if (other.getOrReplace() != false) { + setOrReplace(other.getOrReplace()); + } if (other.getCreateIfNotExists() != false) { setCreateIfNotExists(other.getCreateIfNotExists()); } @@ -3836,9 +3876,40 @@ java.lang.String defaultValue); return sinkTableNameBuilder_; } + private boolean orReplace_ ; + /** + * bool or_replace = 5; + * @return The orReplace. + */ + @java.lang.Override + public boolean getOrReplace() { + return orReplace_; + } + /** + * bool or_replace = 5; + * @param value The orReplace to set. + * @return This builder for chaining. + */ + public Builder setOrReplace(boolean value) { + + orReplace_ = value; + onChanged(); + return this; + } + /** + * bool or_replace = 5; + * @return This builder for chaining. + */ + public Builder clearOrReplace() { + + orReplace_ = false; + onChanged(); + return this; + } + private boolean createIfNotExists_ ; /** - * bool create_if_not_exists = 5; + * bool create_if_not_exists = 6; * @return The createIfNotExists. */ @java.lang.Override @@ -3846,7 +3917,7 @@ java.lang.String defaultValue); return createIfNotExists_; } /** - * bool create_if_not_exists = 5; + * bool create_if_not_exists = 6; * @param value The createIfNotExists to set. * @return This builder for chaining. */ @@ -3857,7 +3928,7 @@ java.lang.String defaultValue); return this; } /** - * bool create_if_not_exists = 5; + * bool create_if_not_exists = 6; * @return This builder for chaining. */ public Builder clearCreateIfNotExists() { @@ -3869,7 +3940,7 @@ java.lang.String defaultValue); private java.lang.Object expireWhen_ = ""; /** - * string expire_when = 6; + * string expire_when = 7; * @return The expireWhen. */ public java.lang.String getExpireWhen() { @@ -3885,7 +3956,7 @@ java.lang.String defaultValue); } } /** - * string expire_when = 6; + * string expire_when = 7; * @return The bytes for expireWhen. */ public com.google.protobuf.ByteString @@ -3902,7 +3973,7 @@ java.lang.String defaultValue); } } /** - * string expire_when = 6; + * string expire_when = 7; * @param value The expireWhen to set. * @return This builder for chaining. */ @@ -3917,7 +3988,7 @@ java.lang.String defaultValue); return this; } /** - * string expire_when = 6; + * string expire_when = 7; * @return This builder for chaining. */ public Builder clearExpireWhen() { @@ -3927,7 +3998,7 @@ java.lang.String defaultValue); return this; } /** - * string expire_when = 6; + * string expire_when = 7; * @param value The bytes for expireWhen to set. * @return This builder for chaining. */ @@ -3945,7 +4016,7 @@ java.lang.String defaultValue); private java.lang.Object comment_ = ""; /** - * string comment = 7; + * string comment = 8; * @return The comment. */ public java.lang.String getComment() { @@ -3961,7 +4032,7 @@ java.lang.String defaultValue); } } /** - * string comment = 7; + * string comment = 8; * @return The bytes for comment. */ public com.google.protobuf.ByteString @@ -3978,7 +4049,7 @@ java.lang.String defaultValue); } } /** - * string comment = 7; + * string comment = 8; * @param value The comment to set. * @return This builder for chaining. */ @@ -3993,7 +4064,7 @@ java.lang.String defaultValue); return this; } /** - * string comment = 7; + * string comment = 8; * @return This builder for chaining. */ public Builder clearComment() { @@ -4003,7 +4074,7 @@ java.lang.String defaultValue); return this; } /** - * string comment = 7; + * string comment = 8; * @param value The bytes for comment to set. * @return This builder for chaining. */ @@ -4021,7 +4092,7 @@ java.lang.String defaultValue); private java.lang.Object sql_ = ""; /** - * string sql = 8; + * string sql = 9; * @return The sql. */ public java.lang.String getSql() { @@ -4037,7 +4108,7 @@ java.lang.String defaultValue); } } /** - * string sql = 8; + * string sql = 9; * @return The bytes for sql. */ public com.google.protobuf.ByteString @@ -4054,7 +4125,7 @@ java.lang.String defaultValue); } } /** - * string sql = 8; + * string sql = 9; * @param value The sql to set. * @return This builder for chaining. */ @@ -4069,7 +4140,7 @@ java.lang.String defaultValue); return this; } /** - * string sql = 8; + * string sql = 9; * @return This builder for chaining. */ public Builder clearSql() { @@ -4079,7 +4150,7 @@ java.lang.String defaultValue); return this; } /** - * string sql = 8; + * string sql = 9; * @param value The bytes for sql to set. * @return This builder for chaining. */ @@ -4122,7 +4193,7 @@ java.lang.String defaultValue); return internalGetTaskOptions().getMap().size(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -4140,7 +4211,7 @@ java.lang.String defaultValue); return getTaskOptionsMap(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -4148,7 +4219,7 @@ java.lang.String defaultValue); return internalGetTaskOptions().getMap(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -4161,7 +4232,7 @@ java.lang.String defaultValue); return map.containsKey(key) ? map.get(key) : defaultValue; } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ @java.lang.Override @@ -4182,7 +4253,7 @@ java.lang.String defaultValue); return this; } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ public Builder removeTaskOptions( @@ -4201,7 +4272,7 @@ java.lang.String defaultValue); return internalGetMutableTaskOptions().getMutableMap(); } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ public Builder putTaskOptions( java.lang.String key, @@ -4216,7 +4287,7 @@ java.lang.String defaultValue); return this; } /** - * map<string, string> task_options = 9; + * map<string, string> task_options = 10; */ public Builder putAllTaskOptions( @@ -20295,70 +20366,71 @@ java.lang.String defaultValue); ".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\"\207\003\n\022CreateFlo" + + "DropFlowTaskExprH\000B\006\n\004expr\"\233\003\n\022CreateFlo" + "wTaskExpr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\ttask_" + "name\030\002 \001(\t\022>\n\022source_table_names\030\003 \003(\0132\"" + ".greptime.v1.SchemaScopedTableName\022;\n\017si" + "nk_table_name\030\004 \001(\0132\".greptime.v1.Schema" + - "ScopedTableName\022\034\n\024create_if_not_exists\030" + - "\005 \001(\010\022\023\n\013expire_when\030\006 \001(\t\022\017\n\007comment\030\007 " + - "\001(\t\022\013\n\003sql\030\010 \001(\t\022F\n\014task_options\030\t \003(\01320" + - ".greptime.v1.CreateFlowTaskExpr.TaskOpti" + - "onsEntry\0322\n\020TaskOptionsEntry\022\013\n\003key\030\001 \001(" + - "\t\022\r\n\005value\030\002 \001(\t:\0028\001\"@\n\025SchemaScopedTabl" + - "eName\022\023\n\013schema_name\030\001 \001(\t\022\022\n\ntable_name" + - "\030\002 \001(\t\";\n\020DropFlowTaskExpr\022\024\n\014catalog_na" + - "me\030\001 \001(\t\022\021\n\ttask_name\030\002 \001(\t\"\207\003\n\017CreateTa" + - "bleExpr\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.greptime.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_exists\030\010 \001(" + - "\010\022E\n\rtable_options\030\t \003(\0132..greptime.v1.C" + - "reateTableExpr.TableOptionsEntry\022&\n\010tabl" + - "e_id\030\n \001(\0132\024.greptime.v1.TableId\022\016\n\006engi" + - "ne\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\"\346\001\n\tAlterExpr\022\024\n\014c" + - "atalog_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\013add_columns\030\004 \001(\0132" + - "\027.greptime.v1.AddColumnsH\000\0220\n\014drop_colum" + - "ns\030\005 \001(\0132\030.greptime.v1.DropColumnsH\000\0220\n\014" + - "rename_table\030\006 \001(\0132\030.greptime.v1.RenameT" + - "ableH\000B\006\n\004kind\"\216\001\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\022\026\n\016drop_if_exists\030\005 \001(\010\"" + - "\314\001\n\022CreateDatabaseExpr\022\024\n\014catalog_name\030\001" + - " \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\034\n\024create_if_n" + - "ot_exists\030\003 \001(\010\022=\n\007options\030\004 \003(\0132,.grept" + - "ime.v1.CreateDatabaseExpr.OptionsEntry\032." + - "\n\014OptionsEntry\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_n" + + "ScopedTableName\022\022\n\nor_replace\030\005 \001(\010\022\034\n\024c" + + "reate_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\014" + + "task_options\030\n \003(\01320.greptime.v1.CreateF" + + "lowTaskExpr.TaskOptionsEntry\0322\n\020TaskOpti" + + "onsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" + + "\"@\n\025SchemaScopedTableName\022\023\n\013schema_name" + + "\030\001 \001(\t\022\022\n\ntable_name\030\002 \001(\t\";\n\020DropFlowTa" + + "skExpr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\ttask_nam" + + "e\030\002 \001(\t\"\207\003\n\017CreateTableExpr\022\024\n\014catalog_n" + "ame\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\"U\n\020DropDatabaseExpr\022\024\n\014catalo" + - "g_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016dro" + - "p_if_exists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_c" + - "olumns\030\001 \003(\0132\026.greptime.v1.AddColumn\"<\n\013" + - "DropColumns\022-\n\014drop_columns\030\001 \003(\0132\027.grep" + - "time.v1.DropColumn\"%\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\010lo" + - "cation\030\003 \001(\0132\036.greptime.v1.AddColumnLoca" + - "tion\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025\n\007Tabl" + - "eId\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.Col" + - "umnDataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022defa" + - "ult_constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 " + - "\001(\0162\031.greptime.v1.SemanticType\022\017\n\007commen" + - "t\030\006 \001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.gr" + - "eptime.v1.ColumnDataTypeExtension\"\230\001\n\021Ad" + - "dColumnLocation\022B\n\rlocation_type\030\001 \001(\0162+" + - ".greptime.v1.AddColumnLocation.LocationT" + - "ype\022\031\n\021after_column_name\030\002 \001(\t\"$\n\014Locati" + - "onType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001BL\n\016io.grept" + - "ime.v1B\003DdlZ5github.com/GreptimeTeam/gre" + - "ptime-proto/go/greptime/v1b\006proto3" + "name\030\003 \001(\t\022\014\n\004desc\030\004 \001(\t\022+\n\013column_defs\030" + + "\005 \003(\0132\026.greptime.v1.ColumnDef\022\022\n\ntime_in" + + "dex\030\006 \001(\t\022\024\n\014primary_keys\030\007 \003(\t\022\034\n\024creat" + + "e_if_not_exists\030\010 \001(\010\022E\n\rtable_options\030\t" + + " \003(\0132..greptime.v1.CreateTableExpr.Table" + + "OptionsEntry\022&\n\010table_id\030\n \001(\0132\024.greptim" + + "e.v1.TableId\022\016\n\006engine\030\014 \001(\t\0323\n\021TableOpt" + + "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" + + "\001\"\346\001\n\tAlterExpr\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\013add_columns\030\004 \001(\0132\027.greptime.v1.AddCol" + + "umnsH\000\0220\n\014drop_columns\030\005 \001(\0132\030.greptime." + + "v1.DropColumnsH\000\0220\n\014rename_table\030\006 \001(\0132\030" + + ".greptime.v1.RenameTableH\000B\006\n\004kind\"\216\001\n\rD" + + "ropTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sc" + + "hema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022&\n\010t" + + "able_id\030\004 \001(\0132\024.greptime.v1.TableId\022\026\n\016d" + + "rop_if_exists\030\005 \001(\010\"\314\001\n\022CreateDatabaseEx" + + "pr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_name\030" + + "\002 \001(\t\022\034\n\024create_if_not_exists\030\003 \001(\010\022=\n\007o" + + "ptions\030\004 \003(\0132,.greptime.v1.CreateDatabas" + + "eExpr.OptionsEntry\032.\n\014OptionsEntry\022\013\n\003ke" + + "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"z\n\021TruncateTa" + + "bleExpr\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\"U\n\020DropDa" + + "tabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sche" + + "ma_name\030\002 \001(\t\022\026\n\016drop_if_exists\030\003 \001(\010\"9\n" + + "\nAddColumns\022+\n\013add_columns\030\001 \003(\0132\026.grept" + + "ime.v1.AddColumn\"<\n\013DropColumns\022-\n\014drop_" + + "columns\030\001 \003(\0132\027.greptime.v1.DropColumn\"%" + + "\n\013RenameTable\022\026\n\016new_table_name\030\001 \001(\t\"i\n" + + "\tAddColumn\022*\n\ncolumn_def\030\001 \001(\0132\026.greptim" + + "e.v1.ColumnDef\0220\n\010location\030\003 \001(\0132\036.grept" + + "ime.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\t" + + "ColumnDef\022\014\n\004name\030\001 \001(\t\022.\n\tdata_type\030\002 \001" + + "(\0162\033.greptime.v1.ColumnDataType\022\023\n\013is_nu" + + "llable\030\003 \001(\010\022\032\n\022default_constraint\030\004 \001(\014" + + "\0220\n\rsemantic_type\030\005 \001(\0162\031.greptime.v1.Se" + + "manticType\022\017\n\007comment\030\006 \001(\t\022@\n\022datatype_" + + "extension\030\007 \001(\0132$.greptime.v1.ColumnData" + + "TypeExtension\"\230\001\n\021AddColumnLocation\022B\n\rl" + + "ocation_type\030\001 \001(\0162+.greptime.v1.AddColu" + + "mnLocation.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/GreptimeTeam/greptime-proto/go/grept" + + "ime/v1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -20376,7 +20448,7 @@ java.lang.String defaultValue); internal_static_greptime_v1_CreateFlowTaskExpr_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_CreateFlowTaskExpr_descriptor, - new java.lang.String[] { "CatalogName", "TaskName", "SourceTableNames", "SinkTableName", "CreateIfNotExists", "ExpireWhen", "Comment", "Sql", "TaskOptions", }); + new java.lang.String[] { "CatalogName", "TaskName", "SourceTableNames", "SinkTableName", "OrReplace", "CreateIfNotExists", "ExpireWhen", "Comment", "Sql", "TaskOptions", }); internal_static_greptime_v1_CreateFlowTaskExpr_TaskOptionsEntry_descriptor = internal_static_greptime_v1_CreateFlowTaskExpr_descriptor.getNestedTypes().get(0); internal_static_greptime_v1_CreateFlowTaskExpr_TaskOptionsEntry_fieldAccessorTable = new diff --git a/proto/greptime/v1/ddl.proto b/proto/greptime/v1/ddl.proto index c391266..0f4cb69 100644 --- a/proto/greptime/v1/ddl.proto +++ b/proto/greptime/v1/ddl.proto @@ -44,11 +44,12 @@ message CreateFlowTaskExpr { string task_name = 2; repeated SchemaScopedTableName source_table_names = 3; SchemaScopedTableName sink_table_name = 4; - bool create_if_not_exists = 5; - string expire_when = 6; - string comment = 7; - string sql = 8; - map task_options = 9; + bool or_replace = 5; + bool create_if_not_exists = 6; + string expire_when = 7; + string comment = 8; + string sql = 9; + map task_options = 10; } // Table name