From 4ce7e9a3ff627147458bd382fbb40f0601f31013 Mon Sep 17 00:00:00 2001 From: fys <40801205+fengys1996@users.noreply.github.com> Date: Mon, 18 Aug 2025 10:58:28 +0800 Subject: [PATCH] refactor: enhanced trigger interval (#269) * fix: improve interval precision * chore: better name * chore: add /opt/include to proto include * remove empty line --- Cargo.toml | 1 + c++/greptime/v1/ddl.pb.cc | 477 +++++++------ c++/greptime/v1/ddl.pb.h | 179 ++++- go/greptime/v1/ddl.pb.go | 137 ++-- java/src/main/java/io/greptime/v1/Ddl.java | 747 +++++++++++++++------ proto/greptime/v1/ddl.proto | 6 +- scripts/generate-cpp.sh | 4 +- scripts/generate-go.sh | 5 +- scripts/generate-java.sh | 2 +- 9 files changed, 1048 insertions(+), 510 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index caa79ff..cdfbf28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,7 @@ license = "Apache-2.0" [dependencies] prost = "0.13" +prost-types = "0.13" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" strum = "0.25" diff --git a/c++/greptime/v1/ddl.pb.cc b/c++/greptime/v1/ddl.pb.cc index 890d3e1..8514c2e 100644 --- a/c++/greptime/v1/ddl.pb.cc +++ b/c++/greptime/v1/ddl.pb.cc @@ -713,7 +713,8 @@ PROTOBUF_CONSTEXPR CreateTriggerExpr::CreateTriggerExpr( , /*decltype(_impl_.catalog_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.trigger_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.sql_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.interval_)*/uint64_t{0u} + , /*decltype(_impl_.raw_interval_expr_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.interval_)*/nullptr , /*decltype(_impl_.create_if_not_exists_)*/false , /*decltype(_impl_._cached_size_)*/{}} {} struct CreateTriggerExprDefaultTypeInternal { @@ -1252,6 +1253,7 @@ const uint32_t TableStruct_greptime_2fv1_2fddl_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTriggerExpr, _impl_.labels_), PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTriggerExpr, _impl_.annotations_), PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTriggerExpr, _impl_.interval_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::CreateTriggerExpr, _impl_.raw_interval_expr_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::NotifyChannel, _internal_metadata_), ~0u, // no _extensions_ @@ -1338,10 +1340,10 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 431, 439, -1, sizeof(::greptime::v1::CreateTriggerExpr_LabelsEntry_DoNotUse)}, { 441, 449, -1, sizeof(::greptime::v1::CreateTriggerExpr_AnnotationsEntry_DoNotUse)}, { 451, -1, -1, sizeof(::greptime::v1::CreateTriggerExpr)}, - { 465, -1, -1, sizeof(::greptime::v1::NotifyChannel)}, - { 474, 482, -1, sizeof(::greptime::v1::WebhookOptions_OptsEntry_DoNotUse)}, - { 484, -1, -1, sizeof(::greptime::v1::WebhookOptions)}, - { 492, -1, -1, sizeof(::greptime::v1::DropTriggerExpr)}, + { 466, -1, -1, sizeof(::greptime::v1::NotifyChannel)}, + { 475, 483, -1, sizeof(::greptime::v1::WebhookOptions_OptsEntry_DoNotUse)}, + { 485, -1, -1, sizeof(::greptime::v1::WebhookOptions)}, + { 493, -1, -1, sizeof(::greptime::v1::DropTriggerExpr)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -1400,188 +1402,192 @@ static const ::_pb::Message* const file_default_instances[] = { }; const char descriptor_table_protodef_greptime_2fv1_2fddl_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\025greptime/v1/ddl.proto\022\013greptime.v1\032\030gr" - "eptime/v1/common.proto\"\250\004\n\nDdlRequest\022:\n" - "\017create_database\030\001 \001(\0132\037.greptime.v1.Cre" - "ateDatabaseExprH\000\0224\n\014create_table\030\002 \001(\0132" - "\034.greptime.v1.CreateTableExprH\000\0222\n\013alter" - "_table\030\003 \001(\0132\033.greptime.v1.AlterTableExp" - "rH\000\0220\n\ndrop_table\030\004 \001(\0132\032.greptime.v1.Dr" - "opTableExprH\000\0228\n\016truncate_table\030\007 \001(\0132\036." - "greptime.v1.TruncateTableExprH\000\0222\n\013creat" - "e_flow\030\010 \001(\0132\033.greptime.v1.CreateFlowExp" - "rH\000\022.\n\tdrop_flow\030\t \001(\0132\031.greptime.v1.Dro" - "pFlowExprH\000\0222\n\013create_view\030\n \001(\0132\033.grept" - "ime.v1.CreateViewExprH\000\022.\n\tdrop_view\030\013 \001" - "(\0132\031.greptime.v1.DropViewExprH\000\0228\n\016alter" - "_database\030\014 \001(\0132\036.greptime.v1.AlterDatab" - "aseExprH\000B\006\n\004expr\"\226\003\n\016CreateFlowExpr\022\024\n\014" - "catalog_name\030\001 \001(\t\022\021\n\tflow_name\030\002 \001(\t\0222\n" - "\022source_table_names\030\003 \003(\0132\026.greptime.v1." - "TableName\022/\n\017sink_table_name\030\004 \001(\0132\026.gre" - "ptime.v1.TableName\022\022\n\nor_replace\030\005 \001(\010\022\034" - "\n\024create_if_not_exists\030\006 \001(\010\022.\n\014expire_a" - "fter\030\007 \001(\0132\030.greptime.v1.ExpireAfter\022\017\n\007" - "comment\030\010 \001(\t\022\013\n\003sql\030\t \001(\t\022B\n\014flow_optio" - "ns\030\n \003(\0132,.greptime.v1.CreateFlowExpr.Fl" - "owOptionsEntry\0322\n\020FlowOptionsEntry\022\013\n\003ke" - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"u\n\014DropFlowEx" - "pr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\tflow_name\030\002 " - "\001(\t\022$\n\007flow_id\030\003 \001(\0132\023.greptime.v1.FlowI" - "d\022\026\n\016drop_if_exists\030\005 \001(\010\"\376\001\n\016CreateView" - "Expr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_nam" - "e\030\002 \001(\t\022\021\n\tview_name\030\003 \001(\t\022\024\n\014logical_pl" - "an\030\004 \001(\014\022\034\n\024create_if_not_exists\030\005 \001(\010\022\022" - "\n\nor_replace\030\006 \001(\010\022+\n\013table_names\030\007 \003(\0132" - "\026.greptime.v1.TableName\022\017\n\007columns\030\010 \003(\t" - "\022\024\n\014plan_columns\030\t \003(\t\022\022\n\ndefinition\030\n \001" - "(\t\"\213\001\n\014DropViewExpr\022\024\n\014catalog_name\030\001 \001(" - "\t\022\023\n\013schema_name\030\002 \001(\t\022\021\n\tview_name\030\003 \001(" - "\t\022%\n\007view_id\030\004 \001(\0132\024.greptime.v1.TableId" - "\022\026\n\016drop_if_exists\030\005 \001(\010\"\207\003\n\017CreateTable" - "Expr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_nam" - "e\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.Col" - "umnDef\022\022\n\ntime_index\030\006 \001(\t\022\024\n\014primary_ke" - "ys\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.Crea" - "teTableExpr.TableOptionsEntry\022&\n\010table_i" - "d\030\n \001(\0132\024.greptime.v1.TableId\022\016\n\006engine\030" - "\014 \001(\t\0323\n\021TableOptionsEntry\022\013\n\003key\030\001 \001(\t\022" - "\r\n\005value\030\002 \001(\t:\0028\001\"\312\005\n\016AlterTableExpr\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.AddColumnsH\000\0220\n\014drop_col" - "umns\030\005 \001(\0132\030.greptime.v1.DropColumnsH\000\0220" - "\n\014rename_table\030\006 \001(\0132\030.greptime.v1.Renam" - "eTableH\000\022=\n\023modify_column_types\030\007 \001(\0132\036." - "greptime.v1.ModifyColumnTypesH\000\0229\n\021set_t" - "able_options\030\010 \001(\0132\034.greptime.v1.SetTabl" - "eOptionsH\000\022=\n\023unset_table_options\030\013 \001(\0132" - "\036.greptime.v1.UnsetTableOptionsH\000\022*\n\tset" - "_index\030\014 \001(\0132\025.greptime.v1.SetIndexH\000\022.\n" - "\013unset_index\030\r \001(\0132\027.greptime.v1.UnsetIn" - "dexH\000\0222\n\rdrop_defaults\030\016 \001(\0132\031.greptime." - "v1.DropDefaultsH\000\022.\n\013set_indexes\030\017 \001(\0132\027" - ".greptime.v1.SetIndexesH\000\0222\n\runset_index" - "es\030\020 \001(\0132\031.greptime.v1.UnsetIndexesH\000\0220\n" - "\014set_defaults\030\021 \001(\0132\030.greptime.v1.SetDef" - "aultsH\000B\006\n\004kind\"\"\n\013DropDefault\022\023\n\013column" - "_name\030\001 \001(\t\"8\n\nSetIndexes\022*\n\013set_indexes" - "\030\001 \003(\0132\025.greptime.v1.SetIndex\">\n\014UnsetIn" - "dexes\022.\n\runset_indexes\030\001 \003(\0132\027.greptime." - "v1.UnsetIndex\"=\n\nSetDefault\022\023\n\013column_na" - "me\030\001 \001(\t\022\032\n\022default_constraint\030\002 \001(\014\"\237\001\n" - "\010SetIndex\022,\n\010fulltext\030\001 \001(\0132\030.greptime.v" - "1.SetFulltextH\000\022,\n\010inverted\030\002 \001(\0132\030.grep" - "time.v1.SetInvertedH\000\022,\n\010skipping\030\003 \001(\0132" - "\030.greptime.v1.SetSkippingH\000B\t\n\007options\"\247" - "\001\n\nUnsetIndex\022.\n\010fulltext\030\001 \001(\0132\032.grepti" - "me.v1.UnsetFulltextH\000\022.\n\010inverted\030\002 \001(\0132" - "\032.greptime.v1.UnsetInvertedH\000\022.\n\010skippin" - "g\030\003 \001(\0132\032.greptime.v1.UnsetSkippingH\000B\t\n" - "\007options\"\216\001\n\rDropTableExpr\022\024\n\014catalog_na" - "me\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_n" - "ame\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.greptime.v" - "1.TableId\022\026\n\016drop_if_exists\030\005 \001(\010\"\314\001\n\022Cr" - "eateDatabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023" - "\n\013schema_name\030\002 \001(\t\022\034\n\024create_if_not_exi" - "sts\030\003 \001(\010\022=\n\007options\030\004 \003(\0132,.greptime.v1" - ".CreateDatabaseExpr.OptionsEntry\032.\n\014Opti" - "onsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" - "\"\250\001\n\021TruncateTableExpr\022\024\n\014catalog_name\030\001" - " \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030" - "\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.greptime.v1.Ta" - "bleId\022,\n\013time_ranges\030\005 \001(\0132\027.greptime.v1" - ".TimeRanges\"U\n\020DropDatabaseExpr\022\024\n\014catal" - "og_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016dr" - "op_if_exists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_" - "columns\030\001 \003(\0132\026.greptime.v1.AddColumn\"\?\n" - "\014DropDefaults\022/\n\rdrop_defaults\030\001 \003(\0132\030.g" - "reptime.v1.DropDefault\"<\n\013SetDefaults\022-\n" - "\014set_defaults\030\001 \003(\0132\027.greptime.v1.SetDef" - "ault\"<\n\013DropColumns\022-\n\014drop_columns\030\001 \003(" - "\0132\027.greptime.v1.DropColumn\"O\n\021ModifyColu" - "mnTypes\022:\n\023modify_column_types\030\001 \003(\0132\035.g" - "reptime.v1.ModifyColumnType\"%\n\013RenameTab" - "le\022\026\n\016new_table_name\030\001 \001(\t\"\204\001\n\tAddColumn" - "\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Colum" - "nDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1.Add" - "ColumnLocation\022\031\n\021add_if_not_exists\030\004 \001(" - "\010\"\236\001\n\020ModifyColumnType\022\023\n\013column_name\030\001 " - "\001(\t\0220\n\013target_type\030\002 \001(\0162\033.greptime.v1.C" - "olumnDataType\022C\n\025target_type_extension\030\003" - " \001(\0132$.greptime.v1.ColumnDataTypeExtensi" - "on\"$\n\006Option\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" - "\"=\n\017SetTableOptions\022*\n\rtable_options\030\001 \003" - "(\0132\023.greptime.v1.Option\"!\n\021UnsetTableOpt" - "ions\022\014\n\004keys\030\001 \003(\t\"\032\n\nDropColumn\022\014\n\004name" - "\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022" - "\n\n\002id\030\001 \001(\r\"\254\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" - ".\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnD" - "ataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_" - "constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162" - "\031.greptime.v1.SemanticType\022\017\n\007comment\030\006 " - "\001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.grepti" - "me.v1.ColumnDataTypeExtension\022+\n\007options" - "\030\010 \001(\0132\032.greptime.v1.ColumnOptions\"\230\001\n\021A" - "ddColumnLocation\022B\n\rlocation_type\030\001 \001(\0162" - "+.greptime.v1.AddColumnLocation.Location" - "Type\022\031\n\021after_column_name\030\002 \001(\t\"$\n\014Locat" - "ionType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001\"\324\001\n\013SetFul" - "ltext\022\023\n\013column_name\030\001 \001(\t\022\016\n\006enable\030\002 \001" - "(\010\022\'\n\010analyzer\030\003 \001(\0162\025.greptime.v1.Analy" - "zer\022\026\n\016case_sensitive\030\004 \001(\010\022-\n\007backend\030\005" - " \001(\0162\034.greptime.v1.FulltextBackend\022\023\n\013gr" - "anularity\030\006 \001(\004\022\033\n\023false_positive_rate\030\007" - " \001(\001\"$\n\rUnsetFulltext\022\023\n\013column_name\030\001 \001" - "(\t\"\"\n\013SetInverted\022\023\n\013column_name\030\001 \001(\t\"$" - "\n\rUnsetInverted\022\023\n\013column_name\030\001 \001(\t\"\241\001\n" - "\013SetSkipping\022\023\n\013column_name\030\001 \001(\t\022\016\n\006ena" - "ble\030\002 \001(\010\022\023\n\013granularity\030\003 \001(\004\022;\n\023skippi" - "ng_index_type\030\004 \001(\0162\036.greptime.v1.Skippi" - "ngIndexType\022\033\n\023false_positive_rate\030\005 \001(\001" - "\"$\n\rUnsetSkipping\022\023\n\013column_name\030\001 \001(\t\"\314" - "\001\n\021AlterDatabaseExpr\022\024\n\014catalog_name\030\001 \001" - "(\t\022\023\n\013schema_name\030\002 \001(\t\022\?\n\024set_database_" - "options\030\003 \001(\0132\037.greptime.v1.SetDatabaseO" - "ptionsH\000\022C\n\026unset_database_options\030\004 \001(\013" - "2!.greptime.v1.UnsetDatabaseOptionsH\000B\006\n" - "\004kind\"G\n\022SetDatabaseOptions\0221\n\024set_datab" - "ase_options\030\001 \003(\0132\023.greptime.v1.Option\"$" - "\n\024UnsetDatabaseOptions\022\014\n\004keys\030\001 \003(\t\"\217\003\n" - "\021CreateTriggerExpr\022\024\n\014catalog_name\030\001 \001(\t" - "\022\024\n\014trigger_name\030\002 \001(\t\022\034\n\024create_if_not_" - "exists\030\003 \001(\010\022\013\n\003sql\030\004 \001(\t\022,\n\010channels\030\005 " - "\003(\0132\032.greptime.v1.NotifyChannel\022:\n\006label" - "s\030\006 \003(\0132*.greptime.v1.CreateTriggerExpr." - "LabelsEntry\022D\n\013annotations\030\007 \003(\0132/.grept" - "ime.v1.CreateTriggerExpr.AnnotationsEntr" - "y\022\020\n\010interval\030\010 \001(\004\032-\n\013LabelsEntry\022\013\n\003ke" - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0322\n\020Annotation" - "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"]" - "\n\rNotifyChannel\022\014\n\004name\030\001 \001(\t\022.\n\007webhook" - "\030\002 \001(\0132\033.greptime.v1.WebhookOptionsH\000B\016\n" - "\014channel_type\"\177\n\016WebhookOptions\022\013\n\003url\030\001" - " \001(\t\0223\n\004opts\030\002 \003(\0132%.greptime.v1.Webhook" - "Options.OptsEntry\032+\n\tOptsEntry\022\013\n\003key\030\001 " - "\001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"U\n\017DropTriggerExp" - "r\022\024\n\014catalog_name\030\001 \001(\t\022\024\n\014trigger_name\030" - "\002 \001(\t\022\026\n\016drop_if_exists\030\003 \001(\010*$\n\010Analyze" - "r\022\013\n\007ENGLISH\020\000\022\013\n\007CHINESE\020\001*)\n\017FulltextB" - "ackend\022\013\n\007TANTIVY\020\000\022\t\n\005BLOOM\020\001*%\n\021Skippi" - "ngIndexType\022\020\n\014BLOOM_FILTER\020\000BL\n\016io.grep" - "time.v1B\003DdlZ5github.com/GreptimeTeam/gr" - "eptime-proto/go/greptime/v1b\006proto3" + "\n\025greptime/v1/ddl.proto\022\013greptime.v1\032\036go" + "ogle/protobuf/duration.proto\032\030greptime/v" + "1/common.proto\"\250\004\n\nDdlRequest\022:\n\017create_" + "database\030\001 \001(\0132\037.greptime.v1.CreateDatab" + "aseExprH\000\0224\n\014create_table\030\002 \001(\0132\034.grepti" + "me.v1.CreateTableExprH\000\0222\n\013alter_table\030\003" + " \001(\0132\033.greptime.v1.AlterTableExprH\000\0220\n\nd" + "rop_table\030\004 \001(\0132\032.greptime.v1.DropTableE" + "xprH\000\0228\n\016truncate_table\030\007 \001(\0132\036.greptime" + ".v1.TruncateTableExprH\000\0222\n\013create_flow\030\010" + " \001(\0132\033.greptime.v1.CreateFlowExprH\000\022.\n\td" + "rop_flow\030\t \001(\0132\031.greptime.v1.DropFlowExp" + "rH\000\0222\n\013create_view\030\n \001(\0132\033.greptime.v1.C" + "reateViewExprH\000\022.\n\tdrop_view\030\013 \001(\0132\031.gre" + "ptime.v1.DropViewExprH\000\0228\n\016alter_databas" + "e\030\014 \001(\0132\036.greptime.v1.AlterDatabaseExprH" + "\000B\006\n\004expr\"\226\003\n\016CreateFlowExpr\022\024\n\014catalog_" + "name\030\001 \001(\t\022\021\n\tflow_name\030\002 \001(\t\0222\n\022source_" + "table_names\030\003 \003(\0132\026.greptime.v1.TableNam" + "e\022/\n\017sink_table_name\030\004 \001(\0132\026.greptime.v1" + ".TableName\022\022\n\nor_replace\030\005 \001(\010\022\034\n\024create" + "_if_not_exists\030\006 \001(\010\022.\n\014expire_after\030\007 \001" + "(\0132\030.greptime.v1.ExpireAfter\022\017\n\007comment\030" + "\010 \001(\t\022\013\n\003sql\030\t \001(\t\022B\n\014flow_options\030\n \003(\013" + "2,.greptime.v1.CreateFlowExpr.FlowOption" + "sEntry\0322\n\020FlowOptionsEntry\022\013\n\003key\030\001 \001(\t\022" + "\r\n\005value\030\002 \001(\t:\0028\001\"u\n\014DropFlowExpr\022\024\n\014ca" + "talog_name\030\001 \001(\t\022\021\n\tflow_name\030\002 \001(\t\022$\n\007f" + "low_id\030\003 \001(\0132\023.greptime.v1.FlowId\022\026\n\016dro" + "p_if_exists\030\005 \001(\010\"\376\001\n\016CreateViewExpr\022\024\n\014" + "catalog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022" + "\021\n\tview_name\030\003 \001(\t\022\024\n\014logical_plan\030\004 \001(\014" + "\022\034\n\024create_if_not_exists\030\005 \001(\010\022\022\n\nor_rep" + "lace\030\006 \001(\010\022+\n\013table_names\030\007 \003(\0132\026.grepti" + "me.v1.TableName\022\017\n\007columns\030\010 \003(\t\022\024\n\014plan" + "_columns\030\t \003(\t\022\022\n\ndefinition\030\n \001(\t\"\213\001\n\014D" + "ropViewExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sch" + "ema_name\030\002 \001(\t\022\021\n\tview_name\030\003 \001(\t\022%\n\007vie" + "w_id\030\004 \001(\0132\024.greptime.v1.TableId\022\026\n\016drop" + "_if_exists\030\005 \001(\010\"\207\003\n\017CreateTableExpr\022\024\n\014" + "catalog_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\013col" + "umn_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.CreateTableE" + "xpr.TableOptionsEntry\022&\n\010table_id\030\n \001(\0132" + "\024.greptime.v1.TableId\022\016\n\006engine\030\014 \001(\t\0323\n" + "\021TableOptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + "\030\002 \001(\t:\0028\001\"\312\005\n\016AlterTableExpr\022\024\n\014catalog" + "_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntabl" + "e_name\030\003 \001(\t\022.\n\013add_columns\030\004 \001(\0132\027.grep" + "time.v1.AddColumnsH\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\000" + "\022=\n\023modify_column_types\030\007 \001(\0132\036.greptime" + ".v1.ModifyColumnTypesH\000\0229\n\021set_table_opt" + "ions\030\010 \001(\0132\034.greptime.v1.SetTableOptions" + "H\000\022=\n\023unset_table_options\030\013 \001(\0132\036.grepti" + "me.v1.UnsetTableOptionsH\000\022*\n\tset_index\030\014" + " \001(\0132\025.greptime.v1.SetIndexH\000\022.\n\013unset_i" + "ndex\030\r \001(\0132\027.greptime.v1.UnsetIndexH\000\0222\n" + "\rdrop_defaults\030\016 \001(\0132\031.greptime.v1.DropD" + "efaultsH\000\022.\n\013set_indexes\030\017 \001(\0132\027.greptim" + "e.v1.SetIndexesH\000\0222\n\runset_indexes\030\020 \001(\013" + "2\031.greptime.v1.UnsetIndexesH\000\0220\n\014set_def" + "aults\030\021 \001(\0132\030.greptime.v1.SetDefaultsH\000B" + "\006\n\004kind\"\"\n\013DropDefault\022\023\n\013column_name\030\001 " + "\001(\t\"8\n\nSetIndexes\022*\n\013set_indexes\030\001 \003(\0132\025" + ".greptime.v1.SetIndex\">\n\014UnsetIndexes\022.\n" + "\runset_indexes\030\001 \003(\0132\027.greptime.v1.Unset" + "Index\"=\n\nSetDefault\022\023\n\013column_name\030\001 \001(\t" + "\022\032\n\022default_constraint\030\002 \001(\014\"\237\001\n\010SetInde" + "x\022,\n\010fulltext\030\001 \001(\0132\030.greptime.v1.SetFul" + "ltextH\000\022,\n\010inverted\030\002 \001(\0132\030.greptime.v1." + "SetInvertedH\000\022,\n\010skipping\030\003 \001(\0132\030.grepti" + "me.v1.SetSkippingH\000B\t\n\007options\"\247\001\n\nUnset" + "Index\022.\n\010fulltext\030\001 \001(\0132\032.greptime.v1.Un" + "setFulltextH\000\022.\n\010inverted\030\002 \001(\0132\032.grepti" + "me.v1.UnsetInvertedH\000\022.\n\010skipping\030\003 \001(\0132" + "\032.greptime.v1.UnsetSkippingH\000B\t\n\007options" + "\"\216\001\n\rDropTableExpr\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.TableI" + "d\022\026\n\016drop_if_exists\030\005 \001(\010\"\314\001\n\022CreateData" + "baseExpr\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\007options\030\004 \003(\0132,.greptime.v1.CreateD" + "atabaseExpr.OptionsEntry\032.\n\014OptionsEntry" + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\250\001\n\021Tru" + "ncateTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013" + "schema_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\022,\n" + "\013time_ranges\030\005 \001(\0132\027.greptime.v1.TimeRan" + "ges\"U\n\020DropDatabaseExpr\022\024\n\014catalog_name\030" + "\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016drop_if_ex" + "ists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_columns\030" + "\001 \003(\0132\026.greptime.v1.AddColumn\"\?\n\014DropDef" + "aults\022/\n\rdrop_defaults\030\001 \003(\0132\030.greptime." + "v1.DropDefault\"<\n\013SetDefaults\022-\n\014set_def" + "aults\030\001 \003(\0132\027.greptime.v1.SetDefault\"<\n\013" + "DropColumns\022-\n\014drop_columns\030\001 \003(\0132\027.grep" + "time.v1.DropColumn\"O\n\021ModifyColumnTypes\022" + ":\n\023modify_column_types\030\001 \003(\0132\035.greptime." + "v1.ModifyColumnType\"%\n\013RenameTable\022\026\n\016ne" + "w_table_name\030\001 \001(\t\"\204\001\n\tAddColumn\022*\n\ncolu" + "mn_def\030\001 \001(\0132\026.greptime.v1.ColumnDef\0220\n\010" + "location\030\003 \001(\0132\036.greptime.v1.AddColumnLo" + "cation\022\031\n\021add_if_not_exists\030\004 \001(\010\"\236\001\n\020Mo" + "difyColumnType\022\023\n\013column_name\030\001 \001(\t\0220\n\013t" + "arget_type\030\002 \001(\0162\033.greptime.v1.ColumnDat" + "aType\022C\n\025target_type_extension\030\003 \001(\0132$.g" + "reptime.v1.ColumnDataTypeExtension\"$\n\006Op" + "tion\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"=\n\017SetT" + "ableOptions\022*\n\rtable_options\030\001 \003(\0132\023.gre" + "ptime.v1.Option\"!\n\021UnsetTableOptions\022\014\n\004" + "keys\030\001 \003(\t\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025" + "\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022\n\n\002id\030\001 " + "\001(\r\"\254\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022.\n\tdata_" + "type\030\002 \001(\0162\033.greptime.v1.ColumnDataType\022" + "\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_constrai" + "nt\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162\031.grepti" + "me.v1.SemanticType\022\017\n\007comment\030\006 \001(\t\022@\n\022d" + "atatype_extension\030\007 \001(\0132$.greptime.v1.Co" + "lumnDataTypeExtension\022+\n\007options\030\010 \001(\0132\032" + ".greptime.v1.ColumnOptions\"\230\001\n\021AddColumn" + "Location\022B\n\rlocation_type\030\001 \001(\0162+.grepti" + "me.v1.AddColumnLocation.LocationType\022\031\n\021" + "after_column_name\030\002 \001(\t\"$\n\014LocationType\022" + "\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001\"\324\001\n\013SetFulltext\022\023\n" + "\013column_name\030\001 \001(\t\022\016\n\006enable\030\002 \001(\010\022\'\n\010an" + "alyzer\030\003 \001(\0162\025.greptime.v1.Analyzer\022\026\n\016c" + "ase_sensitive\030\004 \001(\010\022-\n\007backend\030\005 \001(\0162\034.g" + "reptime.v1.FulltextBackend\022\023\n\013granularit" + "y\030\006 \001(\004\022\033\n\023false_positive_rate\030\007 \001(\001\"$\n\r" + "UnsetFulltext\022\023\n\013column_name\030\001 \001(\t\"\"\n\013Se" + "tInverted\022\023\n\013column_name\030\001 \001(\t\"$\n\rUnsetI" + "nverted\022\023\n\013column_name\030\001 \001(\t\"\241\001\n\013SetSkip" + "ping\022\023\n\013column_name\030\001 \001(\t\022\016\n\006enable\030\002 \001(" + "\010\022\023\n\013granularity\030\003 \001(\004\022;\n\023skipping_index" + "_type\030\004 \001(\0162\036.greptime.v1.SkippingIndexT" + "ype\022\033\n\023false_positive_rate\030\005 \001(\001\"$\n\rUnse" + "tSkipping\022\023\n\013column_name\030\001 \001(\t\"\314\001\n\021Alter" + "DatabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sc" + "hema_name\030\002 \001(\t\022\?\n\024set_database_options\030" + "\003 \001(\0132\037.greptime.v1.SetDatabaseOptionsH\000" + "\022C\n\026unset_database_options\030\004 \001(\0132!.grept" + "ime.v1.UnsetDatabaseOptionsH\000B\006\n\004kind\"G\n" + "\022SetDatabaseOptions\0221\n\024set_database_opti" + "ons\030\001 \003(\0132\023.greptime.v1.Option\"$\n\024UnsetD" + "atabaseOptions\022\014\n\004keys\030\001 \003(\t\"\305\003\n\021CreateT" + "riggerExpr\022\024\n\014catalog_name\030\001 \001(\t\022\024\n\014trig" + "ger_name\030\002 \001(\t\022\034\n\024create_if_not_exists\030\003" + " \001(\010\022\013\n\003sql\030\004 \001(\t\022,\n\010channels\030\005 \003(\0132\032.gr" + "eptime.v1.NotifyChannel\022:\n\006labels\030\006 \003(\0132" + "*.greptime.v1.CreateTriggerExpr.LabelsEn" + "try\022D\n\013annotations\030\007 \003(\0132/.greptime.v1.C" + "reateTriggerExpr.AnnotationsEntry\022+\n\010int" + "erval\030\010 \001(\0132\031.google.protobuf.Duration\022\031" + "\n\021raw_interval_expr\030\t \001(\t\032-\n\013LabelsEntry" + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0322\n\020Anno" + "tationsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + ":\0028\001\"]\n\rNotifyChannel\022\014\n\004name\030\001 \001(\t\022.\n\007w" + "ebhook\030\002 \001(\0132\033.greptime.v1.WebhookOption" + "sH\000B\016\n\014channel_type\"\177\n\016WebhookOptions\022\013\n" + "\003url\030\001 \001(\t\0223\n\004opts\030\002 \003(\0132%.greptime.v1.W" + "ebhookOptions.OptsEntry\032+\n\tOptsEntry\022\013\n\003" + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"U\n\017DropTrig" + "gerExpr\022\024\n\014catalog_name\030\001 \001(\t\022\024\n\014trigger" + "_name\030\002 \001(\t\022\026\n\016drop_if_exists\030\003 \001(\010*$\n\010A" + "nalyzer\022\013\n\007ENGLISH\020\000\022\013\n\007CHINESE\020\001*)\n\017Ful" + "ltextBackend\022\013\n\007TANTIVY\020\000\022\t\n\005BLOOM\020\001*%\n\021" + "SkippingIndexType\022\020\n\014BLOOM_FILTER\020\000BL\n\016i" + "o.greptime.v1B\003DdlZ5github.com/GreptimeT" + "eam/greptime-proto/go/greptime/v1b\006proto" + "3" ; -static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fddl_2eproto_deps[1] = { +static const ::_pbi::DescriptorTable* const descriptor_table_greptime_2fv1_2fddl_2eproto_deps[2] = { + &::descriptor_table_google_2fprotobuf_2fduration_2eproto, &::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, 6915, descriptor_table_protodef_greptime_2fv1_2fddl_2eproto, + false, false, 7001, 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, 52, + &descriptor_table_greptime_2fv1_2fddl_2eproto_once, descriptor_table_greptime_2fv1_2fddl_2eproto_deps, 2, 52, schemas, file_default_instances, TableStruct_greptime_2fv1_2fddl_2eproto::offsets, file_level_metadata_greptime_2fv1_2fddl_2eproto, file_level_enum_descriptors_greptime_2fv1_2fddl_2eproto, file_level_service_descriptors_greptime_2fv1_2fddl_2eproto, @@ -14916,8 +14922,19 @@ void CreateTriggerExpr_AnnotationsEntry_DoNotUse::MergeFrom(const CreateTriggerE class CreateTriggerExpr::_Internal { public: + static const ::PROTOBUF_NAMESPACE_ID::Duration& interval(const CreateTriggerExpr* msg); }; +const ::PROTOBUF_NAMESPACE_ID::Duration& +CreateTriggerExpr::_Internal::interval(const CreateTriggerExpr* msg) { + return *msg->_impl_.interval_; +} +void CreateTriggerExpr::clear_interval() { + if (GetArenaForAllocation() == nullptr && _impl_.interval_ != nullptr) { + delete _impl_.interval_; + } + _impl_.interval_ = nullptr; +} CreateTriggerExpr::CreateTriggerExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -14937,7 +14954,8 @@ CreateTriggerExpr::CreateTriggerExpr(const CreateTriggerExpr& from) , decltype(_impl_.catalog_name_){} , decltype(_impl_.trigger_name_){} , decltype(_impl_.sql_){} - , decltype(_impl_.interval_){} + , decltype(_impl_.raw_interval_expr_){} + , decltype(_impl_.interval_){nullptr} , decltype(_impl_.create_if_not_exists_){} , /*decltype(_impl_._cached_size_)*/{}}; @@ -14968,9 +14986,18 @@ CreateTriggerExpr::CreateTriggerExpr(const CreateTriggerExpr& from) _this->_impl_.sql_.Set(from._internal_sql(), _this->GetArenaForAllocation()); } - ::memcpy(&_impl_.interval_, &from._impl_.interval_, - static_cast(reinterpret_cast(&_impl_.create_if_not_exists_) - - reinterpret_cast(&_impl_.interval_)) + sizeof(_impl_.create_if_not_exists_)); + _impl_.raw_interval_expr_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.raw_interval_expr_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_raw_interval_expr().empty()) { + _this->_impl_.raw_interval_expr_.Set(from._internal_raw_interval_expr(), + _this->GetArenaForAllocation()); + } + if (from._internal_has_interval()) { + _this->_impl_.interval_ = new ::PROTOBUF_NAMESPACE_ID::Duration(*from._impl_.interval_); + } + _this->_impl_.create_if_not_exists_ = from._impl_.create_if_not_exists_; // @@protoc_insertion_point(copy_constructor:greptime.v1.CreateTriggerExpr) } @@ -14985,7 +15012,8 @@ inline void CreateTriggerExpr::SharedCtor( , decltype(_impl_.catalog_name_){} , decltype(_impl_.trigger_name_){} , decltype(_impl_.sql_){} - , decltype(_impl_.interval_){uint64_t{0u}} + , decltype(_impl_.raw_interval_expr_){} + , decltype(_impl_.interval_){nullptr} , decltype(_impl_.create_if_not_exists_){false} , /*decltype(_impl_._cached_size_)*/{} }; @@ -15001,6 +15029,10 @@ inline void CreateTriggerExpr::SharedCtor( #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.sql_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.raw_interval_expr_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.raw_interval_expr_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING } CreateTriggerExpr::~CreateTriggerExpr() { @@ -15023,6 +15055,8 @@ inline void CreateTriggerExpr::SharedDtor() { _impl_.catalog_name_.Destroy(); _impl_.trigger_name_.Destroy(); _impl_.sql_.Destroy(); + _impl_.raw_interval_expr_.Destroy(); + if (this != internal_default_instance()) delete _impl_.interval_; } void CreateTriggerExpr::ArenaDtor(void* object) { @@ -15046,9 +15080,12 @@ void CreateTriggerExpr::Clear() { _impl_.catalog_name_.ClearToEmpty(); _impl_.trigger_name_.ClearToEmpty(); _impl_.sql_.ClearToEmpty(); - ::memset(&_impl_.interval_, 0, static_cast( - reinterpret_cast(&_impl_.create_if_not_exists_) - - reinterpret_cast(&_impl_.interval_)) + sizeof(_impl_.create_if_not_exists_)); + _impl_.raw_interval_expr_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.interval_ != nullptr) { + delete _impl_.interval_; + } + _impl_.interval_ = nullptr; + _impl_.create_if_not_exists_ = false; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -15135,14 +15172,24 @@ const char* CreateTriggerExpr::_InternalParse(const char* ptr, ::_pbi::ParseCont } else goto handle_unusual; continue; - // uint64 interval = 8; + // .google.protobuf.Duration interval = 8; case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { - _impl_.interval_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + ptr = ctx->ParseMessage(_internal_mutable_interval(), ptr); CHK_(ptr); } else goto handle_unusual; continue; + // string raw_interval_expr = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + auto str = _internal_mutable_raw_interval_expr(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "greptime.v1.CreateTriggerExpr.raw_interval_expr")); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -15276,10 +15323,21 @@ uint8_t* CreateTriggerExpr::_InternalSerialize( } } - // uint64 interval = 8; - if (this->_internal_interval() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt64ToArray(8, this->_internal_interval(), target); + // .google.protobuf.Duration interval = 8; + if (this->_internal_has_interval()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(8, _Internal::interval(this), + _Internal::interval(this).GetCachedSize(), target, stream); + } + + // string raw_interval_expr = 9; + if (!this->_internal_raw_interval_expr().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_raw_interval_expr().data(), static_cast(this->_internal_raw_interval_expr().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "greptime.v1.CreateTriggerExpr.raw_interval_expr"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_raw_interval_expr(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -15344,9 +15402,18 @@ size_t CreateTriggerExpr::ByteSizeLong() const { this->_internal_sql()); } - // uint64 interval = 8; - if (this->_internal_interval() != 0) { - total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_interval()); + // string raw_interval_expr = 9; + if (!this->_internal_raw_interval_expr().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_raw_interval_expr()); + } + + // .google.protobuf.Duration interval = 8; + if (this->_internal_has_interval()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.interval_); } // bool create_if_not_exists = 3; @@ -15384,8 +15451,12 @@ void CreateTriggerExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, cons if (!from._internal_sql().empty()) { _this->_internal_set_sql(from._internal_sql()); } - if (from._internal_interval() != 0) { - _this->_internal_set_interval(from._internal_interval()); + if (!from._internal_raw_interval_expr().empty()) { + _this->_internal_set_raw_interval_expr(from._internal_raw_interval_expr()); + } + if (from._internal_has_interval()) { + _this->_internal_mutable_interval()->::PROTOBUF_NAMESPACE_ID::Duration::MergeFrom( + from._internal_interval()); } if (from._internal_create_if_not_exists() != 0) { _this->_internal_set_create_if_not_exists(from._internal_create_if_not_exists()); @@ -15424,6 +15495,10 @@ void CreateTriggerExpr::InternalSwap(CreateTriggerExpr* other) { &_impl_.sql_, lhs_arena, &other->_impl_.sql_, rhs_arena ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.raw_interval_expr_, lhs_arena, + &other->_impl_.raw_interval_expr_, rhs_arena + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< PROTOBUF_FIELD_OFFSET(CreateTriggerExpr, _impl_.create_if_not_exists_) + sizeof(CreateTriggerExpr::_impl_.create_if_not_exists_) diff --git a/c++/greptime/v1/ddl.pb.h b/c++/greptime/v1/ddl.pb.h index 886ec0c..153e1c8 100644 --- a/c++/greptime/v1/ddl.pb.h +++ b/c++/greptime/v1/ddl.pb.h @@ -34,6 +34,7 @@ #include #include #include +#include #include "greptime/v1/common.pb.h" // @@protoc_insertion_point(includes) #include @@ -9020,6 +9021,7 @@ class CreateTriggerExpr final : kCatalogNameFieldNumber = 1, kTriggerNameFieldNumber = 2, kSqlFieldNumber = 4, + kRawIntervalExprFieldNumber = 9, kIntervalFieldNumber = 8, kCreateIfNotExistsFieldNumber = 3, }; @@ -9117,15 +9119,38 @@ class CreateTriggerExpr final : std::string* _internal_mutable_sql(); public: - // uint64 interval = 8; - void clear_interval(); - uint64_t interval() const; - void set_interval(uint64_t value); + // string raw_interval_expr = 9; + void clear_raw_interval_expr(); + const std::string& raw_interval_expr() const; + template + void set_raw_interval_expr(ArgT0&& arg0, ArgT... args); + std::string* mutable_raw_interval_expr(); + PROTOBUF_NODISCARD std::string* release_raw_interval_expr(); + void set_allocated_raw_interval_expr(std::string* raw_interval_expr); private: - uint64_t _internal_interval() const; - void _internal_set_interval(uint64_t value); + const std::string& _internal_raw_interval_expr() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_raw_interval_expr(const std::string& value); + std::string* _internal_mutable_raw_interval_expr(); public: + // .google.protobuf.Duration interval = 8; + bool has_interval() const; + private: + bool _internal_has_interval() const; + public: + void clear_interval(); + const ::PROTOBUF_NAMESPACE_ID::Duration& interval() const; + PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Duration* release_interval(); + ::PROTOBUF_NAMESPACE_ID::Duration* mutable_interval(); + void set_allocated_interval(::PROTOBUF_NAMESPACE_ID::Duration* interval); + private: + const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_interval() const; + ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_interval(); + public: + void unsafe_arena_set_allocated_interval( + ::PROTOBUF_NAMESPACE_ID::Duration* interval); + ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_interval(); + // bool create_if_not_exists = 3; void clear_create_if_not_exists(); bool create_if_not_exists() const; @@ -9157,7 +9182,8 @@ class CreateTriggerExpr final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr catalog_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sql_; - uint64_t interval_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr raw_interval_expr_; + ::PROTOBUF_NAMESPACE_ID::Duration* interval_; bool create_if_not_exists_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; @@ -17749,24 +17775,139 @@ CreateTriggerExpr::mutable_annotations() { return _internal_mutable_annotations(); } -// uint64 interval = 8; -inline void CreateTriggerExpr::clear_interval() { - _impl_.interval_ = uint64_t{0u}; +// .google.protobuf.Duration interval = 8; +inline bool CreateTriggerExpr::_internal_has_interval() const { + return this != internal_default_instance() && _impl_.interval_ != nullptr; } -inline uint64_t CreateTriggerExpr::_internal_interval() const { - return _impl_.interval_; +inline bool CreateTriggerExpr::has_interval() const { + return _internal_has_interval(); } -inline uint64_t CreateTriggerExpr::interval() const { +inline const ::PROTOBUF_NAMESPACE_ID::Duration& CreateTriggerExpr::_internal_interval() const { + const ::PROTOBUF_NAMESPACE_ID::Duration* p = _impl_.interval_; + return p != nullptr ? *p : reinterpret_cast( + ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_); +} +inline const ::PROTOBUF_NAMESPACE_ID::Duration& CreateTriggerExpr::interval() const { // @@protoc_insertion_point(field_get:greptime.v1.CreateTriggerExpr.interval) return _internal_interval(); } -inline void CreateTriggerExpr::_internal_set_interval(uint64_t value) { - - _impl_.interval_ = value; +inline void CreateTriggerExpr::unsafe_arena_set_allocated_interval( + ::PROTOBUF_NAMESPACE_ID::Duration* interval) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.interval_); + } + _impl_.interval_ = interval; + if (interval) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.CreateTriggerExpr.interval) } -inline void CreateTriggerExpr::set_interval(uint64_t value) { - _internal_set_interval(value); - // @@protoc_insertion_point(field_set:greptime.v1.CreateTriggerExpr.interval) +inline ::PROTOBUF_NAMESPACE_ID::Duration* CreateTriggerExpr::release_interval() { + + ::PROTOBUF_NAMESPACE_ID::Duration* temp = _impl_.interval_; + _impl_.interval_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::PROTOBUF_NAMESPACE_ID::Duration* CreateTriggerExpr::unsafe_arena_release_interval() { + // @@protoc_insertion_point(field_release:greptime.v1.CreateTriggerExpr.interval) + + ::PROTOBUF_NAMESPACE_ID::Duration* temp = _impl_.interval_; + _impl_.interval_ = nullptr; + return temp; +} +inline ::PROTOBUF_NAMESPACE_ID::Duration* CreateTriggerExpr::_internal_mutable_interval() { + + if (_impl_.interval_ == nullptr) { + auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation()); + _impl_.interval_ = p; + } + return _impl_.interval_; +} +inline ::PROTOBUF_NAMESPACE_ID::Duration* CreateTriggerExpr::mutable_interval() { + ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_interval(); + // @@protoc_insertion_point(field_mutable:greptime.v1.CreateTriggerExpr.interval) + return _msg; +} +inline void CreateTriggerExpr::set_allocated_interval(::PROTOBUF_NAMESPACE_ID::Duration* interval) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.interval_); + } + if (interval) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interval)); + if (message_arena != submessage_arena) { + interval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, interval, submessage_arena); + } + + } else { + + } + _impl_.interval_ = interval; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.CreateTriggerExpr.interval) +} + +// string raw_interval_expr = 9; +inline void CreateTriggerExpr::clear_raw_interval_expr() { + _impl_.raw_interval_expr_.ClearToEmpty(); +} +inline const std::string& CreateTriggerExpr::raw_interval_expr() const { + // @@protoc_insertion_point(field_get:greptime.v1.CreateTriggerExpr.raw_interval_expr) + return _internal_raw_interval_expr(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void CreateTriggerExpr::set_raw_interval_expr(ArgT0&& arg0, ArgT... args) { + + _impl_.raw_interval_expr_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:greptime.v1.CreateTriggerExpr.raw_interval_expr) +} +inline std::string* CreateTriggerExpr::mutable_raw_interval_expr() { + std::string* _s = _internal_mutable_raw_interval_expr(); + // @@protoc_insertion_point(field_mutable:greptime.v1.CreateTriggerExpr.raw_interval_expr) + return _s; +} +inline const std::string& CreateTriggerExpr::_internal_raw_interval_expr() const { + return _impl_.raw_interval_expr_.Get(); +} +inline void CreateTriggerExpr::_internal_set_raw_interval_expr(const std::string& value) { + + _impl_.raw_interval_expr_.Set(value, GetArenaForAllocation()); +} +inline std::string* CreateTriggerExpr::_internal_mutable_raw_interval_expr() { + + return _impl_.raw_interval_expr_.Mutable(GetArenaForAllocation()); +} +inline std::string* CreateTriggerExpr::release_raw_interval_expr() { + // @@protoc_insertion_point(field_release:greptime.v1.CreateTriggerExpr.raw_interval_expr) + return _impl_.raw_interval_expr_.Release(); +} +inline void CreateTriggerExpr::set_allocated_raw_interval_expr(std::string* raw_interval_expr) { + if (raw_interval_expr != nullptr) { + + } else { + + } + _impl_.raw_interval_expr_.SetAllocated(raw_interval_expr, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.raw_interval_expr_.IsDefault()) { + _impl_.raw_interval_expr_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:greptime.v1.CreateTriggerExpr.raw_interval_expr) } // ------------------------------------------------------------------- diff --git a/go/greptime/v1/ddl.pb.go b/go/greptime/v1/ddl.pb.go index 85ad5ef..75c8f51 100644 --- a/go/greptime/v1/ddl.pb.go +++ b/go/greptime/v1/ddl.pb.go @@ -23,6 +23,7 @@ package v1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" reflect "reflect" sync "sync" ) @@ -3288,9 +3289,10 @@ type CreateTriggerExpr struct { // The user-defined labels. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The user-defined annotations. - Annotations map[string]string `protobuf:"bytes,7,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // The execution interval for sql query in seconds. - Interval uint64 `protobuf:"varint,8,opt,name=interval,proto3" json:"interval,omitempty"` + Annotations map[string]string `protobuf:"bytes,7,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Interval *durationpb.Duration `protobuf:"bytes,8,opt,name=interval,proto3" json:"interval,omitempty"` + // The raw interval expression, e.g., '1 minute'::INTERVAL. + RawIntervalExpr string `protobuf:"bytes,9,opt,name=raw_interval_expr,json=rawIntervalExpr,proto3" json:"raw_interval_expr,omitempty"` } func (x *CreateTriggerExpr) Reset() { @@ -3374,11 +3376,18 @@ func (x *CreateTriggerExpr) GetAnnotations() map[string]string { return nil } -func (x *CreateTriggerExpr) GetInterval() uint64 { +func (x *CreateTriggerExpr) GetInterval() *durationpb.Duration { if x != nil { return x.Interval } - return 0 + return nil +} + +func (x *CreateTriggerExpr) GetRawIntervalExpr() string { + if x != nil { + return x.RawIntervalExpr + } + return "" } // The notification channel for trigger. @@ -3581,7 +3590,9 @@ var File_greptime_v1_ddl_proto protoreflect.FileDescriptor var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x0a, 0x15, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x64, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x18, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, + 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x05, 0x0a, 0x0a, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, @@ -4067,7 +4078,7 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x14, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x82, 0x04, 0x0a, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xc9, 0x04, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 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, @@ -4090,54 +4101,58 @@ var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 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, 0x6c, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x42, - 0x0e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x96, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x1a, - 0x37, 0x0a, 0x09, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, 0x77, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x61, + 0x77, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x7d, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, - 0x54, 0x72, 0x69, 0x67, 0x67, 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, 0x21, - 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 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, 0x2a, 0x24, 0x0a, 0x08, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x7a, 0x65, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x29, 0x0a, - 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x56, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, - 0x05, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x10, 0x01, 0x2a, 0x25, 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, - 0x0c, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 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, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 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, 0x6c, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, + 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x77, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x6f, + 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x65, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x4f, 0x70, 0x74, 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, + 0x7d, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 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, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 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, 0x2a, 0x24, + 0x0a, 0x08, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, + 0x47, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x48, 0x49, 0x4e, 0x45, + 0x53, 0x45, 0x10, 0x01, 0x2a, 0x29, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x41, 0x4e, 0x54, 0x49, + 0x56, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x10, 0x01, 0x2a, + 0x25, 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x46, 0x49, + 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 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 ( @@ -4218,6 +4233,7 @@ var file_greptime_v1_ddl_proto_goTypes = []interface{}{ (*ColumnDataTypeExtension)(nil), // 60: greptime.v1.ColumnDataTypeExtension (SemanticType)(0), // 61: greptime.v1.SemanticType (*ColumnOptions)(nil), // 62: greptime.v1.ColumnOptions + (*durationpb.Duration)(nil), // 63: google.protobuf.Duration } var file_greptime_v1_ddl_proto_depIdxs = []int32{ 18, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr @@ -4288,13 +4304,14 @@ var file_greptime_v1_ddl_proto_depIdxs = []int32{ 47, // 65: greptime.v1.CreateTriggerExpr.channels:type_name -> greptime.v1.NotifyChannel 53, // 66: greptime.v1.CreateTriggerExpr.labels:type_name -> greptime.v1.CreateTriggerExpr.LabelsEntry 54, // 67: greptime.v1.CreateTriggerExpr.annotations:type_name -> greptime.v1.CreateTriggerExpr.AnnotationsEntry - 48, // 68: greptime.v1.NotifyChannel.webhook:type_name -> greptime.v1.WebhookOptions - 55, // 69: greptime.v1.WebhookOptions.opts:type_name -> greptime.v1.WebhookOptions.OptsEntry - 70, // [70:70] is the sub-list for method output_type - 70, // [70:70] is the sub-list for method input_type - 70, // [70:70] is the sub-list for extension type_name - 70, // [70:70] is the sub-list for extension extendee - 0, // [0:70] is the sub-list for field type_name + 63, // 68: greptime.v1.CreateTriggerExpr.interval:type_name -> google.protobuf.Duration + 48, // 69: greptime.v1.NotifyChannel.webhook:type_name -> greptime.v1.WebhookOptions + 55, // 70: greptime.v1.WebhookOptions.opts:type_name -> greptime.v1.WebhookOptions.OptsEntry + 71, // [71:71] is the sub-list for method output_type + 71, // [71:71] is the sub-list for method input_type + 71, // [71:71] is the sub-list for extension type_name + 71, // [71:71] is the sub-list for extension extendee + 0, // [0:71] is the sub-list for field type_name } func init() { file_greptime_v1_ddl_proto_init() } diff --git a/java/src/main/java/io/greptime/v1/Ddl.java b/java/src/main/java/io/greptime/v1/Ddl.java index 9305902..24deeb8 100644 --- a/java/src/main/java/io/greptime/v1/Ddl.java +++ b/java/src/main/java/io/greptime/v1/Ddl.java @@ -45170,14 +45170,39 @@ java.lang.String defaultValue); java.lang.String key); /** - *
-     * The execution interval for sql query in seconds.
-     * 
- * - * uint64 interval = 8; + * .google.protobuf.Duration interval = 8; + * @return Whether the interval field is set. + */ + boolean hasInterval(); + /** + * .google.protobuf.Duration interval = 8; * @return The interval. */ - long getInterval(); + com.google.protobuf.Duration getInterval(); + /** + * .google.protobuf.Duration interval = 8; + */ + com.google.protobuf.DurationOrBuilder getIntervalOrBuilder(); + + /** + *
+     * The raw interval expression, e.g., '1 minute'::INTERVAL.
+     * 
+ * + * string raw_interval_expr = 9; + * @return The rawIntervalExpr. + */ + java.lang.String getRawIntervalExpr(); + /** + *
+     * The raw interval expression, e.g., '1 minute'::INTERVAL.
+     * 
+ * + * string raw_interval_expr = 9; + * @return The bytes for rawIntervalExpr. + */ + com.google.protobuf.ByteString + getRawIntervalExprBytes(); } /** *
@@ -45200,6 +45225,7 @@ java.lang.String defaultValue);
       triggerName_ = "";
       sql_ = "";
       channels_ = java.util.Collections.emptyList();
+      rawIntervalExpr_ = "";
     }
 
     @java.lang.Override
@@ -45291,9 +45317,23 @@ java.lang.String defaultValue);
                   annotations__.getKey(), annotations__.getValue());
               break;
             }
-            case 64: {
+            case 66: {
+              com.google.protobuf.Duration.Builder subBuilder = null;
+              if (interval_ != null) {
+                subBuilder = interval_.toBuilder();
+              }
+              interval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(interval_);
+                interval_ = subBuilder.buildPartial();
+              }
 
-              interval_ = input.readUInt64();
+              break;
+            }
+            case 74: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              rawIntervalExpr_ = s;
               break;
             }
             default: {
@@ -45735,18 +45775,75 @@ java.lang.String defaultValue);
     }
 
     public static final int INTERVAL_FIELD_NUMBER = 8;
-    private long interval_;
+    private com.google.protobuf.Duration interval_;
     /**
-     * 
-     * The execution interval for sql query in seconds.
-     * 
- * - * uint64 interval = 8; + * .google.protobuf.Duration interval = 8; + * @return Whether the interval field is set. + */ + @java.lang.Override + public boolean hasInterval() { + return interval_ != null; + } + /** + * .google.protobuf.Duration interval = 8; * @return The interval. */ @java.lang.Override - public long getInterval() { - return interval_; + public com.google.protobuf.Duration getInterval() { + return interval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : interval_; + } + /** + * .google.protobuf.Duration interval = 8; + */ + @java.lang.Override + public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder() { + return getInterval(); + } + + public static final int RAW_INTERVAL_EXPR_FIELD_NUMBER = 9; + private volatile java.lang.Object rawIntervalExpr_; + /** + *
+     * The raw interval expression, e.g., '1 minute'::INTERVAL.
+     * 
+ * + * string raw_interval_expr = 9; + * @return The rawIntervalExpr. + */ + @java.lang.Override + public java.lang.String getRawIntervalExpr() { + java.lang.Object ref = rawIntervalExpr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + rawIntervalExpr_ = s; + return s; + } + } + /** + *
+     * The raw interval expression, e.g., '1 minute'::INTERVAL.
+     * 
+ * + * string raw_interval_expr = 9; + * @return The bytes for rawIntervalExpr. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRawIntervalExprBytes() { + java.lang.Object ref = rawIntervalExpr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + rawIntervalExpr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } private byte memoizedIsInitialized = -1; @@ -45790,8 +45887,11 @@ java.lang.String defaultValue); internalGetAnnotations(), AnnotationsDefaultEntryHolder.defaultEntry, 7); - if (interval_ != 0L) { - output.writeUInt64(8, interval_); + if (interval_ != null) { + output.writeMessage(8, getInterval()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rawIntervalExpr_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 9, rawIntervalExpr_); } unknownFields.writeTo(output); } @@ -45839,9 +45939,12 @@ java.lang.String defaultValue); size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, annotations__); } - if (interval_ != 0L) { + if (interval_ != null) { size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(8, interval_); + .computeMessageSize(8, getInterval()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rawIntervalExpr_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, rawIntervalExpr_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -45872,8 +45975,13 @@ java.lang.String defaultValue); other.internalGetLabels())) return false; if (!internalGetAnnotations().equals( other.internalGetAnnotations())) return false; - if (getInterval() - != other.getInterval()) return false; + if (hasInterval() != other.hasInterval()) return false; + if (hasInterval()) { + if (!getInterval() + .equals(other.getInterval())) return false; + } + if (!getRawIntervalExpr() + .equals(other.getRawIntervalExpr())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -45906,9 +46014,12 @@ java.lang.String defaultValue); hash = (37 * hash) + ANNOTATIONS_FIELD_NUMBER; hash = (53 * hash) + internalGetAnnotations().hashCode(); } - hash = (37 * hash) + INTERVAL_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getInterval()); + if (hasInterval()) { + hash = (37 * hash) + INTERVAL_FIELD_NUMBER; + hash = (53 * hash) + getInterval().hashCode(); + } + hash = (37 * hash) + RAW_INTERVAL_EXPR_FIELD_NUMBER; + hash = (53 * hash) + getRawIntervalExpr().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -46089,7 +46200,13 @@ java.lang.String defaultValue); } internalGetMutableLabels().clear(); internalGetMutableAnnotations().clear(); - interval_ = 0L; + if (intervalBuilder_ == null) { + interval_ = null; + } else { + interval_ = null; + intervalBuilder_ = null; + } + rawIntervalExpr_ = ""; return this; } @@ -46135,7 +46252,12 @@ java.lang.String defaultValue); result.labels_.makeImmutable(); result.annotations_ = internalGetAnnotations(); result.annotations_.makeImmutable(); - result.interval_ = interval_; + if (intervalBuilder_ == null) { + result.interval_ = interval_; + } else { + result.interval_ = intervalBuilder_.build(); + } + result.rawIntervalExpr_ = rawIntervalExpr_; onBuilt(); return result; } @@ -46229,8 +46351,12 @@ java.lang.String defaultValue); other.internalGetLabels()); internalGetMutableAnnotations().mergeFrom( other.internalGetAnnotations()); - if (other.getInterval() != 0L) { - setInterval(other.getInterval()); + if (other.hasInterval()) { + mergeInterval(other.getInterval()); + } + if (!other.getRawIntervalExpr().isEmpty()) { + rawIntervalExpr_ = other.rawIntervalExpr_; + onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -47171,45 +47297,217 @@ java.lang.String defaultValue); return this; } - private long interval_ ; + private com.google.protobuf.Duration interval_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> intervalBuilder_; /** - *
-       * The execution interval for sql query in seconds.
-       * 
- * - * uint64 interval = 8; + * .google.protobuf.Duration interval = 8; + * @return Whether the interval field is set. + */ + public boolean hasInterval() { + return intervalBuilder_ != null || interval_ != null; + } + /** + * .google.protobuf.Duration interval = 8; * @return The interval. */ - @java.lang.Override - public long getInterval() { - return interval_; + public com.google.protobuf.Duration getInterval() { + if (intervalBuilder_ == null) { + return interval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : interval_; + } else { + return intervalBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Duration interval = 8; + */ + public Builder setInterval(com.google.protobuf.Duration value) { + if (intervalBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + interval_ = value; + onChanged(); + } else { + intervalBuilder_.setMessage(value); + } + + return this; + } + /** + * .google.protobuf.Duration interval = 8; + */ + public Builder setInterval( + com.google.protobuf.Duration.Builder builderForValue) { + if (intervalBuilder_ == null) { + interval_ = builderForValue.build(); + onChanged(); + } else { + intervalBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .google.protobuf.Duration interval = 8; + */ + public Builder mergeInterval(com.google.protobuf.Duration value) { + if (intervalBuilder_ == null) { + if (interval_ != null) { + interval_ = + com.google.protobuf.Duration.newBuilder(interval_).mergeFrom(value).buildPartial(); + } else { + interval_ = value; + } + onChanged(); + } else { + intervalBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .google.protobuf.Duration interval = 8; + */ + public Builder clearInterval() { + if (intervalBuilder_ == null) { + interval_ = null; + onChanged(); + } else { + interval_ = null; + intervalBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Duration interval = 8; + */ + public com.google.protobuf.Duration.Builder getIntervalBuilder() { + + onChanged(); + return getIntervalFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Duration interval = 8; + */ + public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder() { + if (intervalBuilder_ != null) { + return intervalBuilder_.getMessageOrBuilder(); + } else { + return interval_ == null ? + com.google.protobuf.Duration.getDefaultInstance() : interval_; + } + } + /** + * .google.protobuf.Duration interval = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> + getIntervalFieldBuilder() { + if (intervalBuilder_ == null) { + intervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( + getInterval(), + getParentForChildren(), + isClean()); + interval_ = null; + } + return intervalBuilder_; + } + + private java.lang.Object rawIntervalExpr_ = ""; + /** + *
+       * The raw interval expression, e.g., '1 minute'::INTERVAL.
+       * 
+ * + * string raw_interval_expr = 9; + * @return The rawIntervalExpr. + */ + public java.lang.String getRawIntervalExpr() { + java.lang.Object ref = rawIntervalExpr_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + rawIntervalExpr_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** *
-       * The execution interval for sql query in seconds.
+       * The raw interval expression, e.g., '1 minute'::INTERVAL.
        * 
* - * uint64 interval = 8; - * @param value The interval to set. + * string raw_interval_expr = 9; + * @return The bytes for rawIntervalExpr. + */ + public com.google.protobuf.ByteString + getRawIntervalExprBytes() { + java.lang.Object ref = rawIntervalExpr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + rawIntervalExpr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The raw interval expression, e.g., '1 minute'::INTERVAL.
+       * 
+ * + * string raw_interval_expr = 9; + * @param value The rawIntervalExpr to set. * @return This builder for chaining. */ - public Builder setInterval(long value) { - - interval_ = value; + public Builder setRawIntervalExpr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + rawIntervalExpr_ = value; onChanged(); return this; } /** *
-       * The execution interval for sql query in seconds.
+       * The raw interval expression, e.g., '1 minute'::INTERVAL.
        * 
* - * uint64 interval = 8; + * string raw_interval_expr = 9; * @return This builder for chaining. */ - public Builder clearInterval() { + public Builder clearRawIntervalExpr() { - interval_ = 0L; + rawIntervalExpr_ = getDefaultInstance().getRawIntervalExpr(); + onChanged(); + return this; + } + /** + *
+       * The raw interval expression, e.g., '1 minute'::INTERVAL.
+       * 
+ * + * string raw_interval_expr = 9; + * @param value The bytes for rawIntervalExpr to set. + * @return This builder for chaining. + */ + public Builder setRawIntervalExprBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + rawIntervalExpr_ = value; onChanged(); return this; } @@ -50108,183 +50406,187 @@ java.lang.String defaultValue); descriptor; static { java.lang.String[] descriptorData = { - "\n\025greptime/v1/ddl.proto\022\013greptime.v1\032\030gr" + - "eptime/v1/common.proto\"\250\004\n\nDdlRequest\022:\n" + - "\017create_database\030\001 \001(\0132\037.greptime.v1.Cre" + - "ateDatabaseExprH\000\0224\n\014create_table\030\002 \001(\0132" + - "\034.greptime.v1.CreateTableExprH\000\0222\n\013alter" + - "_table\030\003 \001(\0132\033.greptime.v1.AlterTableExp" + - "rH\000\0220\n\ndrop_table\030\004 \001(\0132\032.greptime.v1.Dr" + - "opTableExprH\000\0228\n\016truncate_table\030\007 \001(\0132\036." + - "greptime.v1.TruncateTableExprH\000\0222\n\013creat" + - "e_flow\030\010 \001(\0132\033.greptime.v1.CreateFlowExp" + - "rH\000\022.\n\tdrop_flow\030\t \001(\0132\031.greptime.v1.Dro" + - "pFlowExprH\000\0222\n\013create_view\030\n \001(\0132\033.grept" + - "ime.v1.CreateViewExprH\000\022.\n\tdrop_view\030\013 \001" + - "(\0132\031.greptime.v1.DropViewExprH\000\0228\n\016alter" + - "_database\030\014 \001(\0132\036.greptime.v1.AlterDatab" + - "aseExprH\000B\006\n\004expr\"\226\003\n\016CreateFlowExpr\022\024\n\014" + - "catalog_name\030\001 \001(\t\022\021\n\tflow_name\030\002 \001(\t\0222\n" + - "\022source_table_names\030\003 \003(\0132\026.greptime.v1." + - "TableName\022/\n\017sink_table_name\030\004 \001(\0132\026.gre" + - "ptime.v1.TableName\022\022\n\nor_replace\030\005 \001(\010\022\034" + - "\n\024create_if_not_exists\030\006 \001(\010\022.\n\014expire_a" + - "fter\030\007 \001(\0132\030.greptime.v1.ExpireAfter\022\017\n\007" + - "comment\030\010 \001(\t\022\013\n\003sql\030\t \001(\t\022B\n\014flow_optio" + - "ns\030\n \003(\0132,.greptime.v1.CreateFlowExpr.Fl" + - "owOptionsEntry\0322\n\020FlowOptionsEntry\022\013\n\003ke" + - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"u\n\014DropFlowEx" + - "pr\022\024\n\014catalog_name\030\001 \001(\t\022\021\n\tflow_name\030\002 " + - "\001(\t\022$\n\007flow_id\030\003 \001(\0132\023.greptime.v1.FlowI" + - "d\022\026\n\016drop_if_exists\030\005 \001(\010\"\376\001\n\016CreateView" + - "Expr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_nam" + - "e\030\002 \001(\t\022\021\n\tview_name\030\003 \001(\t\022\024\n\014logical_pl" + - "an\030\004 \001(\014\022\034\n\024create_if_not_exists\030\005 \001(\010\022\022" + - "\n\nor_replace\030\006 \001(\010\022+\n\013table_names\030\007 \003(\0132" + - "\026.greptime.v1.TableName\022\017\n\007columns\030\010 \003(\t" + - "\022\024\n\014plan_columns\030\t \003(\t\022\022\n\ndefinition\030\n \001" + - "(\t\"\213\001\n\014DropViewExpr\022\024\n\014catalog_name\030\001 \001(" + - "\t\022\023\n\013schema_name\030\002 \001(\t\022\021\n\tview_name\030\003 \001(" + - "\t\022%\n\007view_id\030\004 \001(\0132\024.greptime.v1.TableId" + - "\022\026\n\016drop_if_exists\030\005 \001(\010\"\207\003\n\017CreateTable" + - "Expr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_nam" + - "e\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.Col" + - "umnDef\022\022\n\ntime_index\030\006 \001(\t\022\024\n\014primary_ke" + - "ys\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.Crea" + - "teTableExpr.TableOptionsEntry\022&\n\010table_i" + - "d\030\n \001(\0132\024.greptime.v1.TableId\022\016\n\006engine\030" + - "\014 \001(\t\0323\n\021TableOptionsEntry\022\013\n\003key\030\001 \001(\t\022" + - "\r\n\005value\030\002 \001(\t:\0028\001\"\312\005\n\016AlterTableExpr\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.AddColumnsH\000\0220\n\014drop_col" + - "umns\030\005 \001(\0132\030.greptime.v1.DropColumnsH\000\0220" + - "\n\014rename_table\030\006 \001(\0132\030.greptime.v1.Renam" + - "eTableH\000\022=\n\023modify_column_types\030\007 \001(\0132\036." + - "greptime.v1.ModifyColumnTypesH\000\0229\n\021set_t" + - "able_options\030\010 \001(\0132\034.greptime.v1.SetTabl" + - "eOptionsH\000\022=\n\023unset_table_options\030\013 \001(\0132" + - "\036.greptime.v1.UnsetTableOptionsH\000\022*\n\tset" + - "_index\030\014 \001(\0132\025.greptime.v1.SetIndexH\000\022.\n" + - "\013unset_index\030\r \001(\0132\027.greptime.v1.UnsetIn" + - "dexH\000\0222\n\rdrop_defaults\030\016 \001(\0132\031.greptime." + - "v1.DropDefaultsH\000\022.\n\013set_indexes\030\017 \001(\0132\027" + - ".greptime.v1.SetIndexesH\000\0222\n\runset_index" + - "es\030\020 \001(\0132\031.greptime.v1.UnsetIndexesH\000\0220\n" + - "\014set_defaults\030\021 \001(\0132\030.greptime.v1.SetDef" + - "aultsH\000B\006\n\004kind\"\"\n\013DropDefault\022\023\n\013column" + - "_name\030\001 \001(\t\"8\n\nSetIndexes\022*\n\013set_indexes" + - "\030\001 \003(\0132\025.greptime.v1.SetIndex\">\n\014UnsetIn" + - "dexes\022.\n\runset_indexes\030\001 \003(\0132\027.greptime." + - "v1.UnsetIndex\"=\n\nSetDefault\022\023\n\013column_na" + - "me\030\001 \001(\t\022\032\n\022default_constraint\030\002 \001(\014\"\237\001\n" + - "\010SetIndex\022,\n\010fulltext\030\001 \001(\0132\030.greptime.v" + - "1.SetFulltextH\000\022,\n\010inverted\030\002 \001(\0132\030.grep" + - "time.v1.SetInvertedH\000\022,\n\010skipping\030\003 \001(\0132" + - "\030.greptime.v1.SetSkippingH\000B\t\n\007options\"\247" + - "\001\n\nUnsetIndex\022.\n\010fulltext\030\001 \001(\0132\032.grepti" + - "me.v1.UnsetFulltextH\000\022.\n\010inverted\030\002 \001(\0132" + - "\032.greptime.v1.UnsetInvertedH\000\022.\n\010skippin" + - "g\030\003 \001(\0132\032.greptime.v1.UnsetSkippingH\000B\t\n" + - "\007options\"\216\001\n\rDropTableExpr\022\024\n\014catalog_na" + - "me\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_n" + - "ame\030\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.greptime.v" + - "1.TableId\022\026\n\016drop_if_exists\030\005 \001(\010\"\314\001\n\022Cr" + - "eateDatabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023" + - "\n\013schema_name\030\002 \001(\t\022\034\n\024create_if_not_exi" + - "sts\030\003 \001(\010\022=\n\007options\030\004 \003(\0132,.greptime.v1" + - ".CreateDatabaseExpr.OptionsEntry\032.\n\014Opti" + - "onsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" + - "\"\250\001\n\021TruncateTableExpr\022\024\n\014catalog_name\030\001" + - " \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030" + - "\003 \001(\t\022&\n\010table_id\030\004 \001(\0132\024.greptime.v1.Ta" + - "bleId\022,\n\013time_ranges\030\005 \001(\0132\027.greptime.v1" + - ".TimeRanges\"U\n\020DropDatabaseExpr\022\024\n\014catal" + - "og_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016dr" + - "op_if_exists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_" + - "columns\030\001 \003(\0132\026.greptime.v1.AddColumn\"?\n" + - "\014DropDefaults\022/\n\rdrop_defaults\030\001 \003(\0132\030.g" + - "reptime.v1.DropDefault\"<\n\013SetDefaults\022-\n" + - "\014set_defaults\030\001 \003(\0132\027.greptime.v1.SetDef" + - "ault\"<\n\013DropColumns\022-\n\014drop_columns\030\001 \003(" + - "\0132\027.greptime.v1.DropColumn\"O\n\021ModifyColu" + - "mnTypes\022:\n\023modify_column_types\030\001 \003(\0132\035.g" + - "reptime.v1.ModifyColumnType\"%\n\013RenameTab" + - "le\022\026\n\016new_table_name\030\001 \001(\t\"\204\001\n\tAddColumn" + - "\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Colum" + - "nDef\0220\n\010location\030\003 \001(\0132\036.greptime.v1.Add" + - "ColumnLocation\022\031\n\021add_if_not_exists\030\004 \001(" + - "\010\"\236\001\n\020ModifyColumnType\022\023\n\013column_name\030\001 " + - "\001(\t\0220\n\013target_type\030\002 \001(\0162\033.greptime.v1.C" + - "olumnDataType\022C\n\025target_type_extension\030\003" + - " \001(\0132$.greptime.v1.ColumnDataTypeExtensi" + - "on\"$\n\006Option\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + - "\"=\n\017SetTableOptions\022*\n\rtable_options\030\001 \003" + - "(\0132\023.greptime.v1.Option\"!\n\021UnsetTableOpt" + - "ions\022\014\n\004keys\030\001 \003(\t\"\032\n\nDropColumn\022\014\n\004name" + - "\030\001 \001(\t\"\025\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022" + - "\n\n\002id\030\001 \001(\r\"\254\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022" + - ".\n\tdata_type\030\002 \001(\0162\033.greptime.v1.ColumnD" + - "ataType\022\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_" + - "constraint\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162" + - "\031.greptime.v1.SemanticType\022\017\n\007comment\030\006 " + - "\001(\t\022@\n\022datatype_extension\030\007 \001(\0132$.grepti" + - "me.v1.ColumnDataTypeExtension\022+\n\007options" + - "\030\010 \001(\0132\032.greptime.v1.ColumnOptions\"\230\001\n\021A" + - "ddColumnLocation\022B\n\rlocation_type\030\001 \001(\0162" + - "+.greptime.v1.AddColumnLocation.Location" + - "Type\022\031\n\021after_column_name\030\002 \001(\t\"$\n\014Locat" + - "ionType\022\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001\"\324\001\n\013SetFul" + - "ltext\022\023\n\013column_name\030\001 \001(\t\022\016\n\006enable\030\002 \001" + - "(\010\022\'\n\010analyzer\030\003 \001(\0162\025.greptime.v1.Analy" + - "zer\022\026\n\016case_sensitive\030\004 \001(\010\022-\n\007backend\030\005" + - " \001(\0162\034.greptime.v1.FulltextBackend\022\023\n\013gr" + - "anularity\030\006 \001(\004\022\033\n\023false_positive_rate\030\007" + - " \001(\001\"$\n\rUnsetFulltext\022\023\n\013column_name\030\001 \001" + - "(\t\"\"\n\013SetInverted\022\023\n\013column_name\030\001 \001(\t\"$" + - "\n\rUnsetInverted\022\023\n\013column_name\030\001 \001(\t\"\241\001\n" + - "\013SetSkipping\022\023\n\013column_name\030\001 \001(\t\022\016\n\006ena" + - "ble\030\002 \001(\010\022\023\n\013granularity\030\003 \001(\004\022;\n\023skippi" + - "ng_index_type\030\004 \001(\0162\036.greptime.v1.Skippi" + - "ngIndexType\022\033\n\023false_positive_rate\030\005 \001(\001" + - "\"$\n\rUnsetSkipping\022\023\n\013column_name\030\001 \001(\t\"\314" + - "\001\n\021AlterDatabaseExpr\022\024\n\014catalog_name\030\001 \001" + - "(\t\022\023\n\013schema_name\030\002 \001(\t\022?\n\024set_database_" + - "options\030\003 \001(\0132\037.greptime.v1.SetDatabaseO" + - "ptionsH\000\022C\n\026unset_database_options\030\004 \001(\013" + - "2!.greptime.v1.UnsetDatabaseOptionsH\000B\006\n" + - "\004kind\"G\n\022SetDatabaseOptions\0221\n\024set_datab" + - "ase_options\030\001 \003(\0132\023.greptime.v1.Option\"$" + - "\n\024UnsetDatabaseOptions\022\014\n\004keys\030\001 \003(\t\"\217\003\n" + - "\021CreateTriggerExpr\022\024\n\014catalog_name\030\001 \001(\t" + - "\022\024\n\014trigger_name\030\002 \001(\t\022\034\n\024create_if_not_" + - "exists\030\003 \001(\010\022\013\n\003sql\030\004 \001(\t\022,\n\010channels\030\005 " + - "\003(\0132\032.greptime.v1.NotifyChannel\022:\n\006label" + - "s\030\006 \003(\0132*.greptime.v1.CreateTriggerExpr." + - "LabelsEntry\022D\n\013annotations\030\007 \003(\0132/.grept" + - "ime.v1.CreateTriggerExpr.AnnotationsEntr" + - "y\022\020\n\010interval\030\010 \001(\004\032-\n\013LabelsEntry\022\013\n\003ke" + - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0322\n\020Annotation" + - "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"]" + - "\n\rNotifyChannel\022\014\n\004name\030\001 \001(\t\022.\n\007webhook" + - "\030\002 \001(\0132\033.greptime.v1.WebhookOptionsH\000B\016\n" + - "\014channel_type\"\177\n\016WebhookOptions\022\013\n\003url\030\001" + - " \001(\t\0223\n\004opts\030\002 \003(\0132%.greptime.v1.Webhook" + - "Options.OptsEntry\032+\n\tOptsEntry\022\013\n\003key\030\001 " + - "\001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"U\n\017DropTriggerExp" + - "r\022\024\n\014catalog_name\030\001 \001(\t\022\024\n\014trigger_name\030" + - "\002 \001(\t\022\026\n\016drop_if_exists\030\003 \001(\010*$\n\010Analyze" + - "r\022\013\n\007ENGLISH\020\000\022\013\n\007CHINESE\020\001*)\n\017FulltextB" + - "ackend\022\013\n\007TANTIVY\020\000\022\t\n\005BLOOM\020\001*%\n\021Skippi" + - "ngIndexType\022\020\n\014BLOOM_FILTER\020\000BL\n\016io.grep" + - "time.v1B\003DdlZ5github.com/GreptimeTeam/gr" + - "eptime-proto/go/greptime/v1b\006proto3" + "\n\025greptime/v1/ddl.proto\022\013greptime.v1\032\036go" + + "ogle/protobuf/duration.proto\032\030greptime/v" + + "1/common.proto\"\250\004\n\nDdlRequest\022:\n\017create_" + + "database\030\001 \001(\0132\037.greptime.v1.CreateDatab" + + "aseExprH\000\0224\n\014create_table\030\002 \001(\0132\034.grepti" + + "me.v1.CreateTableExprH\000\0222\n\013alter_table\030\003" + + " \001(\0132\033.greptime.v1.AlterTableExprH\000\0220\n\nd" + + "rop_table\030\004 \001(\0132\032.greptime.v1.DropTableE" + + "xprH\000\0228\n\016truncate_table\030\007 \001(\0132\036.greptime" + + ".v1.TruncateTableExprH\000\0222\n\013create_flow\030\010" + + " \001(\0132\033.greptime.v1.CreateFlowExprH\000\022.\n\td" + + "rop_flow\030\t \001(\0132\031.greptime.v1.DropFlowExp" + + "rH\000\0222\n\013create_view\030\n \001(\0132\033.greptime.v1.C" + + "reateViewExprH\000\022.\n\tdrop_view\030\013 \001(\0132\031.gre" + + "ptime.v1.DropViewExprH\000\0228\n\016alter_databas" + + "e\030\014 \001(\0132\036.greptime.v1.AlterDatabaseExprH" + + "\000B\006\n\004expr\"\226\003\n\016CreateFlowExpr\022\024\n\014catalog_" + + "name\030\001 \001(\t\022\021\n\tflow_name\030\002 \001(\t\0222\n\022source_" + + "table_names\030\003 \003(\0132\026.greptime.v1.TableNam" + + "e\022/\n\017sink_table_name\030\004 \001(\0132\026.greptime.v1" + + ".TableName\022\022\n\nor_replace\030\005 \001(\010\022\034\n\024create" + + "_if_not_exists\030\006 \001(\010\022.\n\014expire_after\030\007 \001" + + "(\0132\030.greptime.v1.ExpireAfter\022\017\n\007comment\030" + + "\010 \001(\t\022\013\n\003sql\030\t \001(\t\022B\n\014flow_options\030\n \003(\013" + + "2,.greptime.v1.CreateFlowExpr.FlowOption" + + "sEntry\0322\n\020FlowOptionsEntry\022\013\n\003key\030\001 \001(\t\022" + + "\r\n\005value\030\002 \001(\t:\0028\001\"u\n\014DropFlowExpr\022\024\n\014ca" + + "talog_name\030\001 \001(\t\022\021\n\tflow_name\030\002 \001(\t\022$\n\007f" + + "low_id\030\003 \001(\0132\023.greptime.v1.FlowId\022\026\n\016dro" + + "p_if_exists\030\005 \001(\010\"\376\001\n\016CreateViewExpr\022\024\n\014" + + "catalog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022" + + "\021\n\tview_name\030\003 \001(\t\022\024\n\014logical_plan\030\004 \001(\014" + + "\022\034\n\024create_if_not_exists\030\005 \001(\010\022\022\n\nor_rep" + + "lace\030\006 \001(\010\022+\n\013table_names\030\007 \003(\0132\026.grepti" + + "me.v1.TableName\022\017\n\007columns\030\010 \003(\t\022\024\n\014plan" + + "_columns\030\t \003(\t\022\022\n\ndefinition\030\n \001(\t\"\213\001\n\014D" + + "ropViewExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sch" + + "ema_name\030\002 \001(\t\022\021\n\tview_name\030\003 \001(\t\022%\n\007vie" + + "w_id\030\004 \001(\0132\024.greptime.v1.TableId\022\026\n\016drop" + + "_if_exists\030\005 \001(\010\"\207\003\n\017CreateTableExpr\022\024\n\014" + + "catalog_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\013col" + + "umn_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.CreateTableE" + + "xpr.TableOptionsEntry\022&\n\010table_id\030\n \001(\0132" + + "\024.greptime.v1.TableId\022\016\n\006engine\030\014 \001(\t\0323\n" + + "\021TableOptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + + "\030\002 \001(\t:\0028\001\"\312\005\n\016AlterTableExpr\022\024\n\014catalog" + + "_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n\ntabl" + + "e_name\030\003 \001(\t\022.\n\013add_columns\030\004 \001(\0132\027.grep" + + "time.v1.AddColumnsH\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\000" + + "\022=\n\023modify_column_types\030\007 \001(\0132\036.greptime" + + ".v1.ModifyColumnTypesH\000\0229\n\021set_table_opt" + + "ions\030\010 \001(\0132\034.greptime.v1.SetTableOptions" + + "H\000\022=\n\023unset_table_options\030\013 \001(\0132\036.grepti" + + "me.v1.UnsetTableOptionsH\000\022*\n\tset_index\030\014" + + " \001(\0132\025.greptime.v1.SetIndexH\000\022.\n\013unset_i" + + "ndex\030\r \001(\0132\027.greptime.v1.UnsetIndexH\000\0222\n" + + "\rdrop_defaults\030\016 \001(\0132\031.greptime.v1.DropD" + + "efaultsH\000\022.\n\013set_indexes\030\017 \001(\0132\027.greptim" + + "e.v1.SetIndexesH\000\0222\n\runset_indexes\030\020 \001(\013" + + "2\031.greptime.v1.UnsetIndexesH\000\0220\n\014set_def" + + "aults\030\021 \001(\0132\030.greptime.v1.SetDefaultsH\000B" + + "\006\n\004kind\"\"\n\013DropDefault\022\023\n\013column_name\030\001 " + + "\001(\t\"8\n\nSetIndexes\022*\n\013set_indexes\030\001 \003(\0132\025" + + ".greptime.v1.SetIndex\">\n\014UnsetIndexes\022.\n" + + "\runset_indexes\030\001 \003(\0132\027.greptime.v1.Unset" + + "Index\"=\n\nSetDefault\022\023\n\013column_name\030\001 \001(\t" + + "\022\032\n\022default_constraint\030\002 \001(\014\"\237\001\n\010SetInde" + + "x\022,\n\010fulltext\030\001 \001(\0132\030.greptime.v1.SetFul" + + "ltextH\000\022,\n\010inverted\030\002 \001(\0132\030.greptime.v1." + + "SetInvertedH\000\022,\n\010skipping\030\003 \001(\0132\030.grepti" + + "me.v1.SetSkippingH\000B\t\n\007options\"\247\001\n\nUnset" + + "Index\022.\n\010fulltext\030\001 \001(\0132\032.greptime.v1.Un" + + "setFulltextH\000\022.\n\010inverted\030\002 \001(\0132\032.grepti" + + "me.v1.UnsetInvertedH\000\022.\n\010skipping\030\003 \001(\0132" + + "\032.greptime.v1.UnsetSkippingH\000B\t\n\007options" + + "\"\216\001\n\rDropTableExpr\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.TableI" + + "d\022\026\n\016drop_if_exists\030\005 \001(\010\"\314\001\n\022CreateData" + + "baseExpr\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\007options\030\004 \003(\0132,.greptime.v1.CreateD" + + "atabaseExpr.OptionsEntry\032.\n\014OptionsEntry" + + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\250\001\n\021Tru" + + "ncateTableExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013" + + "schema_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\022,\n" + + "\013time_ranges\030\005 \001(\0132\027.greptime.v1.TimeRan" + + "ges\"U\n\020DropDatabaseExpr\022\024\n\014catalog_name\030" + + "\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\026\n\016drop_if_ex" + + "ists\030\003 \001(\010\"9\n\nAddColumns\022+\n\013add_columns\030" + + "\001 \003(\0132\026.greptime.v1.AddColumn\"?\n\014DropDef" + + "aults\022/\n\rdrop_defaults\030\001 \003(\0132\030.greptime." + + "v1.DropDefault\"<\n\013SetDefaults\022-\n\014set_def" + + "aults\030\001 \003(\0132\027.greptime.v1.SetDefault\"<\n\013" + + "DropColumns\022-\n\014drop_columns\030\001 \003(\0132\027.grep" + + "time.v1.DropColumn\"O\n\021ModifyColumnTypes\022" + + ":\n\023modify_column_types\030\001 \003(\0132\035.greptime." + + "v1.ModifyColumnType\"%\n\013RenameTable\022\026\n\016ne" + + "w_table_name\030\001 \001(\t\"\204\001\n\tAddColumn\022*\n\ncolu" + + "mn_def\030\001 \001(\0132\026.greptime.v1.ColumnDef\0220\n\010" + + "location\030\003 \001(\0132\036.greptime.v1.AddColumnLo" + + "cation\022\031\n\021add_if_not_exists\030\004 \001(\010\"\236\001\n\020Mo" + + "difyColumnType\022\023\n\013column_name\030\001 \001(\t\0220\n\013t" + + "arget_type\030\002 \001(\0162\033.greptime.v1.ColumnDat" + + "aType\022C\n\025target_type_extension\030\003 \001(\0132$.g" + + "reptime.v1.ColumnDataTypeExtension\"$\n\006Op" + + "tion\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"=\n\017SetT" + + "ableOptions\022*\n\rtable_options\030\001 \003(\0132\023.gre" + + "ptime.v1.Option\"!\n\021UnsetTableOptions\022\014\n\004" + + "keys\030\001 \003(\t\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"\025" + + "\n\007TableId\022\n\n\002id\030\001 \001(\r\"\024\n\006FlowId\022\n\n\002id\030\001 " + + "\001(\r\"\254\002\n\tColumnDef\022\014\n\004name\030\001 \001(\t\022.\n\tdata_" + + "type\030\002 \001(\0162\033.greptime.v1.ColumnDataType\022" + + "\023\n\013is_nullable\030\003 \001(\010\022\032\n\022default_constrai" + + "nt\030\004 \001(\014\0220\n\rsemantic_type\030\005 \001(\0162\031.grepti" + + "me.v1.SemanticType\022\017\n\007comment\030\006 \001(\t\022@\n\022d" + + "atatype_extension\030\007 \001(\0132$.greptime.v1.Co" + + "lumnDataTypeExtension\022+\n\007options\030\010 \001(\0132\032" + + ".greptime.v1.ColumnOptions\"\230\001\n\021AddColumn" + + "Location\022B\n\rlocation_type\030\001 \001(\0162+.grepti" + + "me.v1.AddColumnLocation.LocationType\022\031\n\021" + + "after_column_name\030\002 \001(\t\"$\n\014LocationType\022" + + "\t\n\005FIRST\020\000\022\t\n\005AFTER\020\001\"\324\001\n\013SetFulltext\022\023\n" + + "\013column_name\030\001 \001(\t\022\016\n\006enable\030\002 \001(\010\022\'\n\010an" + + "alyzer\030\003 \001(\0162\025.greptime.v1.Analyzer\022\026\n\016c" + + "ase_sensitive\030\004 \001(\010\022-\n\007backend\030\005 \001(\0162\034.g" + + "reptime.v1.FulltextBackend\022\023\n\013granularit" + + "y\030\006 \001(\004\022\033\n\023false_positive_rate\030\007 \001(\001\"$\n\r" + + "UnsetFulltext\022\023\n\013column_name\030\001 \001(\t\"\"\n\013Se" + + "tInverted\022\023\n\013column_name\030\001 \001(\t\"$\n\rUnsetI" + + "nverted\022\023\n\013column_name\030\001 \001(\t\"\241\001\n\013SetSkip" + + "ping\022\023\n\013column_name\030\001 \001(\t\022\016\n\006enable\030\002 \001(" + + "\010\022\023\n\013granularity\030\003 \001(\004\022;\n\023skipping_index" + + "_type\030\004 \001(\0162\036.greptime.v1.SkippingIndexT" + + "ype\022\033\n\023false_positive_rate\030\005 \001(\001\"$\n\rUnse" + + "tSkipping\022\023\n\013column_name\030\001 \001(\t\"\314\001\n\021Alter" + + "DatabaseExpr\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013sc" + + "hema_name\030\002 \001(\t\022?\n\024set_database_options\030" + + "\003 \001(\0132\037.greptime.v1.SetDatabaseOptionsH\000" + + "\022C\n\026unset_database_options\030\004 \001(\0132!.grept" + + "ime.v1.UnsetDatabaseOptionsH\000B\006\n\004kind\"G\n" + + "\022SetDatabaseOptions\0221\n\024set_database_opti" + + "ons\030\001 \003(\0132\023.greptime.v1.Option\"$\n\024UnsetD" + + "atabaseOptions\022\014\n\004keys\030\001 \003(\t\"\305\003\n\021CreateT" + + "riggerExpr\022\024\n\014catalog_name\030\001 \001(\t\022\024\n\014trig" + + "ger_name\030\002 \001(\t\022\034\n\024create_if_not_exists\030\003" + + " \001(\010\022\013\n\003sql\030\004 \001(\t\022,\n\010channels\030\005 \003(\0132\032.gr" + + "eptime.v1.NotifyChannel\022:\n\006labels\030\006 \003(\0132" + + "*.greptime.v1.CreateTriggerExpr.LabelsEn" + + "try\022D\n\013annotations\030\007 \003(\0132/.greptime.v1.C" + + "reateTriggerExpr.AnnotationsEntry\022+\n\010int" + + "erval\030\010 \001(\0132\031.google.protobuf.Duration\022\031" + + "\n\021raw_interval_expr\030\t \001(\t\032-\n\013LabelsEntry" + + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0322\n\020Anno" + + "tationsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + + ":\0028\001\"]\n\rNotifyChannel\022\014\n\004name\030\001 \001(\t\022.\n\007w" + + "ebhook\030\002 \001(\0132\033.greptime.v1.WebhookOption" + + "sH\000B\016\n\014channel_type\"\177\n\016WebhookOptions\022\013\n" + + "\003url\030\001 \001(\t\0223\n\004opts\030\002 \003(\0132%.greptime.v1.W" + + "ebhookOptions.OptsEntry\032+\n\tOptsEntry\022\013\n\003" + + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"U\n\017DropTrig" + + "gerExpr\022\024\n\014catalog_name\030\001 \001(\t\022\024\n\014trigger" + + "_name\030\002 \001(\t\022\026\n\016drop_if_exists\030\003 \001(\010*$\n\010A" + + "nalyzer\022\013\n\007ENGLISH\020\000\022\013\n\007CHINESE\020\001*)\n\017Ful" + + "ltextBackend\022\013\n\007TANTIVY\020\000\022\t\n\005BLOOM\020\001*%\n\021" + + "SkippingIndexType\022\020\n\014BLOOM_FILTER\020\000BL\n\016i" + + "o.greptime.v1B\003DdlZ5github.com/GreptimeT" + + "eam/greptime-proto/go/greptime/v1b\006proto" + + "3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.protobuf.DurationProto.getDescriptor(), io.greptime.v1.Common.getDescriptor(), }); internal_static_greptime_v1_DdlRequest_descriptor = @@ -50562,7 +50864,7 @@ java.lang.String defaultValue); internal_static_greptime_v1_CreateTriggerExpr_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_CreateTriggerExpr_descriptor, - new java.lang.String[] { "CatalogName", "TriggerName", "CreateIfNotExists", "Sql", "Channels", "Labels", "Annotations", "Interval", }); + new java.lang.String[] { "CatalogName", "TriggerName", "CreateIfNotExists", "Sql", "Channels", "Labels", "Annotations", "Interval", "RawIntervalExpr", }); internal_static_greptime_v1_CreateTriggerExpr_LabelsEntry_descriptor = internal_static_greptime_v1_CreateTriggerExpr_descriptor.getNestedTypes().get(0); internal_static_greptime_v1_CreateTriggerExpr_LabelsEntry_fieldAccessorTable = new @@ -50599,6 +50901,7 @@ java.lang.String defaultValue); com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_greptime_v1_DropTriggerExpr_descriptor, new java.lang.String[] { "CatalogName", "TriggerName", "DropIfExists", }); + com.google.protobuf.DurationProto.getDescriptor(); io.greptime.v1.Common.getDescriptor(); } diff --git a/proto/greptime/v1/ddl.proto b/proto/greptime/v1/ddl.proto index c765a8f..32e9985 100644 --- a/proto/greptime/v1/ddl.proto +++ b/proto/greptime/v1/ddl.proto @@ -16,6 +16,7 @@ syntax = "proto3"; package greptime.v1; +import "google/protobuf/duration.proto"; import "greptime/v1/common.proto"; option go_package = "github.com/GreptimeTeam/greptime-proto/go/greptime/v1"; @@ -351,8 +352,9 @@ message CreateTriggerExpr { map labels = 6; // The user-defined annotations. map annotations = 7; - // The execution interval for sql query in seconds. - uint64 interval = 8; + google.protobuf.Duration interval = 8; + // The raw interval expression, e.g., '1 minute'::INTERVAL. + string raw_interval_expr = 9; } // The notification channel for trigger. diff --git a/scripts/generate-cpp.sh b/scripts/generate-cpp.sh index 34a2a50..894c0d9 100755 --- a/scripts/generate-cpp.sh +++ b/scripts/generate-cpp.sh @@ -5,5 +5,5 @@ set -e PROTO_ROOT=./proto CPP_OUTPUT=./c++ -protoc -I ${PROTO_ROOT} --cpp_out=${CPP_OUTPUT} $(find ./proto/ -type f -iname "*.proto") -protoc -I ${PROTO_ROOT} --grpc_out=${CPP_OUTPUT} --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` $(find ./proto/ -type f -iname "*.proto") +protoc -I ${PROTO_ROOT} -I /opt/include --cpp_out=${CPP_OUTPUT} $(find ./proto/ -type f -iname "*.proto") +protoc -I ${PROTO_ROOT} -I /opt/include --grpc_out=${CPP_OUTPUT} --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` $(find ./proto/ -type f -iname "*.proto") diff --git a/scripts/generate-go.sh b/scripts/generate-go.sh index 07fee51..f51ffb6 100755 --- a/scripts/generate-go.sh +++ b/scripts/generate-go.sh @@ -5,8 +5,7 @@ set -e PROTO_ROOT=./proto GO_OUTPUT=./go -protoc -I=${PROTO_ROOT} --go_out=paths=source_relative:${GO_OUTPUT} $(find ./proto/ -type f -iname "*.proto") -protoc -I=${PROTO_ROOT} \ +protoc -I=${PROTO_ROOT} -I /opt/include --go_out=paths=source_relative:${GO_OUTPUT} $(find ./proto/ -type f -iname "*.proto") +protoc -I=${PROTO_ROOT} -I /opt/include \ --go-grpc_out=paths=source_relative:${GO_OUTPUT} \ $(find ./proto/ -type f -iname "*.proto") - diff --git a/scripts/generate-java.sh b/scripts/generate-java.sh index 2b4c5e3..0113a19 100755 --- a/scripts/generate-java.sh +++ b/scripts/generate-java.sh @@ -3,4 +3,4 @@ PROTO_ROOT=./proto JAVA_OUTPUT=./java/src/main/java/ -protoc -I=${PROTO_ROOT} --java_out=${JAVA_OUTPUT} $(find ./proto/ -type f -iname "*.proto") +protoc -I=${PROTO_ROOT} -I /opt/include --java_out=${JAVA_OUTPUT} $(find ./proto/ -type f -iname "*.proto")