From 56e7b1eb7118881afa1a3140f16a750018d79ad8 Mon Sep 17 00:00:00 2001 From: Tornike Gurgenidze Date: Wed, 12 Feb 2025 14:05:29 +0400 Subject: [PATCH] chore(substrait): bump to v0.66.1 (#65) - bumps substrait to 0.66.1 - updates `buf` config version to v2, config files migrated with `buf config migrate` command --- .devcontainer/Dockerfile | 4 + buf.gen.yaml | 6 +- buf.work.yaml | 3 - buf.yaml | 23 +- gen_proto.sh | 2 +- src/substrait/__init__.py | 4 +- .../extensions/functions_arithmetic.yaml | 2 +- .../extensions/functions_comparison.yaml | 32 + .../extensions/functions_geometry.yaml | 2 +- .../extensions/functions_string.yaml | 96 +++ src/substrait/gen/__init__.pyi | 1 + src/substrait/gen/antlr/__init__.py | 0 src/substrait/gen/antlr/__init__.pyi | 0 src/substrait/gen/proto/algebra_pb2.py | 639 +++++++++--------- src/substrait/gen/proto/algebra_pb2.pyi | 368 +++++++++- src/substrait/gen/proto/capabilities_pb2.py | 19 +- .../gen/proto/extended_expression_pb2.py | 19 +- .../gen/proto/extensions/extensions_pb2.py | 35 +- src/substrait/gen/proto/function_pb2.py | 71 +- .../gen/proto/parameterized_types_pb2.py | 95 +-- src/substrait/gen/proto/plan_pb2.py | 27 +- .../gen/proto/type_expressions_pb2.py | 107 +-- src/substrait/gen/proto/type_pb2.py | 147 ++-- third_party/substrait | 2 +- 24 files changed, 1092 insertions(+), 612 deletions(-) delete mode 100644 buf.work.yaml create mode 100644 src/substrait/gen/antlr/__init__.py create mode 100644 src/substrait/gen/antlr/__init__.pyi diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 82c84d7..62c1956 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -5,4 +5,8 @@ SHELL ["/bin/bash", "-c"] RUN source "/home/vscode/.sdkman/bin/sdkman-init.sh" && sdk install java 20.0.2-graalce RUN mkdir -p ~/lib && cd ~/lib && curl -L -O http://www.antlr.org/download/antlr-4.13.1-complete.jar ENV ANTLR_JAR="~/lib/antlr-4.13.1-complete.jar" +RUN cd ~ && curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v25.1/protoc-25.1-linux-x86_64.zip && \ + unzip protoc-25.1-linux-x86_64.zip -d ~/.local && \ + rm protoc-25.1-linux-x86_64.zip +RUN curl -sSL "https://github.com/bufbuild/buf/releases/download/v1.50.0/buf-$(uname -s)-$(uname -m)" -o ~/.local/bin/buf && chmod +x ~/.local/bin/buf USER root \ No newline at end of file diff --git a/buf.gen.yaml b/buf.gen.yaml index 45701b5..cd44fb7 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -1,6 +1,6 @@ +version: v2 plugins: - - name: python + - protoc_builtin: python out: src/substrait/gen - - plugin: buf.build/community/nipunn1313-mypy:v3.5.0 + - remote: buf.build/community/nipunn1313-mypy:v3.5.0 out: src/substrait/gen -version: v1 diff --git a/buf.work.yaml b/buf.work.yaml deleted file mode 100644 index cf0d5ae..0000000 --- a/buf.work.yaml +++ /dev/null @@ -1,3 +0,0 @@ -version: v1 -directories: - - buf_work_dir diff --git a/buf.yaml b/buf.yaml index 1a51945..00d4653 100644 --- a/buf.yaml +++ b/buf.yaml @@ -1,7 +1,16 @@ -version: v1 -breaking: - use: - - FILE -lint: - use: - - DEFAULT +version: v2 +modules: + - path: buf_work_dir + lint: + use: + - DEFAULT + except: + - FIELD_NOT_REQUIRED + - PACKAGE_NO_IMPORT_CYCLE + disallow_comment_ignores: true + breaking: + use: + - FILE + except: + - EXTENSION_NO_DELETE + - FIELD_SAME_DEFAULT diff --git a/gen_proto.sh b/gen_proto.sh index 5f47f7f..e7e846b 100755 --- a/gen_proto.sh +++ b/gen_proto.sh @@ -14,7 +14,7 @@ extension_dir=./src/substrait/extensions python "$submodule_dir"/tools/proto_prefix.py "$tmp_dir" "$namespace" "$src_dir" # Remove the old python protobuf files -rm -rf "$dest_dir" +rm -rf "$dest_dir/proto" # Generate the new python protobuf files buf generate diff --git a/src/substrait/__init__.py b/src/substrait/__init__.py index 43936ad..ea354da 100644 --- a/src/substrait/__init__.py +++ b/src/substrait/__init__.py @@ -3,6 +3,6 @@ except ImportError: pass -__substrait_version__ = "0.56.0" -__substrait_hash__ = "bc4d6fb" +__substrait_version__ = "0.66.1" +__substrait_hash__ = "ff013aa" __minimum_substrait_version__ = "0.30.0" diff --git a/src/substrait/extensions/functions_arithmetic.yaml b/src/substrait/extensions/functions_arithmetic.yaml index 050af65..5538d43 100644 --- a/src/substrait/extensions/functions_arithmetic.yaml +++ b/src/substrait/extensions/functions_arithmetic.yaml @@ -1648,7 +1648,7 @@ aggregate_functions: window_functions: - name: "row_number" - description: "the number of the current row within its partition." + description: "the number of the current row within its partition, starting at 1" impls: - args: [] nullability: DECLARED_OUTPUT diff --git a/src/substrait/extensions/functions_comparison.yaml b/src/substrait/extensions/functions_comparison.yaml index dffc572..517f8e3 100644 --- a/src/substrait/extensions/functions_comparison.yaml +++ b/src/substrait/extensions/functions_comparison.yaml @@ -147,6 +147,38 @@ scalar_functions: name: high description: The value to check if less than or equal to. return: boolean + - name: "is_true" + description: Whether a value is true. + impls: + - args: + - value: boolean? + name: x + return: BOOLEAN + nullability: DECLARED_OUTPUT + - name: "is_not_true" + description: Whether a value is not true. + impls: + - args: + - value: boolean? + name: x + return: BOOLEAN + nullability: DECLARED_OUTPUT + - name: "is_false" + description: Whether a value is false. + impls: + - args: + - value: boolean? + name: x + return: BOOLEAN + nullability: DECLARED_OUTPUT + - name: "is_not_false" + description: Whether a value is not false. + impls: + - args: + - value: boolean? + name: x + return: BOOLEAN + nullability: DECLARED_OUTPUT - name: "is_null" description: Whether a value is null. NaN is not null. diff --git a/src/substrait/extensions/functions_geometry.yaml b/src/substrait/extensions/functions_geometry.yaml index 8cf1318..cc494c3 100644 --- a/src/substrait/extensions/functions_geometry.yaml +++ b/src/substrait/extensions/functions_geometry.yaml @@ -77,7 +77,7 @@ scalar_functions: impls: - args: - name: geom - value: geometry + value: u!geometry return: boolean - name: "is_simple" diff --git a/src/substrait/extensions/functions_string.yaml b/src/substrait/extensions/functions_string.yaml index 3acdb48..399fb37 100644 --- a/src/substrait/extensions/functions_string.yaml +++ b/src/substrait/extensions/functions_string.yaml @@ -197,6 +197,36 @@ scalar_functions: dotall: values: [ DOTALL_DISABLED, DOTALL_ENABLED ] return: "string" + - + name: regexp_match_substring + description: >- + Extract a substring that matches the given regular expression pattern. The regular expression + pattern should follow the International Components for Unicode implementation + (https://unicode-org.github.io/icu/userguide/strings/regexp.html). The first occurrence of the + pattern from the beginning of the string is extracted. It returns the substring matching the + full regular expression. + + The `case_sensitivity` option specifies case-sensitive or case-insensitive matching. + Enabling the `multiline` option will treat the input string as multiple lines. This makes + the `^` and `$` characters match at the beginning and end of any line, instead of just the + beginning and end of the input string. Enabling the `dotall` option makes the `.` character + match line terminator characters in a string. + + Behavior is undefined if the regex fails to compile. + impls: + - args: + - value: "string" + name: "input" + - value: "string" + name: "pattern" + options: + case_sensitivity: + values: [ CASE_SENSITIVE, CASE_INSENSITIVE, CASE_INSENSITIVE_ASCII ] + multiline: + values: [ MULTILINE_DISABLED, MULTILINE_ENABLED ] + dotall: + values: [ DOTALL_DISABLED, DOTALL_ENABLED ] + return: "string" - name: regexp_match_substring_all description: >- @@ -778,6 +808,35 @@ scalar_functions: dotall: values: [ DOTALL_DISABLED, DOTALL_ENABLED ] return: i64 + - + name: regexp_count_substring + description: >- + Return the number of non-overlapping occurrences of a regular expression pattern in an input + string. The regular expression pattern should follow the International Components for + Unicode implementation (https://unicode-org.github.io/icu/userguide/strings/regexp.html). + The match starts at the first character of the input string. + + The `case_sensitivity` option specifies case-sensitive or case-insensitive matching. + Enabling the `multiline` option will treat the input string as multiple lines. This makes + the `^` and `$` characters match at the beginning and end of any line, instead of just the + beginning and end of the input string. Enabling the `dotall` option makes the `.` character + match line terminator characters in a string. + + Behavior is undefined if the regex fails to compile. + impls: + - args: + - value: "string" + name: "input" + - value: "string" + name: "pattern" + options: + case_sensitivity: + values: [ CASE_SENSITIVE, CASE_INSENSITIVE, CASE_INSENSITIVE_ASCII ] + multiline: + values: [ MULTILINE_DISABLED, MULTILINE_ENABLED ] + dotall: + values: [ DOTALL_DISABLED, DOTALL_ENABLED ] + return: i64 - name: replace description: >- @@ -1198,6 +1257,43 @@ scalar_functions: dotall: values: [ DOTALL_DISABLED, DOTALL_ENABLED ] return: "varchar" + - + name: regexp_replace + description: >- + Search a string for a substring that matches a given regular expression pattern and replace + it with a replacement string. The regular expression pattern should follow the + International Components for Unicode implementation (https://unicode-org.github + .io/icu/userguide/strings/regexp.html). The replacement string can capture groups using numbered + backreferences. All occurrences of the pattern will be replaced. The search for matches + start at the first character of the input. + + The `case_sensitivity` option specifies case-sensitive or case-insensitive matching. + Enabling the `multiline` option will treat the input string as multiple lines. This makes + the `^` and `$` characters match at the beginning and end of any line, instead of just the + beginning and end of the input string. Enabling the `dotall` option makes the `.` character + match line terminator characters in a string. + + Behavior is undefined if the regex fails to compile or the replacement contains an illegal + back-reference. + impls: + - args: + - value: "string" + name: "input" + description: The input string. + - value: "string" + name: "pattern" + description: The regular expression to search for within the input string. + - value: "string" + name: "replacement" + description: The replacement string. + options: + case_sensitivity: + values: [ CASE_SENSITIVE, CASE_INSENSITIVE, CASE_INSENSITIVE_ASCII ] + multiline: + values: [ MULTILINE_DISABLED, MULTILINE_ENABLED ] + dotall: + values: [ DOTALL_DISABLED, DOTALL_ENABLED ] + return: "string" - name: ltrim description: >- diff --git a/src/substrait/gen/__init__.pyi b/src/substrait/gen/__init__.pyi index c3d3f41..afdf7df 100644 --- a/src/substrait/gen/__init__.pyi +++ b/src/substrait/gen/__init__.pyi @@ -1 +1,2 @@ from . import proto +from . import antlr diff --git a/src/substrait/gen/antlr/__init__.py b/src/substrait/gen/antlr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/substrait/gen/antlr/__init__.pyi b/src/substrait/gen/antlr/__init__.pyi new file mode 100644 index 0000000..e69de29 diff --git a/src/substrait/gen/proto/algebra_pb2.py b/src/substrait/gen/proto/algebra_pb2.py index 5eaa1f5..3bbc72f 100644 --- a/src/substrait/gen/proto/algebra_pb2.py +++ b/src/substrait/gen/proto/algebra_pb2.py @@ -1,315 +1,342 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from ..proto.extensions import extensions_pb2 as proto_dot_extensions_dot_extensions__pb2 from ..proto import type_pb2 as proto_dot_type__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13proto/algebra.proto\x12\x05proto\x1a\x19google/protobuf/any.proto\x1a!proto/extensions/extensions.proto\x1a\x10proto/type.proto"\xc7\x06\n\tRelCommon\x121\n\x06direct\x18\x01 \x01(\x0b2\x17.proto.RelCommon.DirectH\x00R\x06direct\x12+\n\x04emit\x18\x02 \x01(\x0b2\x15.proto.RelCommon.EmitH\x00R\x04emit\x12)\n\x04hint\x18\x03 \x01(\x0b2\x15.proto.RelCommon.HintR\x04hint\x12R\n\x12advanced_extension\x18\x04 \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x08\n\x06Direct\x1a-\n\x04Emit\x12%\n\x0eoutput_mapping\x18\x01 \x03(\x05R\routputMapping\x1a\x94\x04\n\x04Hint\x121\n\x05stats\x18\x01 \x01(\x0b2\x1b.proto.RelCommon.Hint.StatsR\x05stats\x12G\n\nconstraint\x18\x02 \x01(\x0b2\'.proto.RelCommon.Hint.RuntimeConstraintR\nconstraint\x12\x14\n\x05alias\x18\x03 \x01(\tR\x05alias\x12!\n\x0coutput_names\x18\x04 \x03(\tR\x0boutputNames\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x99\x01\n\x05Stats\x12\x1b\n\trow_count\x18\x01 \x01(\x01R\x08rowCount\x12\x1f\n\x0brecord_size\x18\x02 \x01(\x01R\nrecordSize\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1ag\n\x11RuntimeConstraint\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtensionB\x0b\n\temit_kind"\xfa\x10\n\x07ReadRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x123\n\x0bbase_schema\x18\x02 \x01(\x0b2\x12.proto.NamedStructR\nbaseSchema\x12)\n\x06filter\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\x06filter\x12?\n\x12best_effort_filter\x18\x0b \x01(\x0b2\x11.proto.ExpressionR\x10bestEffortFilter\x12@\n\nprojection\x18\x04 \x01(\x0b2 .proto.Expression.MaskExpressionR\nprojection\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x12B\n\rvirtual_table\x18\x05 \x01(\x0b2\x1b.proto.ReadRel.VirtualTableH\x00R\x0cvirtualTable\x12<\n\x0blocal_files\x18\x06 \x01(\x0b2\x19.proto.ReadRel.LocalFilesH\x00R\nlocalFiles\x12<\n\x0bnamed_table\x18\x07 \x01(\x0b2\x19.proto.ReadRel.NamedTableH\x00R\nnamedTable\x12H\n\x0fextension_table\x18\x08 \x01(\x0b2\x1d.proto.ReadRel.ExtensionTableH\x00R\x0eextensionTable\x1av\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1aH\n\x0cVirtualTable\x128\n\x06values\x18\x01 \x03(\x0b2 .proto.Expression.Literal.StructR\x06values\x1a>\n\x0eExtensionTable\x12,\n\x06detail\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\x1a\xf4\t\n\nLocalFiles\x12;\n\x05items\x18\x01 \x03(\x0b2%.proto.ReadRel.LocalFiles.FileOrFilesR\x05items\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xd4\x08\n\x0bFileOrFiles\x12\x1b\n\x08uri_path\x18\x01 \x01(\tH\x00R\x07uriPath\x12$\n\ruri_path_glob\x18\x02 \x01(\tH\x00R\x0buriPathGlob\x12\x1b\n\x08uri_file\x18\x03 \x01(\tH\x00R\x07uriFile\x12\x1f\n\nuri_folder\x18\x04 \x01(\tH\x00R\turiFolder\x12\'\n\x0fpartition_index\x18\x06 \x01(\x04R\x0epartitionIndex\x12\x14\n\x05start\x18\x07 \x01(\x04R\x05start\x12\x16\n\x06length\x18\x08 \x01(\x04R\x06length\x12T\n\x07parquet\x18\t \x01(\x0b28.proto.ReadRel.LocalFiles.FileOrFiles.ParquetReadOptionsH\x01R\x07parquet\x12N\n\x05arrow\x18\n \x01(\x0b26.proto.ReadRel.LocalFiles.FileOrFiles.ArrowReadOptionsH\x01R\x05arrow\x12H\n\x03orc\x18\x0b \x01(\x0b24.proto.ReadRel.LocalFiles.FileOrFiles.OrcReadOptionsH\x01R\x03orc\x124\n\textension\x18\x0c \x01(\x0b2\x14.google.protobuf.AnyH\x01R\textension\x12K\n\x04dwrf\x18\r \x01(\x0b25.proto.ReadRel.LocalFiles.FileOrFiles.DwrfReadOptionsH\x01R\x04dwrf\x12]\n\x04text\x18\x0e \x01(\x0b2G.proto.ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptionsH\x01R\x04text\x1a\x14\n\x12ParquetReadOptions\x1a\x12\n\x10ArrowReadOptions\x1a\x10\n\x0eOrcReadOptions\x1a\x11\n\x0fDwrfReadOptions\x1a\xa1\x02\n!DelimiterSeparatedTextReadOptions\x12\'\n\x0ffield_delimiter\x18\x01 \x01(\tR\x0efieldDelimiter\x12"\n\rmax_line_size\x18\x02 \x01(\x04R\x0bmaxLineSize\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12/\n\x14header_lines_to_skip\x18\x04 \x01(\x04R\x11headerLinesToSkip\x12\x16\n\x06escape\x18\x05 \x01(\tR\x06escape\x126\n\x15value_treated_as_null\x18\x06 \x01(\tH\x00R\x12valueTreatedAsNull\x88\x01\x01B\x18\n\x16_value_treated_as_nullB\x0b\n\tpath_typeB\r\n\x0bfile_formatJ\x04\x08\x05\x10\x06R\x06formatB\x0b\n\tread_type"\xe1\x01\n\nProjectRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x123\n\x0bexpressions\x18\x03 \x03(\x0b2\x11.proto.ExpressionR\x0bexpressions\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xb1\x05\n\x07JoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x121\n\nexpression\x18\x04 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x12;\n\x10post_join_filter\x18\x05 \x01(\x0b2\x11.proto.ExpressionR\x0epostJoinFilter\x12+\n\x04type\x18\x06 \x01(\x0e2\x17.proto.JoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x06\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x08\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\xca\x01\n\x08CrossRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xd8\x01\n\x08FetchRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12\x16\n\x06offset\x18\x03 \x01(\x03R\x06offset\x12\x14\n\x05count\x18\x04 \x01(\x03R\x05count\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xdf\x03\n\x0cAggregateRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12:\n\tgroupings\x18\x03 \x03(\x0b2\x1c.proto.AggregateRel.GroupingR\tgroupings\x127\n\x08measures\x18\x04 \x03(\x0b2\x1b.proto.AggregateRel.MeasureR\x08measures\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1aP\n\x08Grouping\x12D\n\x14grouping_expressions\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x13groupingExpressions\x1ah\n\x07Measure\x122\n\x07measure\x18\x01 \x01(\x0b2\x18.proto.AggregateFunctionR\x07measure\x12)\n\x06filter\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x06filter"\xca\x07\n\x1cConsistentPartitionWindowRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12`\n\x10window_functions\x18\x03 \x03(\x0b25.proto.ConsistentPartitionWindowRel.WindowRelFunctionR\x0fwindowFunctions\x12F\n\x15partition_expressions\x18\x04 \x03(\x0b2\x11.proto.ExpressionR\x14partitionExpressions\x12&\n\x05sorts\x18\x05 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xb7\x04\n\x11WindowRelFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\t \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x0b \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x07 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12-\n\x05phase\x18\x06 \x01(\x0e2\x17.proto.AggregationPhaseR\x05phase\x12N\n\ninvocation\x18\n \x01(\x0e2..proto.AggregateFunction.AggregationInvocationR\ninvocation\x12G\n\x0blower_bound\x18\x05 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nlowerBound\x12G\n\x0bupper_bound\x18\x04 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nupperBound\x12L\n\x0bbounds_type\x18\x0c \x01(\x0e2+.proto.Expression.WindowFunction.BoundsTypeR\nboundsType"\xd1\x01\n\x07SortRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12&\n\x05sorts\x18\x03 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xdc\x01\n\tFilterRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12/\n\tcondition\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\tcondition\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\x9a\x03\n\x06SetRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12"\n\x06inputs\x18\x02 \x03(\x0b2\n.proto.RelR\x06inputs\x12#\n\x02op\x18\x03 \x01(\x0e2\x13.proto.SetRel.SetOpR\x02op\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x01\n\x05SetOp\x12\x16\n\x12SET_OP_UNSPECIFIED\x10\x00\x12\x18\n\x14SET_OP_MINUS_PRIMARY\x10\x01\x12\x19\n\x15SET_OP_MINUS_MULTISET\x10\x02\x12\x1f\n\x1bSET_OP_INTERSECTION_PRIMARY\x10\x03\x12 \n\x1cSET_OP_INTERSECTION_MULTISET\x10\x04\x12\x19\n\x15SET_OP_UNION_DISTINCT\x10\x05\x12\x14\n\x10SET_OP_UNION_ALL\x10\x06"\x8e\x01\n\x12ExtensionSingleRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12,\n\x06detail\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"j\n\x10ExtensionLeafRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12,\n\x06detail\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"\x8f\x01\n\x11ExtensionMultiRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12"\n\x06inputs\x18\x02 \x03(\x0b2\n.proto.RelR\x06inputs\x12,\n\x06detail\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"\xe9\x08\n\x0bExchangeRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12\'\n\x0fpartition_count\x18\x03 \x01(\x05R\x0epartitionCount\x12;\n\x07targets\x18\x04 \x03(\x0b2!.proto.ExchangeRel.ExchangeTargetR\x07targets\x12N\n\x11scatter_by_fields\x18\x05 \x01(\x0b2 .proto.ExchangeRel.ScatterFieldsH\x00R\x0fscatterByFields\x12P\n\rsingle_target\x18\x06 \x01(\x0b2).proto.ExchangeRel.SingleBucketExpressionH\x00R\x0csingleTarget\x12M\n\x0cmulti_target\x18\x07 \x01(\x0b2(.proto.ExchangeRel.MultiBucketExpressionH\x00R\x0bmultiTarget\x12@\n\x0bround_robin\x18\x08 \x01(\x0b2\x1d.proto.ExchangeRel.RoundRobinH\x00R\nroundRobin\x12<\n\tbroadcast\x18\t \x01(\x0b2\x1c.proto.ExchangeRel.BroadcastH\x00R\tbroadcast\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1aI\n\rScatterFields\x128\n\x06fields\x18\x01 \x03(\x0b2 .proto.Expression.FieldReferenceR\x06fields\x1aK\n\x16SingleBucketExpression\x121\n\nexpression\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x1a|\n\x15MultiBucketExpression\x121\n\nexpression\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x120\n\x14constrained_to_count\x18\x02 \x01(\x08R\x12constrainedToCount\x1a\x0b\n\tBroadcast\x1a"\n\nRoundRobin\x12\x14\n\x05exact\x18\x01 \x01(\x08R\x05exact\x1a\x8a\x01\n\x0eExchangeTarget\x12!\n\x0cpartition_id\x18\x01 \x03(\x05R\x0bpartitionId\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uri\x122\n\x08extended\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyH\x00R\x08extendedB\r\n\x0btarget_typeB\x0f\n\rexchange_kind"\xfc\x02\n\tExpandRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x124\n\x06fields\x18\x04 \x03(\x0b2\x1c.proto.ExpandRel.ExpandFieldR\x06fields\x1a\xa7\x01\n\x0bExpandField\x12J\n\x0fswitching_field\x18\x02 \x01(\x0b2\x1f.proto.ExpandRel.SwitchingFieldH\x00R\x0eswitchingField\x12>\n\x10consistent_field\x18\x03 \x01(\x0b2\x11.proto.ExpressionH\x00R\x0fconsistentFieldB\x0c\n\nfield_type\x1aC\n\x0eSwitchingField\x121\n\nduplicates\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\nduplicates"A\n\x07RelRoot\x12 \n\x05input\x18\x01 \x01(\x0b2\n.proto.RelR\x05input\x12\x14\n\x05names\x18\x02 \x03(\tR\x05names"\xa4\x08\n\x03Rel\x12$\n\x04read\x18\x01 \x01(\x0b2\x0e.proto.ReadRelH\x00R\x04read\x12*\n\x06filter\x18\x02 \x01(\x0b2\x10.proto.FilterRelH\x00R\x06filter\x12\'\n\x05fetch\x18\x03 \x01(\x0b2\x0f.proto.FetchRelH\x00R\x05fetch\x123\n\taggregate\x18\x04 \x01(\x0b2\x13.proto.AggregateRelH\x00R\taggregate\x12$\n\x04sort\x18\x05 \x01(\x0b2\x0e.proto.SortRelH\x00R\x04sort\x12$\n\x04join\x18\x06 \x01(\x0b2\x0e.proto.JoinRelH\x00R\x04join\x12-\n\x07project\x18\x07 \x01(\x0b2\x11.proto.ProjectRelH\x00R\x07project\x12!\n\x03set\x18\x08 \x01(\x0b2\r.proto.SetRelH\x00R\x03set\x12F\n\x10extension_single\x18\t \x01(\x0b2\x19.proto.ExtensionSingleRelH\x00R\x0fextensionSingle\x12C\n\x0fextension_multi\x18\n \x01(\x0b2\x18.proto.ExtensionMultiRelH\x00R\x0eextensionMulti\x12@\n\x0eextension_leaf\x18\x0b \x01(\x0b2\x17.proto.ExtensionLeafRelH\x00R\rextensionLeaf\x12\'\n\x05cross\x18\x0c \x01(\x0b2\x0f.proto.CrossRelH\x00R\x05cross\x123\n\treference\x18\x15 \x01(\x0b2\x13.proto.ReferenceRelH\x00R\treference\x12\'\n\x05write\x18\x13 \x01(\x0b2\x0f.proto.WriteRelH\x00R\x05write\x12!\n\x03ddl\x18\x14 \x01(\x0b2\r.proto.DdlRelH\x00R\x03ddl\x121\n\thash_join\x18\r \x01(\x0b2\x12.proto.HashJoinRelH\x00R\x08hashJoin\x124\n\nmerge_join\x18\x0e \x01(\x0b2\x13.proto.MergeJoinRelH\x00R\tmergeJoin\x12D\n\x10nested_loop_join\x18\x12 \x01(\x0b2\x18.proto.NestedLoopJoinRelH\x00R\x0enestedLoopJoin\x12=\n\x06window\x18\x11 \x01(\x0b2#.proto.ConsistentPartitionWindowRelH\x00R\x06window\x120\n\x08exchange\x18\x0f \x01(\x0b2\x12.proto.ExchangeRelH\x00R\x08exchange\x12*\n\x06expand\x18\x10 \x01(\x0b2\x10.proto.ExpandRelH\x00R\x06expandB\n\n\x08rel_type"|\n\x10NamedObjectWrite\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"?\n\x0fExtensionObject\x12,\n\x06detail\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"\xb2\x05\n\x06DdlRel\x12<\n\x0cnamed_object\x18\x01 \x01(\x0b2\x17.proto.NamedObjectWriteH\x00R\x0bnamedObject\x12C\n\x10extension_object\x18\x02 \x01(\x0b2\x16.proto.ExtensionObjectH\x00R\x0fextensionObject\x125\n\x0ctable_schema\x18\x03 \x01(\x0b2\x12.proto.NamedStructR\x0btableSchema\x12G\n\x0etable_defaults\x18\x04 \x01(\x0b2 .proto.Expression.Literal.StructR\rtableDefaults\x12/\n\x06object\x18\x05 \x01(\x0e2\x17.proto.DdlRel.DdlObjectR\x06object\x12#\n\x02op\x18\x06 \x01(\x0e2\x13.proto.DdlRel.DdlOpR\x02op\x123\n\x0fview_definition\x18\x07 \x01(\x0b2\n.proto.RelR\x0eviewDefinition\x12(\n\x06common\x18\x08 \x01(\x0b2\x10.proto.RelCommonR\x06common"R\n\tDdlObject\x12\x1a\n\x16DDL_OBJECT_UNSPECIFIED\x10\x00\x12\x14\n\x10DDL_OBJECT_TABLE\x10\x01\x12\x13\n\x0fDDL_OBJECT_VIEW\x10\x02"\x8d\x01\n\x05DdlOp\x12\x16\n\x12DDL_OP_UNSPECIFIED\x10\x00\x12\x11\n\rDDL_OP_CREATE\x10\x01\x12\x1c\n\x18DDL_OP_CREATE_OR_REPLACE\x10\x02\x12\x10\n\x0cDDL_OP_ALTER\x10\x03\x12\x0f\n\x0bDDL_OP_DROP\x10\x04\x12\x18\n\x14DDL_OP_DROP_IF_EXIST\x10\x05B\x0c\n\nwrite_type"\xd6\x04\n\x08WriteRel\x12:\n\x0bnamed_table\x18\x01 \x01(\x0b2\x17.proto.NamedObjectWriteH\x00R\nnamedTable\x12A\n\x0fextension_table\x18\x02 \x01(\x0b2\x16.proto.ExtensionObjectH\x00R\x0eextensionTable\x125\n\x0ctable_schema\x18\x03 \x01(\x0b2\x12.proto.NamedStructR\x0btableSchema\x12\'\n\x02op\x18\x04 \x01(\x0e2\x17.proto.WriteRel.WriteOpR\x02op\x12 \n\x05input\x18\x05 \x01(\x0b2\n.proto.RelR\x05input\x122\n\x06output\x18\x06 \x01(\x0e2\x1a.proto.WriteRel.OutputModeR\x06output\x12(\n\x06common\x18\x07 \x01(\x0b2\x10.proto.RelCommonR\x06common"u\n\x07WriteOp\x12\x18\n\x14WRITE_OP_UNSPECIFIED\x10\x00\x12\x13\n\x0fWRITE_OP_INSERT\x10\x01\x12\x13\n\x0fWRITE_OP_DELETE\x10\x02\x12\x13\n\x0fWRITE_OP_UPDATE\x10\x03\x12\x11\n\rWRITE_OP_CTAS\x10\x04"f\n\nOutputMode\x12\x1b\n\x17OUTPUT_MODE_UNSPECIFIED\x10\x00\x12\x19\n\x15OUTPUT_MODE_NO_OUTPUT\x10\x01\x12 \n\x1cOUTPUT_MODE_MODIFIED_RECORDS\x10\x02B\x0c\n\nwrite_type"\xab\x04\n\x11ComparisonJoinKey\x124\n\x04left\x18\x01 \x01(\x0b2 .proto.Expression.FieldReferenceR\x04left\x126\n\x05right\x18\x02 \x01(\x0b2 .proto.Expression.FieldReferenceR\x05right\x12G\n\ncomparison\x18\x03 \x01(\x0b2\'.proto.ComparisonJoinKey.ComparisonTypeR\ncomparison\x1a\xa5\x01\n\x0eComparisonType\x12G\n\x06simple\x18\x01 \x01(\x0e2-.proto.ComparisonJoinKey.SimpleComparisonTypeH\x00R\x06simple\x12<\n\x19custom_function_reference\x18\x02 \x01(\rH\x00R\x17customFunctionReferenceB\x0c\n\ninner_type"\xb6\x01\n\x14SimpleComparisonType\x12&\n"SIMPLE_COMPARISON_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19SIMPLE_COMPARISON_TYPE_EQ\x10\x01\x12/\n+SIMPLE_COMPARISON_TYPE_IS_NOT_DISTINCT_FROM\x10\x02\x12&\n"SIMPLE_COMPARISON_TYPE_MIGHT_EQUAL\x10\x03"\xbc\x06\n\x0bHashJoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x12A\n\tleft_keys\x18\x04 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12C\n\nright_keys\x18\x05 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x12,\n\x04keys\x18\x08 \x03(\x0b2\x18.proto.ComparisonJoinKeyR\x04keys\x12;\n\x10post_join_filter\x18\x06 \x01(\x0b2\x11.proto.ExpressionR\x0epostJoinFilter\x12/\n\x04type\x18\x07 \x01(\x0e2\x1b.proto.HashJoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\xbe\x06\n\x0cMergeJoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x12A\n\tleft_keys\x18\x04 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12C\n\nright_keys\x18\x05 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x12,\n\x04keys\x18\x08 \x03(\x0b2\x18.proto.ComparisonJoinKeyR\x04keys\x12;\n\x10post_join_filter\x18\x06 \x01(\x0b2\x11.proto.ExpressionR\x0epostJoinFilter\x120\n\x04type\x18\x07 \x01(\x0e2\x1c.proto.MergeJoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\x88\x05\n\x11NestedLoopJoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x121\n\nexpression\x18\x04 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x125\n\x04type\x18\x05 \x01(\x0e2!.proto.NestedLoopJoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\x82\x01\n\x10FunctionArgument\x12\x14\n\x04enum\x18\x01 \x01(\tH\x00R\x04enum\x12!\n\x04type\x18\x02 \x01(\x0b2\x0b.proto.TypeH\x00R\x04type\x12)\n\x05value\x18\x03 \x01(\x0b2\x11.proto.ExpressionH\x00R\x05valueB\n\n\x08arg_type"D\n\x0eFunctionOption\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1e\n\npreference\x18\x02 \x03(\tR\npreference"\x80V\n\nExpression\x125\n\x07literal\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralH\x00R\x07literal\x12@\n\tselection\x18\x02 \x01(\x0b2 .proto.Expression.FieldReferenceH\x00R\tselection\x12K\n\x0fscalar_function\x18\x03 \x01(\x0b2 .proto.Expression.ScalarFunctionH\x00R\x0escalarFunction\x12K\n\x0fwindow_function\x18\x05 \x01(\x0b2 .proto.Expression.WindowFunctionH\x00R\x0ewindowFunction\x123\n\x07if_then\x18\x06 \x01(\x0b2\x18.proto.Expression.IfThenH\x00R\x06ifThen\x12Q\n\x11switch_expression\x18\x07 \x01(\x0b2".proto.Expression.SwitchExpressionH\x00R\x10switchExpression\x12L\n\x10singular_or_list\x18\x08 \x01(\x0b2 .proto.Expression.SingularOrListH\x00R\x0esingularOrList\x12C\n\rmulti_or_list\x18\t \x01(\x0b2\x1d.proto.Expression.MultiOrListH\x00R\x0bmultiOrList\x12,\n\x04cast\x18\x0b \x01(\x0b2\x16.proto.Expression.CastH\x00R\x04cast\x128\n\x08subquery\x18\x0c \x01(\x0b2\x1a.proto.Expression.SubqueryH\x00R\x08subquery\x122\n\x06nested\x18\r \x01(\x0b2\x18.proto.Expression.NestedH\x00R\x06nested\x120\n\x04enum\x18\n \x01(\x0b2\x16.proto.Expression.EnumB\x02\x18\x01H\x00R\x04enum\x1a\x86\x01\n\x04Enum\x12\x1e\n\tspecified\x18\x01 \x01(\tH\x00R\tspecified\x12@\n\x0bunspecified\x18\x02 \x01(\x0b2\x1c.proto.Expression.Enum.EmptyH\x00R\x0bunspecified\x1a\x0b\n\x05Empty:\x02\x18\x01:\x02\x18\x01B\x0b\n\tenum_kind\x1a\xc7\x15\n\x07Literal\x12\x1a\n\x07boolean\x18\x01 \x01(\x08H\x00R\x07boolean\x12\x10\n\x02i8\x18\x02 \x01(\x05H\x00R\x02i8\x12\x12\n\x03i16\x18\x03 \x01(\x05H\x00R\x03i16\x12\x12\n\x03i32\x18\x05 \x01(\x05H\x00R\x03i32\x12\x12\n\x03i64\x18\x07 \x01(\x03H\x00R\x03i64\x12\x14\n\x04fp32\x18\n \x01(\x02H\x00R\x04fp32\x12\x14\n\x04fp64\x18\x0b \x01(\x01H\x00R\x04fp64\x12\x18\n\x06string\x18\x0c \x01(\tH\x00R\x06string\x12\x18\n\x06binary\x18\r \x01(\x0cH\x00R\x06binary\x12"\n\ttimestamp\x18\x0e \x01(\x03B\x02\x18\x01H\x00R\ttimestamp\x12\x14\n\x04date\x18\x10 \x01(\x05H\x00R\x04date\x12\x14\n\x04time\x18\x11 \x01(\x03H\x00R\x04time\x12d\n\x16interval_year_to_month\x18\x13 \x01(\x0b2-.proto.Expression.Literal.IntervalYearToMonthH\x00R\x13intervalYearToMonth\x12d\n\x16interval_day_to_second\x18\x14 \x01(\x0b2-.proto.Expression.Literal.IntervalDayToSecondH\x00R\x13intervalDayToSecond\x12Y\n\x11interval_compound\x18$ \x01(\x0b2*.proto.Expression.Literal.IntervalCompoundH\x00R\x10intervalCompound\x12\x1f\n\nfixed_char\x18\x15 \x01(\tH\x00R\tfixedChar\x12>\n\x08var_char\x18\x16 \x01(\x0b2!.proto.Expression.Literal.VarCharH\x00R\x07varChar\x12#\n\x0cfixed_binary\x18\x17 \x01(\x0cH\x00R\x0bfixedBinary\x12=\n\x07decimal\x18\x18 \x01(\x0b2!.proto.Expression.Literal.DecimalH\x00R\x07decimal\x12_\n\x13precision_timestamp\x18" \x01(\x0b2,.proto.Expression.Literal.PrecisionTimestampH\x00R\x12precisionTimestamp\x12d\n\x16precision_timestamp_tz\x18# \x01(\x0b2,.proto.Expression.Literal.PrecisionTimestampH\x00R\x14precisionTimestampTz\x12:\n\x06struct\x18\x19 \x01(\x0b2 .proto.Expression.Literal.StructH\x00R\x06struct\x121\n\x03map\x18\x1a \x01(\x0b2\x1d.proto.Expression.Literal.MapH\x00R\x03map\x12\'\n\x0ctimestamp_tz\x18\x1b \x01(\x03B\x02\x18\x01H\x00R\x0btimestampTz\x12\x14\n\x04uuid\x18\x1c \x01(\x0cH\x00R\x04uuid\x12!\n\x04null\x18\x1d \x01(\x0b2\x0b.proto.TypeH\x00R\x04null\x124\n\x04list\x18\x1e \x01(\x0b2\x1e.proto.Expression.Literal.ListH\x00R\x04list\x121\n\nempty_list\x18\x1f \x01(\x0b2\x10.proto.Type.ListH\x00R\temptyList\x12.\n\tempty_map\x18 \x01(\x0b2\x0f.proto.Type.MapH\x00R\x08emptyMap\x12J\n\x0cuser_defined\x18! \x01(\x0b2%.proto.Expression.Literal.UserDefinedH\x00R\x0buserDefined\x12\x1a\n\x08nullable\x182 \x01(\x08R\x08nullable\x128\n\x18type_variation_reference\x183 \x01(\rR\x16typeVariationReference\x1a7\n\x07VarChar\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length\x1aS\n\x07Decimal\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x03 \x01(\x05R\x05scale\x1aH\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value\x1a\xb6\x01\n\x03Map\x12E\n\nkey_values\x18\x01 \x03(\x0b2&.proto.Expression.Literal.Map.KeyValueR\tkeyValues\x1ah\n\x08KeyValue\x12+\n\x03key\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b2\x19.proto.Expression.LiteralR\x05value\x1aC\n\x13IntervalYearToMonth\x12\x14\n\x05years\x18\x01 \x01(\x05R\x05years\x12\x16\n\x06months\x18\x02 \x01(\x05R\x06months\x1a\xbf\x01\n\x13IntervalDayToSecond\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12\x18\n\x07seconds\x18\x02 \x01(\x05R\x07seconds\x12(\n\x0cmicroseconds\x18\x03 \x01(\x05B\x02\x18\x01H\x00R\x0cmicroseconds\x12\x1e\n\tprecision\x18\x04 \x01(\x05H\x00R\tprecision\x12\x1e\n\nsubseconds\x18\x05 \x01(\x03R\nsubsecondsB\x10\n\x0eprecision_mode\x1a\xda\x01\n\x10IntervalCompound\x12b\n\x16interval_year_to_month\x18\x01 \x01(\x0b2-.proto.Expression.Literal.IntervalYearToMonthR\x13intervalYearToMonth\x12b\n\x16interval_day_to_second\x18\x02 \x01(\x0b2-.proto.Expression.Literal.IntervalDayToSecondR\x13intervalDayToSecond\x1a;\n\x06Struct\x121\n\x06fields\x18\x01 \x03(\x0b2\x19.proto.Expression.LiteralR\x06fields\x1a9\n\x04List\x121\n\x06values\x18\x01 \x03(\x0b2\x19.proto.Expression.LiteralR\x06values\x1a\xe5\x01\n\x0bUserDefined\x12%\n\x0etype_reference\x18\x01 \x01(\rR\rtypeReference\x12>\n\x0ftype_parameters\x18\x03 \x03(\x0b2\x15.proto.Type.ParameterR\x0etypeParameters\x12,\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyH\x00R\x05value\x12:\n\x06struct\x18\x04 \x01(\x0b2 .proto.Expression.Literal.StructH\x00R\x06structB\x05\n\x03valB\x0e\n\x0cliteral_type\x1a\x9f\x04\n\x06Nested\x12\x1a\n\x08nullable\x18\x01 \x01(\x08R\x08nullable\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x06struct\x18\x03 \x01(\x0b2\x1f.proto.Expression.Nested.StructH\x00R\x06struct\x123\n\x04list\x18\x04 \x01(\x0b2\x1d.proto.Expression.Nested.ListH\x00R\x04list\x120\n\x03map\x18\x05 \x01(\x0b2\x1c.proto.Expression.Nested.MapH\x00R\x03map\x1a\xa5\x01\n\x03Map\x12D\n\nkey_values\x18\x01 \x03(\x0b2%.proto.Expression.Nested.Map.KeyValueR\tkeyValues\x1aX\n\x08KeyValue\x12#\n\x03key\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x03key\x12\'\n\x05value\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x05value\x1a3\n\x06Struct\x12)\n\x06fields\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x06fields\x1a1\n\x04List\x12)\n\x06values\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x06valuesB\r\n\x0bnested_type\x1a\x80\x02\n\x0eScalarFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\x04 \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x05 \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x03 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12)\n\x04args\x18\x02 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x04args\x1a\xd5\t\n\x0eWindowFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\t \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x0b \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x07 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12-\n\x05phase\x18\x06 \x01(\x0e2\x17.proto.AggregationPhaseR\x05phase\x12&\n\x05sorts\x18\x03 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12N\n\ninvocation\x18\n \x01(\x0e2..proto.AggregateFunction.AggregationInvocationR\ninvocation\x121\n\npartitions\x18\x02 \x03(\x0b2\x11.proto.ExpressionR\npartitions\x12L\n\x0bbounds_type\x18\x0c \x01(\x0e2+.proto.Expression.WindowFunction.BoundsTypeR\nboundsType\x12G\n\x0blower_bound\x18\x05 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nlowerBound\x12G\n\x0bupper_bound\x18\x04 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nupperBound\x12)\n\x04args\x18\x08 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x04args\x1a\xc0\x03\n\x05Bound\x12P\n\tpreceding\x18\x01 \x01(\x0b20.proto.Expression.WindowFunction.Bound.PrecedingH\x00R\tpreceding\x12P\n\tfollowing\x18\x02 \x01(\x0b20.proto.Expression.WindowFunction.Bound.FollowingH\x00R\tfollowing\x12T\n\x0bcurrent_row\x18\x03 \x01(\x0b21.proto.Expression.WindowFunction.Bound.CurrentRowH\x00R\ncurrentRow\x12P\n\tunbounded\x18\x04 \x01(\x0b20.proto.Expression.WindowFunction.Bound.UnboundedH\x00R\tunbounded\x1a#\n\tPreceding\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a#\n\tFollowing\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a\x0c\n\nCurrentRow\x1a\x0b\n\tUnboundedB\x06\n\x04kind"V\n\nBoundsType\x12\x1b\n\x17BOUNDS_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10BOUNDS_TYPE_ROWS\x10\x01\x12\x15\n\x11BOUNDS_TYPE_RANGE\x10\x02\x1a\xba\x01\n\x06IfThen\x123\n\x03ifs\x18\x01 \x03(\x0b2!.proto.Expression.IfThen.IfClauseR\x03ifs\x12%\n\x04else\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04else\x1aT\n\x08IfClause\x12!\n\x02if\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x02if\x12%\n\x04then\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04then\x1a\xa0\x02\n\x04Cast\x12\x1f\n\x04type\x18\x01 \x01(\x0b2\x0b.proto.TypeR\x04type\x12\'\n\x05input\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x05input\x12Q\n\x10failure_behavior\x18\x03 \x01(\x0e2&.proto.Expression.Cast.FailureBehaviorR\x0ffailureBehavior"{\n\x0fFailureBehavior\x12 \n\x1cFAILURE_BEHAVIOR_UNSPECIFIED\x10\x00\x12 \n\x1cFAILURE_BEHAVIOR_RETURN_NULL\x10\x01\x12$\n FAILURE_BEHAVIOR_THROW_EXCEPTION\x10\x02\x1a\xfd\x01\n\x10SwitchExpression\x12\'\n\x05match\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\x05match\x12<\n\x03ifs\x18\x01 \x03(\x0b2*.proto.Expression.SwitchExpression.IfValueR\x03ifs\x12%\n\x04else\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04else\x1a[\n\x07IfValue\x12)\n\x02if\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralR\x02if\x12%\n\x04then\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04then\x1af\n\x0eSingularOrList\x12\'\n\x05value\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x05value\x12+\n\x07options\x18\x02 \x03(\x0b2\x11.proto.ExpressionR\x07options\x1a\xab\x01\n\x0bMultiOrList\x12\'\n\x05value\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x05value\x12>\n\x07options\x18\x02 \x03(\x0b2$.proto.Expression.MultiOrList.RecordR\x07options\x1a3\n\x06Record\x12)\n\x06fields\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x06fields\x1a\x83\x04\n\x10EmbeddedFunction\x12/\n\targuments\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\targuments\x12,\n\x0boutput_type\x18\x02 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12o\n\x16python_pickle_function\x18\x03 \x01(\x0b27.proto.Expression.EmbeddedFunction.PythonPickleFunctionH\x00R\x14pythonPickleFunction\x12l\n\x15web_assembly_function\x18\x04 \x01(\x0b26.proto.Expression.EmbeddedFunction.WebAssemblyFunctionH\x00R\x13webAssemblyFunction\x1aV\n\x14PythonPickleFunction\x12\x1a\n\x08function\x18\x01 \x01(\x0cR\x08function\x12"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisite\x1aQ\n\x13WebAssemblyFunction\x12\x16\n\x06script\x18\x01 \x01(\x0cR\x06script\x12"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisiteB\x06\n\x04kind\x1a\xcc\x04\n\x10ReferenceSegment\x12D\n\x07map_key\x18\x01 \x01(\x0b2).proto.Expression.ReferenceSegment.MapKeyH\x00R\x06mapKey\x12S\n\x0cstruct_field\x18\x02 \x01(\x0b2..proto.Expression.ReferenceSegment.StructFieldH\x00R\x0bstructField\x12S\n\x0clist_element\x18\x03 \x01(\x0b2..proto.Expression.ReferenceSegment.ListElementH\x00R\x0blistElement\x1av\n\x06MapKey\x122\n\x07map_key\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralR\x06mapKey\x128\n\x05child\x18\x02 \x01(\x0b2".proto.Expression.ReferenceSegmentR\x05child\x1a]\n\x0bStructField\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x128\n\x05child\x18\x02 \x01(\x0b2".proto.Expression.ReferenceSegmentR\x05child\x1a_\n\x0bListElement\x12\x16\n\x06offset\x18\x01 \x01(\x05R\x06offset\x128\n\x05child\x18\x02 \x01(\x0b2".proto.Expression.ReferenceSegmentR\x05childB\x10\n\x0ereference_type\x1a\xee\n\n\x0eMaskExpression\x12E\n\x06select\x18\x01 \x01(\x0b2-.proto.Expression.MaskExpression.StructSelectR\x06select\x128\n\x18maintain_singular_struct\x18\x02 \x01(\x08R\x16maintainSingularStruct\x1a\xdc\x01\n\x06Select\x12G\n\x06struct\x18\x01 \x01(\x0b2-.proto.Expression.MaskExpression.StructSelectH\x00R\x06struct\x12A\n\x04list\x18\x02 \x01(\x0b2+.proto.Expression.MaskExpression.ListSelectH\x00R\x04list\x12>\n\x03map\x18\x03 \x01(\x0b2*.proto.Expression.MaskExpression.MapSelectH\x00R\x03mapB\x06\n\x04type\x1a^\n\x0cStructSelect\x12N\n\x0cstruct_items\x18\x01 \x03(\x0b2+.proto.Expression.MaskExpression.StructItemR\x0bstructItems\x1aa\n\nStructItem\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x12=\n\x05child\x18\x02 \x01(\x0b2\'.proto.Expression.MaskExpression.SelectR\x05child\x1a\xd6\x03\n\nListSelect\x12X\n\tselection\x18\x01 \x03(\x0b2:.proto.Expression.MaskExpression.ListSelect.ListSelectItemR\tselection\x12=\n\x05child\x18\x02 \x01(\x0b2\'.proto.Expression.MaskExpression.SelectR\x05child\x1a\xae\x02\n\x0eListSelectItem\x12\\\n\x04item\x18\x01 \x01(\x0b2F.proto.Expression.MaskExpression.ListSelect.ListSelectItem.ListElementH\x00R\x04item\x12\\\n\x05slice\x18\x02 \x01(\x0b2D.proto.Expression.MaskExpression.ListSelect.ListSelectItem.ListSliceH\x00R\x05slice\x1a#\n\x0bListElement\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x1a3\n\tListSlice\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03endB\x06\n\x04type\x1a\xdf\x02\n\tMapSelect\x12E\n\x03key\x18\x01 \x01(\x0b21.proto.Expression.MaskExpression.MapSelect.MapKeyH\x00R\x03key\x12]\n\nexpression\x18\x02 \x01(\x0b2;.proto.Expression.MaskExpression.MapSelect.MapKeyExpressionH\x00R\nexpression\x12=\n\x05child\x18\x03 \x01(\x0b2\'.proto.Expression.MaskExpression.SelectR\x05child\x1a!\n\x06MapKey\x12\x17\n\x07map_key\x18\x01 \x01(\tR\x06mapKey\x1a@\n\x10MapKeyExpression\x12,\n\x12map_key_expression\x18\x01 \x01(\tR\x10mapKeyExpressionB\x08\n\x06select\x1a\xf9\x03\n\x0eFieldReference\x12O\n\x10direct_reference\x18\x01 \x01(\x0b2".proto.Expression.ReferenceSegmentH\x00R\x0fdirectReference\x12M\n\x10masked_reference\x18\x02 \x01(\x0b2 .proto.Expression.MaskExpressionH\x00R\x0fmaskedReference\x123\n\nexpression\x18\x03 \x01(\x0b2\x11.proto.ExpressionH\x01R\nexpression\x12W\n\x0eroot_reference\x18\x04 \x01(\x0b2..proto.Expression.FieldReference.RootReferenceH\x01R\rrootReference\x12Z\n\x0fouter_reference\x18\x05 \x01(\x0b2/.proto.Expression.FieldReference.OuterReferenceH\x01R\x0eouterReference\x1a\x0f\n\rRootReference\x1a-\n\x0eOuterReference\x12\x1b\n\tsteps_out\x18\x01 \x01(\rR\x08stepsOutB\x10\n\x0ereference_typeB\x0b\n\troot_type\x1a\xe1\t\n\x08Subquery\x12;\n\x06scalar\x18\x01 \x01(\x0b2!.proto.Expression.Subquery.ScalarH\x00R\x06scalar\x12K\n\x0cin_predicate\x18\x02 \x01(\x0b2&.proto.Expression.Subquery.InPredicateH\x00R\x0binPredicate\x12N\n\rset_predicate\x18\x03 \x01(\x0b2\'.proto.Expression.Subquery.SetPredicateH\x00R\x0csetPredicate\x12Q\n\x0eset_comparison\x18\x04 \x01(\x0b2(.proto.Expression.Subquery.SetComparisonH\x00R\rsetComparison\x1a*\n\x06Scalar\x12 \n\x05input\x18\x01 \x01(\x0b2\n.proto.RelR\x05input\x1ab\n\x0bInPredicate\x12+\n\x07needles\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x07needles\x12&\n\x08haystack\x18\x02 \x01(\x0b2\n.proto.RelR\x08haystack\x1a\xe9\x01\n\x0cSetPredicate\x12V\n\x0cpredicate_op\x18\x01 \x01(\x0e23.proto.Expression.Subquery.SetPredicate.PredicateOpR\x0bpredicateOp\x12"\n\x06tuples\x18\x02 \x01(\x0b2\n.proto.RelR\x06tuples"]\n\x0bPredicateOp\x12\x1c\n\x18PREDICATE_OP_UNSPECIFIED\x10\x00\x12\x17\n\x13PREDICATE_OP_EXISTS\x10\x01\x12\x17\n\x13PREDICATE_OP_UNIQUE\x10\x02\x1a\x9a\x04\n\rSetComparison\x12W\n\x0creduction_op\x18\x01 \x01(\x0e24.proto.Expression.Subquery.SetComparison.ReductionOpR\x0breductionOp\x12Z\n\rcomparison_op\x18\x02 \x01(\x0e25.proto.Expression.Subquery.SetComparison.ComparisonOpR\x0ccomparisonOp\x12%\n\x04left\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\x04left\x12 \n\x05right\x18\x04 \x01(\x0b2\n.proto.RelR\x05right"\xb1\x01\n\x0cComparisonOp\x12\x1d\n\x19COMPARISON_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10COMPARISON_OP_EQ\x10\x01\x12\x14\n\x10COMPARISON_OP_NE\x10\x02\x12\x14\n\x10COMPARISON_OP_LT\x10\x03\x12\x14\n\x10COMPARISON_OP_GT\x10\x04\x12\x14\n\x10COMPARISON_OP_LE\x10\x05\x12\x14\n\x10COMPARISON_OP_GE\x10\x06"W\n\x0bReductionOp\x12\x1c\n\x18REDUCTION_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10REDUCTION_OP_ANY\x10\x01\x12\x14\n\x10REDUCTION_OP_ALL\x10\x02B\x0f\n\rsubquery_typeB\n\n\x08rex_type"\xa5\x03\n\tSortField\x12%\n\x04expr\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x04expr\x12>\n\tdirection\x18\x02 \x01(\x0e2\x1e.proto.SortField.SortDirectionH\x00R\tdirection\x12D\n\x1dcomparison_function_reference\x18\x03 \x01(\rH\x00R\x1bcomparisonFunctionReference"\xdd\x01\n\rSortDirection\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12"\n\x1eSORT_DIRECTION_ASC_NULLS_FIRST\x10\x01\x12!\n\x1dSORT_DIRECTION_ASC_NULLS_LAST\x10\x02\x12#\n\x1fSORT_DIRECTION_DESC_NULLS_FIRST\x10\x03\x12"\n\x1eSORT_DIRECTION_DESC_NULLS_LAST\x10\x04\x12\x1c\n\x18SORT_DIRECTION_CLUSTERED\x10\x05B\x0b\n\tsort_kind"\xb1\x04\n\x11AggregateFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\x07 \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x08 \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x05 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12-\n\x05phase\x18\x04 \x01(\x0e2\x17.proto.AggregationPhaseR\x05phase\x12&\n\x05sorts\x18\x03 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12N\n\ninvocation\x18\x06 \x01(\x0e2..proto.AggregateFunction.AggregationInvocationR\ninvocation\x12)\n\x04args\x18\x02 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x04args"\x84\x01\n\x15AggregationInvocation\x12&\n"AGGREGATION_INVOCATION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aAGGREGATION_INVOCATION_ALL\x10\x01\x12#\n\x1fAGGREGATION_INVOCATION_DISTINCT\x10\x02"7\n\x0cReferenceRel\x12\'\n\x0fsubtree_ordinal\x18\x01 \x01(\x05R\x0esubtreeOrdinal*\xef\x01\n\x10AggregationPhase\x12!\n\x1dAGGREGATION_PHASE_UNSPECIFIED\x10\x00\x12-\n)AGGREGATION_PHASE_INITIAL_TO_INTERMEDIATE\x10\x01\x122\n.AGGREGATION_PHASE_INTERMEDIATE_TO_INTERMEDIATE\x10\x02\x12\'\n#AGGREGATION_PHASE_INITIAL_TO_RESULT\x10\x03\x12,\n(AGGREGATION_PHASE_INTERMEDIATE_TO_RESULT\x10\x04B#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.algebra_pb2', globals()) +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13proto/algebra.proto\x12\x05proto\x1a\x19google/protobuf/any.proto\x1a!proto/extensions/extensions.proto\x1a\x10proto/type.proto"\x91\x0b\n\tRelCommon\x121\n\x06direct\x18\x01 \x01(\x0b2\x17.proto.RelCommon.DirectH\x00R\x06direct\x12+\n\x04emit\x18\x02 \x01(\x0b2\x15.proto.RelCommon.EmitH\x00R\x04emit\x12)\n\x04hint\x18\x03 \x01(\x0b2\x15.proto.RelCommon.HintR\x04hint\x12R\n\x12advanced_extension\x18\x04 \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x08\n\x06Direct\x1a-\n\x04Emit\x12%\n\x0eoutput_mapping\x18\x01 \x03(\x05R\routputMapping\x1a\xde\x08\n\x04Hint\x121\n\x05stats\x18\x01 \x01(\x0b2\x1b.proto.RelCommon.Hint.StatsR\x05stats\x12G\n\nconstraint\x18\x02 \x01(\x0b2\'.proto.RelCommon.Hint.RuntimeConstraintR\nconstraint\x12\x14\n\x05alias\x18\x03 \x01(\tR\x05alias\x12!\n\x0coutput_names\x18\x04 \x03(\tR\x0boutputNames\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x12U\n\x12saved_computations\x18\x0b \x03(\x0b2&.proto.RelCommon.Hint.SavedComputationR\x11savedComputations\x12X\n\x13loaded_computations\x18\x0c \x03(\x0b2\'.proto.RelCommon.Hint.LoadedComputationR\x12loadedComputations\x1a\x99\x01\n\x05Stats\x12\x1b\n\trow_count\x18\x01 \x01(\x01R\x08rowCount\x12\x1f\n\x0brecord_size\x18\x02 \x01(\x01R\nrecordSize\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1ag\n\x11RuntimeConstraint\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1at\n\x10SavedComputation\x12%\n\x0ecomputation_id\x18\x01 \x01(\x05R\rcomputationId\x129\n\x04type\x18\x02 \x01(\x0e2%.proto.RelCommon.Hint.ComputationTypeR\x04type\x1a\x88\x01\n\x11LoadedComputation\x128\n\x18computation_id_reference\x18\x01 \x01(\x05R\x16computationIdReference\x129\n\x04type\x18\x02 \x01(\x0e2%.proto.RelCommon.Hint.ComputationTypeR\x04type"\x95\x01\n\x0fComputationType\x12 \n\x1cCOMPUTATION_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aCOMPUTATION_TYPE_HASHTABLE\x10\x01\x12!\n\x1dCOMPUTATION_TYPE_BLOOM_FILTER\x10\x02\x12\x1d\n\x18COMPUTATION_TYPE_UNKNOWN\x10\x8fNB\x0b\n\temit_kind"\x85\x14\n\x07ReadRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x123\n\x0bbase_schema\x18\x02 \x01(\x0b2\x12.proto.NamedStructR\nbaseSchema\x12)\n\x06filter\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\x06filter\x12?\n\x12best_effort_filter\x18\x0b \x01(\x0b2\x11.proto.ExpressionR\x10bestEffortFilter\x12@\n\nprojection\x18\x04 \x01(\x0b2 .proto.Expression.MaskExpressionR\nprojection\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x12B\n\rvirtual_table\x18\x05 \x01(\x0b2\x1b.proto.ReadRel.VirtualTableH\x00R\x0cvirtualTable\x12<\n\x0blocal_files\x18\x06 \x01(\x0b2\x19.proto.ReadRel.LocalFilesH\x00R\nlocalFiles\x12<\n\x0bnamed_table\x18\x07 \x01(\x0b2\x19.proto.ReadRel.NamedTableH\x00R\nnamedTable\x12H\n\x0fextension_table\x18\x08 \x01(\x0b2\x1d.proto.ReadRel.ExtensionTableH\x00R\x0eextensionTable\x12B\n\riceberg_table\x18\t \x01(\x0b2\x1b.proto.ReadRel.IcebergTableH\x00R\x0cicebergTable\x1av\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xfc\x01\n\x0cIcebergTable\x12F\n\x06direct\x18\x01 \x01(\x0b2,.proto.ReadRel.IcebergTable.MetadataFileReadH\x00R\x06direct\x1a\x95\x01\n\x10MetadataFileRead\x12!\n\x0cmetadata_uri\x18\x01 \x01(\tR\x0bmetadataUri\x12!\n\x0bsnapshot_id\x18\x02 \x01(\tH\x00R\nsnapshotId\x12/\n\x12snapshot_timestamp\x18\x03 \x01(\x03H\x00R\x11snapshotTimestampB\n\n\x08snapshotB\x0c\n\ntable_type\x1a\x8f\x01\n\x0cVirtualTable\x12<\n\x06values\x18\x01 \x03(\x0b2 .proto.Expression.Literal.StructB\x02\x18\x01R\x06values\x12A\n\x0bexpressions\x18\x02 \x03(\x0b2\x1f.proto.Expression.Nested.StructR\x0bexpressions\x1a>\n\x0eExtensionTable\x12,\n\x06detail\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail\x1a\xf4\t\n\nLocalFiles\x12;\n\x05items\x18\x01 \x03(\x0b2%.proto.ReadRel.LocalFiles.FileOrFilesR\x05items\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xd4\x08\n\x0bFileOrFiles\x12\x1b\n\x08uri_path\x18\x01 \x01(\tH\x00R\x07uriPath\x12$\n\ruri_path_glob\x18\x02 \x01(\tH\x00R\x0buriPathGlob\x12\x1b\n\x08uri_file\x18\x03 \x01(\tH\x00R\x07uriFile\x12\x1f\n\nuri_folder\x18\x04 \x01(\tH\x00R\turiFolder\x12\'\n\x0fpartition_index\x18\x06 \x01(\x04R\x0epartitionIndex\x12\x14\n\x05start\x18\x07 \x01(\x04R\x05start\x12\x16\n\x06length\x18\x08 \x01(\x04R\x06length\x12T\n\x07parquet\x18\t \x01(\x0b28.proto.ReadRel.LocalFiles.FileOrFiles.ParquetReadOptionsH\x01R\x07parquet\x12N\n\x05arrow\x18\n \x01(\x0b26.proto.ReadRel.LocalFiles.FileOrFiles.ArrowReadOptionsH\x01R\x05arrow\x12H\n\x03orc\x18\x0b \x01(\x0b24.proto.ReadRel.LocalFiles.FileOrFiles.OrcReadOptionsH\x01R\x03orc\x124\n\textension\x18\x0c \x01(\x0b2\x14.google.protobuf.AnyH\x01R\textension\x12K\n\x04dwrf\x18\r \x01(\x0b25.proto.ReadRel.LocalFiles.FileOrFiles.DwrfReadOptionsH\x01R\x04dwrf\x12]\n\x04text\x18\x0e \x01(\x0b2G.proto.ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptionsH\x01R\x04text\x1a\x14\n\x12ParquetReadOptions\x1a\x12\n\x10ArrowReadOptions\x1a\x10\n\x0eOrcReadOptions\x1a\x11\n\x0fDwrfReadOptions\x1a\xa1\x02\n!DelimiterSeparatedTextReadOptions\x12\'\n\x0ffield_delimiter\x18\x01 \x01(\tR\x0efieldDelimiter\x12"\n\rmax_line_size\x18\x02 \x01(\x04R\x0bmaxLineSize\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12/\n\x14header_lines_to_skip\x18\x04 \x01(\x04R\x11headerLinesToSkip\x12\x16\n\x06escape\x18\x05 \x01(\tR\x06escape\x126\n\x15value_treated_as_null\x18\x06 \x01(\tH\x00R\x12valueTreatedAsNull\x88\x01\x01B\x18\n\x16_value_treated_as_nullB\x0b\n\tpath_typeB\r\n\x0bfile_formatJ\x04\x08\x05\x10\x06R\x06formatB\x0b\n\tread_type"\xe1\x01\n\nProjectRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x123\n\x0bexpressions\x18\x03 \x03(\x0b2\x11.proto.ExpressionR\x0bexpressions\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xb1\x05\n\x07JoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x121\n\nexpression\x18\x04 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x12;\n\x10post_join_filter\x18\x05 \x01(\x0b2\x11.proto.ExpressionR\x0epostJoinFilter\x12+\n\x04type\x18\x06 \x01(\x0e2\x17.proto.JoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x06\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x08\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\xca\x01\n\x08CrossRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xeb\x02\n\x08FetchRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12\x1c\n\x06offset\x18\x03 \x01(\x03B\x02\x18\x01H\x00R\x06offset\x124\n\x0boffset_expr\x18\x05 \x01(\x0b2\x11.proto.ExpressionH\x00R\noffsetExpr\x12\x1a\n\x05count\x18\x04 \x01(\x03B\x02\x18\x01H\x01R\x05count\x122\n\ncount_expr\x18\x06 \x01(\x0b2\x11.proto.ExpressionH\x01R\tcountExpr\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtensionB\r\n\x0boffset_modeB\x0c\n\ncount_mode"\xdf\x04\n\x0cAggregateRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12:\n\tgroupings\x18\x03 \x03(\x0b2\x1c.proto.AggregateRel.GroupingR\tgroupings\x127\n\x08measures\x18\x04 \x03(\x0b2\x1b.proto.AggregateRel.MeasureR\x08measures\x12D\n\x14grouping_expressions\x18\x05 \x03(\x0b2\x11.proto.ExpressionR\x13groupingExpressions\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\x89\x01\n\x08Grouping\x12H\n\x14grouping_expressions\x18\x01 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x13groupingExpressions\x123\n\x15expression_references\x18\x02 \x03(\rR\x14expressionReferences\x1ah\n\x07Measure\x122\n\x07measure\x18\x01 \x01(\x0b2\x18.proto.AggregateFunctionR\x07measure\x12)\n\x06filter\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x06filter"\xca\x07\n\x1cConsistentPartitionWindowRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12`\n\x10window_functions\x18\x03 \x03(\x0b25.proto.ConsistentPartitionWindowRel.WindowRelFunctionR\x0fwindowFunctions\x12F\n\x15partition_expressions\x18\x04 \x03(\x0b2\x11.proto.ExpressionR\x14partitionExpressions\x12&\n\x05sorts\x18\x05 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1a\xb7\x04\n\x11WindowRelFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\t \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x0b \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x07 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12-\n\x05phase\x18\x06 \x01(\x0e2\x17.proto.AggregationPhaseR\x05phase\x12N\n\ninvocation\x18\n \x01(\x0e2..proto.AggregateFunction.AggregationInvocationR\ninvocation\x12G\n\x0blower_bound\x18\x05 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nlowerBound\x12G\n\x0bupper_bound\x18\x04 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nupperBound\x12L\n\x0bbounds_type\x18\x0c \x01(\x0e2+.proto.Expression.WindowFunction.BoundsTypeR\nboundsType"\xd1\x01\n\x07SortRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12&\n\x05sorts\x18\x03 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xdc\x01\n\tFilterRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12/\n\tcondition\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\tcondition\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xde\x03\n\x06SetRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12"\n\x06inputs\x18\x02 \x03(\x0b2\n.proto.RelR\x06inputs\x12#\n\x02op\x18\x03 \x01(\x0e2\x13.proto.SetRel.SetOpR\x02op\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\x8c\x02\n\x05SetOp\x12\x16\n\x12SET_OP_UNSPECIFIED\x10\x00\x12\x18\n\x14SET_OP_MINUS_PRIMARY\x10\x01\x12\x1c\n\x18SET_OP_MINUS_PRIMARY_ALL\x10\x07\x12\x19\n\x15SET_OP_MINUS_MULTISET\x10\x02\x12\x1f\n\x1bSET_OP_INTERSECTION_PRIMARY\x10\x03\x12 \n\x1cSET_OP_INTERSECTION_MULTISET\x10\x04\x12$\n SET_OP_INTERSECTION_MULTISET_ALL\x10\x08\x12\x19\n\x15SET_OP_UNION_DISTINCT\x10\x05\x12\x14\n\x10SET_OP_UNION_ALL\x10\x06"\x8e\x01\n\x12ExtensionSingleRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12,\n\x06detail\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"j\n\x10ExtensionLeafRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12,\n\x06detail\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"\x8f\x01\n\x11ExtensionMultiRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12"\n\x06inputs\x18\x02 \x03(\x0b2\n.proto.RelR\x06inputs\x12,\n\x06detail\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"\xe9\x08\n\x0bExchangeRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x12\'\n\x0fpartition_count\x18\x03 \x01(\x05R\x0epartitionCount\x12;\n\x07targets\x18\x04 \x03(\x0b2!.proto.ExchangeRel.ExchangeTargetR\x07targets\x12N\n\x11scatter_by_fields\x18\x05 \x01(\x0b2 .proto.ExchangeRel.ScatterFieldsH\x00R\x0fscatterByFields\x12P\n\rsingle_target\x18\x06 \x01(\x0b2).proto.ExchangeRel.SingleBucketExpressionH\x00R\x0csingleTarget\x12M\n\x0cmulti_target\x18\x07 \x01(\x0b2(.proto.ExchangeRel.MultiBucketExpressionH\x00R\x0bmultiTarget\x12@\n\x0bround_robin\x18\x08 \x01(\x0b2\x1d.proto.ExchangeRel.RoundRobinH\x00R\nroundRobin\x12<\n\tbroadcast\x18\t \x01(\x0b2\x1c.proto.ExchangeRel.BroadcastH\x00R\tbroadcast\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1aI\n\rScatterFields\x128\n\x06fields\x18\x01 \x03(\x0b2 .proto.Expression.FieldReferenceR\x06fields\x1aK\n\x16SingleBucketExpression\x121\n\nexpression\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x1a|\n\x15MultiBucketExpression\x121\n\nexpression\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x120\n\x14constrained_to_count\x18\x02 \x01(\x08R\x12constrainedToCount\x1a\x0b\n\tBroadcast\x1a"\n\nRoundRobin\x12\x14\n\x05exact\x18\x01 \x01(\x08R\x05exact\x1a\x8a\x01\n\x0eExchangeTarget\x12!\n\x0cpartition_id\x18\x01 \x03(\x05R\x0bpartitionId\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uri\x122\n\x08extended\x18\x03 \x01(\x0b2\x14.google.protobuf.AnyH\x00R\x08extendedB\r\n\x0btarget_typeB\x0f\n\rexchange_kind"\xfc\x02\n\tExpandRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12 \n\x05input\x18\x02 \x01(\x0b2\n.proto.RelR\x05input\x124\n\x06fields\x18\x04 \x03(\x0b2\x1c.proto.ExpandRel.ExpandFieldR\x06fields\x1a\xa7\x01\n\x0bExpandField\x12J\n\x0fswitching_field\x18\x02 \x01(\x0b2\x1f.proto.ExpandRel.SwitchingFieldH\x00R\x0eswitchingField\x12>\n\x10consistent_field\x18\x03 \x01(\x0b2\x11.proto.ExpressionH\x00R\x0fconsistentFieldB\x0c\n\nfield_type\x1aC\n\x0eSwitchingField\x121\n\nduplicates\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\nduplicates"A\n\x07RelRoot\x12 \n\x05input\x18\x01 \x01(\x0b2\n.proto.RelR\x05input\x12\x14\n\x05names\x18\x02 \x03(\tR\x05names"\xd0\x08\n\x03Rel\x12$\n\x04read\x18\x01 \x01(\x0b2\x0e.proto.ReadRelH\x00R\x04read\x12*\n\x06filter\x18\x02 \x01(\x0b2\x10.proto.FilterRelH\x00R\x06filter\x12\'\n\x05fetch\x18\x03 \x01(\x0b2\x0f.proto.FetchRelH\x00R\x05fetch\x123\n\taggregate\x18\x04 \x01(\x0b2\x13.proto.AggregateRelH\x00R\taggregate\x12$\n\x04sort\x18\x05 \x01(\x0b2\x0e.proto.SortRelH\x00R\x04sort\x12$\n\x04join\x18\x06 \x01(\x0b2\x0e.proto.JoinRelH\x00R\x04join\x12-\n\x07project\x18\x07 \x01(\x0b2\x11.proto.ProjectRelH\x00R\x07project\x12!\n\x03set\x18\x08 \x01(\x0b2\r.proto.SetRelH\x00R\x03set\x12F\n\x10extension_single\x18\t \x01(\x0b2\x19.proto.ExtensionSingleRelH\x00R\x0fextensionSingle\x12C\n\x0fextension_multi\x18\n \x01(\x0b2\x18.proto.ExtensionMultiRelH\x00R\x0eextensionMulti\x12@\n\x0eextension_leaf\x18\x0b \x01(\x0b2\x17.proto.ExtensionLeafRelH\x00R\rextensionLeaf\x12\'\n\x05cross\x18\x0c \x01(\x0b2\x0f.proto.CrossRelH\x00R\x05cross\x123\n\treference\x18\x15 \x01(\x0b2\x13.proto.ReferenceRelH\x00R\treference\x12\'\n\x05write\x18\x13 \x01(\x0b2\x0f.proto.WriteRelH\x00R\x05write\x12!\n\x03ddl\x18\x14 \x01(\x0b2\r.proto.DdlRelH\x00R\x03ddl\x12*\n\x06update\x18\x16 \x01(\x0b2\x10.proto.UpdateRelH\x00R\x06update\x121\n\thash_join\x18\r \x01(\x0b2\x12.proto.HashJoinRelH\x00R\x08hashJoin\x124\n\nmerge_join\x18\x0e \x01(\x0b2\x13.proto.MergeJoinRelH\x00R\tmergeJoin\x12D\n\x10nested_loop_join\x18\x12 \x01(\x0b2\x18.proto.NestedLoopJoinRelH\x00R\x0enestedLoopJoin\x12=\n\x06window\x18\x11 \x01(\x0b2#.proto.ConsistentPartitionWindowRelH\x00R\x06window\x120\n\x08exchange\x18\x0f \x01(\x0b2\x12.proto.ExchangeRelH\x00R\x08exchange\x12*\n\x06expand\x18\x10 \x01(\x0b2\x10.proto.ExpandRelH\x00R\x06expandB\n\n\x08rel_type"|\n\x10NamedObjectWrite\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"?\n\x0fExtensionObject\x12,\n\x06detail\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x06detail"\x86\x06\n\x06DdlRel\x12<\n\x0cnamed_object\x18\x01 \x01(\x0b2\x17.proto.NamedObjectWriteH\x00R\x0bnamedObject\x12C\n\x10extension_object\x18\x02 \x01(\x0b2\x16.proto.ExtensionObjectH\x00R\x0fextensionObject\x125\n\x0ctable_schema\x18\x03 \x01(\x0b2\x12.proto.NamedStructR\x0btableSchema\x12G\n\x0etable_defaults\x18\x04 \x01(\x0b2 .proto.Expression.Literal.StructR\rtableDefaults\x12/\n\x06object\x18\x05 \x01(\x0e2\x17.proto.DdlRel.DdlObjectR\x06object\x12#\n\x02op\x18\x06 \x01(\x0e2\x13.proto.DdlRel.DdlOpR\x02op\x123\n\x0fview_definition\x18\x07 \x01(\x0b2\n.proto.RelR\x0eviewDefinition\x12(\n\x06common\x18\x08 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12R\n\x12advanced_extension\x18\t \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"R\n\tDdlObject\x12\x1a\n\x16DDL_OBJECT_UNSPECIFIED\x10\x00\x12\x14\n\x10DDL_OBJECT_TABLE\x10\x01\x12\x13\n\x0fDDL_OBJECT_VIEW\x10\x02"\x8d\x01\n\x05DdlOp\x12\x16\n\x12DDL_OP_UNSPECIFIED\x10\x00\x12\x11\n\rDDL_OP_CREATE\x10\x01\x12\x1c\n\x18DDL_OP_CREATE_OR_REPLACE\x10\x02\x12\x10\n\x0cDDL_OP_ALTER\x10\x03\x12\x0f\n\x0bDDL_OP_DROP\x10\x04\x12\x18\n\x14DDL_OP_DROP_IF_EXIST\x10\x05B\x0c\n\nwrite_type"\x9b\x07\n\x08WriteRel\x12:\n\x0bnamed_table\x18\x01 \x01(\x0b2\x17.proto.NamedObjectWriteH\x00R\nnamedTable\x12A\n\x0fextension_table\x18\x02 \x01(\x0b2\x16.proto.ExtensionObjectH\x00R\x0eextensionTable\x125\n\x0ctable_schema\x18\x03 \x01(\x0b2\x12.proto.NamedStructR\x0btableSchema\x12\'\n\x02op\x18\x04 \x01(\x0e2\x17.proto.WriteRel.WriteOpR\x02op\x12 \n\x05input\x18\x05 \x01(\x0b2\n.proto.RelR\x05input\x12;\n\x0bcreate_mode\x18\x08 \x01(\x0e2\x1a.proto.WriteRel.CreateModeR\ncreateMode\x122\n\x06output\x18\x06 \x01(\x0e2\x1a.proto.WriteRel.OutputModeR\x06output\x12(\n\x06common\x18\x07 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12R\n\x12advanced_extension\x18\t \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"u\n\x07WriteOp\x12\x18\n\x14WRITE_OP_UNSPECIFIED\x10\x00\x12\x13\n\x0fWRITE_OP_INSERT\x10\x01\x12\x13\n\x0fWRITE_OP_DELETE\x10\x02\x12\x13\n\x0fWRITE_OP_UPDATE\x10\x03\x12\x11\n\rWRITE_OP_CTAS\x10\x04"\xb1\x01\n\nCreateMode\x12\x1b\n\x17CREATE_MODE_UNSPECIFIED\x10\x00\x12 \n\x1cCREATE_MODE_APPEND_IF_EXISTS\x10\x01\x12!\n\x1dCREATE_MODE_REPLACE_IF_EXISTS\x10\x02\x12 \n\x1cCREATE_MODE_IGNORE_IF_EXISTS\x10\x03\x12\x1f\n\x1bCREATE_MODE_ERROR_IF_EXISTS\x10\x04"f\n\nOutputMode\x12\x1b\n\x17OUTPUT_MODE_UNSPECIFIED\x10\x00\x12\x19\n\x15OUTPUT_MODE_NO_OUTPUT\x10\x01\x12 \n\x1cOUTPUT_MODE_MODIFIED_RECORDS\x10\x02B\x0c\n\nwrite_type"\xd3\x03\n\tUpdateRel\x124\n\x0bnamed_table\x18\x01 \x01(\x0b2\x11.proto.NamedTableH\x00R\nnamedTable\x125\n\x0ctable_schema\x18\x02 \x01(\x0b2\x12.proto.NamedStructR\x0btableSchema\x12/\n\tcondition\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\tcondition\x12N\n\x0ftransformations\x18\x04 \x03(\x0b2$.proto.UpdateRel.TransformExpressionR\x0ftransformations\x12R\n\x12advanced_extension\x18\x05 \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension\x1au\n\x13TransformExpression\x129\n\x0etransformation\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x0etransformation\x12#\n\rcolumn_target\x18\x02 \x01(\x05R\x0ccolumnTargetB\r\n\x0bupdate_type"v\n\nNamedTable\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xab\x04\n\x11ComparisonJoinKey\x124\n\x04left\x18\x01 \x01(\x0b2 .proto.Expression.FieldReferenceR\x04left\x126\n\x05right\x18\x02 \x01(\x0b2 .proto.Expression.FieldReferenceR\x05right\x12G\n\ncomparison\x18\x03 \x01(\x0b2\'.proto.ComparisonJoinKey.ComparisonTypeR\ncomparison\x1a\xa5\x01\n\x0eComparisonType\x12G\n\x06simple\x18\x01 \x01(\x0e2-.proto.ComparisonJoinKey.SimpleComparisonTypeH\x00R\x06simple\x12<\n\x19custom_function_reference\x18\x02 \x01(\rH\x00R\x17customFunctionReferenceB\x0c\n\ninner_type"\xb6\x01\n\x14SimpleComparisonType\x12&\n"SIMPLE_COMPARISON_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19SIMPLE_COMPARISON_TYPE_EQ\x10\x01\x12/\n+SIMPLE_COMPARISON_TYPE_IS_NOT_DISTINCT_FROM\x10\x02\x12&\n"SIMPLE_COMPARISON_TYPE_MIGHT_EQUAL\x10\x03"\xbc\x06\n\x0bHashJoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x12A\n\tleft_keys\x18\x04 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12C\n\nright_keys\x18\x05 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x12,\n\x04keys\x18\x08 \x03(\x0b2\x18.proto.ComparisonJoinKeyR\x04keys\x12;\n\x10post_join_filter\x18\x06 \x01(\x0b2\x11.proto.ExpressionR\x0epostJoinFilter\x12/\n\x04type\x18\x07 \x01(\x0e2\x1b.proto.HashJoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\xbe\x06\n\x0cMergeJoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x12A\n\tleft_keys\x18\x04 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\x08leftKeys\x12C\n\nright_keys\x18\x05 \x03(\x0b2 .proto.Expression.FieldReferenceB\x02\x18\x01R\trightKeys\x12,\n\x04keys\x18\x08 \x03(\x0b2\x18.proto.ComparisonJoinKeyR\x04keys\x12;\n\x10post_join_filter\x18\x06 \x01(\x0b2\x11.proto.ExpressionR\x0epostJoinFilter\x120\n\x04type\x18\x07 \x01(\x0e2\x1c.proto.MergeJoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\x88\x05\n\x11NestedLoopJoinRel\x12(\n\x06common\x18\x01 \x01(\x0b2\x10.proto.RelCommonR\x06common\x12\x1e\n\x04left\x18\x02 \x01(\x0b2\n.proto.RelR\x04left\x12 \n\x05right\x18\x03 \x01(\x0b2\n.proto.RelR\x05right\x121\n\nexpression\x18\x04 \x01(\x0b2\x11.proto.ExpressionR\nexpression\x125\n\x04type\x18\x05 \x01(\x0e2!.proto.NestedLoopJoinRel.JoinTypeR\x04type\x12R\n\x12advanced_extension\x18\n \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x11advancedExtension"\xc8\x02\n\x08JoinType\x12\x19\n\x15JOIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fJOIN_TYPE_INNER\x10\x01\x12\x13\n\x0fJOIN_TYPE_OUTER\x10\x02\x12\x12\n\x0eJOIN_TYPE_LEFT\x10\x03\x12\x13\n\x0fJOIN_TYPE_RIGHT\x10\x04\x12\x17\n\x13JOIN_TYPE_LEFT_SEMI\x10\x05\x12\x18\n\x14JOIN_TYPE_RIGHT_SEMI\x10\x06\x12\x17\n\x13JOIN_TYPE_LEFT_ANTI\x10\x07\x12\x18\n\x14JOIN_TYPE_RIGHT_ANTI\x10\x08\x12\x19\n\x15JOIN_TYPE_LEFT_SINGLE\x10\t\x12\x1a\n\x16JOIN_TYPE_RIGHT_SINGLE\x10\n\x12\x17\n\x13JOIN_TYPE_LEFT_MARK\x10\x0b\x12\x18\n\x14JOIN_TYPE_RIGHT_MARK\x10\x0c"\x82\x01\n\x10FunctionArgument\x12\x14\n\x04enum\x18\x01 \x01(\tH\x00R\x04enum\x12!\n\x04type\x18\x02 \x01(\x0b2\x0b.proto.TypeH\x00R\x04type\x12)\n\x05value\x18\x03 \x01(\x0b2\x11.proto.ExpressionH\x00R\x05valueB\n\n\x08arg_type"D\n\x0eFunctionOption\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1e\n\npreference\x18\x02 \x03(\tR\npreference"\x80V\n\nExpression\x125\n\x07literal\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralH\x00R\x07literal\x12@\n\tselection\x18\x02 \x01(\x0b2 .proto.Expression.FieldReferenceH\x00R\tselection\x12K\n\x0fscalar_function\x18\x03 \x01(\x0b2 .proto.Expression.ScalarFunctionH\x00R\x0escalarFunction\x12K\n\x0fwindow_function\x18\x05 \x01(\x0b2 .proto.Expression.WindowFunctionH\x00R\x0ewindowFunction\x123\n\x07if_then\x18\x06 \x01(\x0b2\x18.proto.Expression.IfThenH\x00R\x06ifThen\x12Q\n\x11switch_expression\x18\x07 \x01(\x0b2".proto.Expression.SwitchExpressionH\x00R\x10switchExpression\x12L\n\x10singular_or_list\x18\x08 \x01(\x0b2 .proto.Expression.SingularOrListH\x00R\x0esingularOrList\x12C\n\rmulti_or_list\x18\t \x01(\x0b2\x1d.proto.Expression.MultiOrListH\x00R\x0bmultiOrList\x12,\n\x04cast\x18\x0b \x01(\x0b2\x16.proto.Expression.CastH\x00R\x04cast\x128\n\x08subquery\x18\x0c \x01(\x0b2\x1a.proto.Expression.SubqueryH\x00R\x08subquery\x122\n\x06nested\x18\r \x01(\x0b2\x18.proto.Expression.NestedH\x00R\x06nested\x120\n\x04enum\x18\n \x01(\x0b2\x16.proto.Expression.EnumB\x02\x18\x01H\x00R\x04enum\x1a\x86\x01\n\x04Enum\x12\x1e\n\tspecified\x18\x01 \x01(\tH\x00R\tspecified\x12@\n\x0bunspecified\x18\x02 \x01(\x0b2\x1c.proto.Expression.Enum.EmptyH\x00R\x0bunspecified\x1a\x0b\n\x05Empty:\x02\x18\x01:\x02\x18\x01B\x0b\n\tenum_kind\x1a\xc7\x15\n\x07Literal\x12\x1a\n\x07boolean\x18\x01 \x01(\x08H\x00R\x07boolean\x12\x10\n\x02i8\x18\x02 \x01(\x05H\x00R\x02i8\x12\x12\n\x03i16\x18\x03 \x01(\x05H\x00R\x03i16\x12\x12\n\x03i32\x18\x05 \x01(\x05H\x00R\x03i32\x12\x12\n\x03i64\x18\x07 \x01(\x03H\x00R\x03i64\x12\x14\n\x04fp32\x18\n \x01(\x02H\x00R\x04fp32\x12\x14\n\x04fp64\x18\x0b \x01(\x01H\x00R\x04fp64\x12\x18\n\x06string\x18\x0c \x01(\tH\x00R\x06string\x12\x18\n\x06binary\x18\r \x01(\x0cH\x00R\x06binary\x12"\n\ttimestamp\x18\x0e \x01(\x03B\x02\x18\x01H\x00R\ttimestamp\x12\x14\n\x04date\x18\x10 \x01(\x05H\x00R\x04date\x12\x14\n\x04time\x18\x11 \x01(\x03H\x00R\x04time\x12d\n\x16interval_year_to_month\x18\x13 \x01(\x0b2-.proto.Expression.Literal.IntervalYearToMonthH\x00R\x13intervalYearToMonth\x12d\n\x16interval_day_to_second\x18\x14 \x01(\x0b2-.proto.Expression.Literal.IntervalDayToSecondH\x00R\x13intervalDayToSecond\x12Y\n\x11interval_compound\x18$ \x01(\x0b2*.proto.Expression.Literal.IntervalCompoundH\x00R\x10intervalCompound\x12\x1f\n\nfixed_char\x18\x15 \x01(\tH\x00R\tfixedChar\x12>\n\x08var_char\x18\x16 \x01(\x0b2!.proto.Expression.Literal.VarCharH\x00R\x07varChar\x12#\n\x0cfixed_binary\x18\x17 \x01(\x0cH\x00R\x0bfixedBinary\x12=\n\x07decimal\x18\x18 \x01(\x0b2!.proto.Expression.Literal.DecimalH\x00R\x07decimal\x12_\n\x13precision_timestamp\x18" \x01(\x0b2,.proto.Expression.Literal.PrecisionTimestampH\x00R\x12precisionTimestamp\x12d\n\x16precision_timestamp_tz\x18# \x01(\x0b2,.proto.Expression.Literal.PrecisionTimestampH\x00R\x14precisionTimestampTz\x12:\n\x06struct\x18\x19 \x01(\x0b2 .proto.Expression.Literal.StructH\x00R\x06struct\x121\n\x03map\x18\x1a \x01(\x0b2\x1d.proto.Expression.Literal.MapH\x00R\x03map\x12\'\n\x0ctimestamp_tz\x18\x1b \x01(\x03B\x02\x18\x01H\x00R\x0btimestampTz\x12\x14\n\x04uuid\x18\x1c \x01(\x0cH\x00R\x04uuid\x12!\n\x04null\x18\x1d \x01(\x0b2\x0b.proto.TypeH\x00R\x04null\x124\n\x04list\x18\x1e \x01(\x0b2\x1e.proto.Expression.Literal.ListH\x00R\x04list\x121\n\nempty_list\x18\x1f \x01(\x0b2\x10.proto.Type.ListH\x00R\temptyList\x12.\n\tempty_map\x18 \x01(\x0b2\x0f.proto.Type.MapH\x00R\x08emptyMap\x12J\n\x0cuser_defined\x18! \x01(\x0b2%.proto.Expression.Literal.UserDefinedH\x00R\x0buserDefined\x12\x1a\n\x08nullable\x182 \x01(\x08R\x08nullable\x128\n\x18type_variation_reference\x183 \x01(\rR\x16typeVariationReference\x1a7\n\x07VarChar\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length\x1aS\n\x07Decimal\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x03 \x01(\x05R\x05scale\x1aH\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value\x1a\xb6\x01\n\x03Map\x12E\n\nkey_values\x18\x01 \x03(\x0b2&.proto.Expression.Literal.Map.KeyValueR\tkeyValues\x1ah\n\x08KeyValue\x12+\n\x03key\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b2\x19.proto.Expression.LiteralR\x05value\x1aC\n\x13IntervalYearToMonth\x12\x14\n\x05years\x18\x01 \x01(\x05R\x05years\x12\x16\n\x06months\x18\x02 \x01(\x05R\x06months\x1a\xbf\x01\n\x13IntervalDayToSecond\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12\x18\n\x07seconds\x18\x02 \x01(\x05R\x07seconds\x12(\n\x0cmicroseconds\x18\x03 \x01(\x05B\x02\x18\x01H\x00R\x0cmicroseconds\x12\x1e\n\tprecision\x18\x04 \x01(\x05H\x00R\tprecision\x12\x1e\n\nsubseconds\x18\x05 \x01(\x03R\nsubsecondsB\x10\n\x0eprecision_mode\x1a\xda\x01\n\x10IntervalCompound\x12b\n\x16interval_year_to_month\x18\x01 \x01(\x0b2-.proto.Expression.Literal.IntervalYearToMonthR\x13intervalYearToMonth\x12b\n\x16interval_day_to_second\x18\x02 \x01(\x0b2-.proto.Expression.Literal.IntervalDayToSecondR\x13intervalDayToSecond\x1a;\n\x06Struct\x121\n\x06fields\x18\x01 \x03(\x0b2\x19.proto.Expression.LiteralR\x06fields\x1a9\n\x04List\x121\n\x06values\x18\x01 \x03(\x0b2\x19.proto.Expression.LiteralR\x06values\x1a\xe5\x01\n\x0bUserDefined\x12%\n\x0etype_reference\x18\x01 \x01(\rR\rtypeReference\x12>\n\x0ftype_parameters\x18\x03 \x03(\x0b2\x15.proto.Type.ParameterR\x0etypeParameters\x12,\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyH\x00R\x05value\x12:\n\x06struct\x18\x04 \x01(\x0b2 .proto.Expression.Literal.StructH\x00R\x06structB\x05\n\x03valB\x0e\n\x0cliteral_type\x1a\x9f\x04\n\x06Nested\x12\x1a\n\x08nullable\x18\x01 \x01(\x08R\x08nullable\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x06struct\x18\x03 \x01(\x0b2\x1f.proto.Expression.Nested.StructH\x00R\x06struct\x123\n\x04list\x18\x04 \x01(\x0b2\x1d.proto.Expression.Nested.ListH\x00R\x04list\x120\n\x03map\x18\x05 \x01(\x0b2\x1c.proto.Expression.Nested.MapH\x00R\x03map\x1a\xa5\x01\n\x03Map\x12D\n\nkey_values\x18\x01 \x03(\x0b2%.proto.Expression.Nested.Map.KeyValueR\tkeyValues\x1aX\n\x08KeyValue\x12#\n\x03key\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x03key\x12\'\n\x05value\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x05value\x1a3\n\x06Struct\x12)\n\x06fields\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x06fields\x1a1\n\x04List\x12)\n\x06values\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x06valuesB\r\n\x0bnested_type\x1a\x80\x02\n\x0eScalarFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\x04 \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x05 \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x03 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12)\n\x04args\x18\x02 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x04args\x1a\xd5\t\n\x0eWindowFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\t \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x0b \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x07 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12-\n\x05phase\x18\x06 \x01(\x0e2\x17.proto.AggregationPhaseR\x05phase\x12&\n\x05sorts\x18\x03 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12N\n\ninvocation\x18\n \x01(\x0e2..proto.AggregateFunction.AggregationInvocationR\ninvocation\x121\n\npartitions\x18\x02 \x03(\x0b2\x11.proto.ExpressionR\npartitions\x12L\n\x0bbounds_type\x18\x0c \x01(\x0e2+.proto.Expression.WindowFunction.BoundsTypeR\nboundsType\x12G\n\x0blower_bound\x18\x05 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nlowerBound\x12G\n\x0bupper_bound\x18\x04 \x01(\x0b2&.proto.Expression.WindowFunction.BoundR\nupperBound\x12)\n\x04args\x18\x08 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x04args\x1a\xc0\x03\n\x05Bound\x12P\n\tpreceding\x18\x01 \x01(\x0b20.proto.Expression.WindowFunction.Bound.PrecedingH\x00R\tpreceding\x12P\n\tfollowing\x18\x02 \x01(\x0b20.proto.Expression.WindowFunction.Bound.FollowingH\x00R\tfollowing\x12T\n\x0bcurrent_row\x18\x03 \x01(\x0b21.proto.Expression.WindowFunction.Bound.CurrentRowH\x00R\ncurrentRow\x12P\n\tunbounded\x18\x04 \x01(\x0b20.proto.Expression.WindowFunction.Bound.UnboundedH\x00R\tunbounded\x1a#\n\tPreceding\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a#\n\tFollowing\x12\x16\n\x06offset\x18\x01 \x01(\x03R\x06offset\x1a\x0c\n\nCurrentRow\x1a\x0b\n\tUnboundedB\x06\n\x04kind"V\n\nBoundsType\x12\x1b\n\x17BOUNDS_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10BOUNDS_TYPE_ROWS\x10\x01\x12\x15\n\x11BOUNDS_TYPE_RANGE\x10\x02\x1a\xba\x01\n\x06IfThen\x123\n\x03ifs\x18\x01 \x03(\x0b2!.proto.Expression.IfThen.IfClauseR\x03ifs\x12%\n\x04else\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04else\x1aT\n\x08IfClause\x12!\n\x02if\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x02if\x12%\n\x04then\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04then\x1a\xa0\x02\n\x04Cast\x12\x1f\n\x04type\x18\x01 \x01(\x0b2\x0b.proto.TypeR\x04type\x12\'\n\x05input\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x05input\x12Q\n\x10failure_behavior\x18\x03 \x01(\x0e2&.proto.Expression.Cast.FailureBehaviorR\x0ffailureBehavior"{\n\x0fFailureBehavior\x12 \n\x1cFAILURE_BEHAVIOR_UNSPECIFIED\x10\x00\x12 \n\x1cFAILURE_BEHAVIOR_RETURN_NULL\x10\x01\x12$\n FAILURE_BEHAVIOR_THROW_EXCEPTION\x10\x02\x1a\xfd\x01\n\x10SwitchExpression\x12\'\n\x05match\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\x05match\x12<\n\x03ifs\x18\x01 \x03(\x0b2*.proto.Expression.SwitchExpression.IfValueR\x03ifs\x12%\n\x04else\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04else\x1a[\n\x07IfValue\x12)\n\x02if\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralR\x02if\x12%\n\x04then\x18\x02 \x01(\x0b2\x11.proto.ExpressionR\x04then\x1af\n\x0eSingularOrList\x12\'\n\x05value\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x05value\x12+\n\x07options\x18\x02 \x03(\x0b2\x11.proto.ExpressionR\x07options\x1a\xab\x01\n\x0bMultiOrList\x12\'\n\x05value\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x05value\x12>\n\x07options\x18\x02 \x03(\x0b2$.proto.Expression.MultiOrList.RecordR\x07options\x1a3\n\x06Record\x12)\n\x06fields\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x06fields\x1a\x83\x04\n\x10EmbeddedFunction\x12/\n\targuments\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\targuments\x12,\n\x0boutput_type\x18\x02 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12o\n\x16python_pickle_function\x18\x03 \x01(\x0b27.proto.Expression.EmbeddedFunction.PythonPickleFunctionH\x00R\x14pythonPickleFunction\x12l\n\x15web_assembly_function\x18\x04 \x01(\x0b26.proto.Expression.EmbeddedFunction.WebAssemblyFunctionH\x00R\x13webAssemblyFunction\x1aV\n\x14PythonPickleFunction\x12\x1a\n\x08function\x18\x01 \x01(\x0cR\x08function\x12"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisite\x1aQ\n\x13WebAssemblyFunction\x12\x16\n\x06script\x18\x01 \x01(\x0cR\x06script\x12"\n\x0cprerequisite\x18\x02 \x03(\tR\x0cprerequisiteB\x06\n\x04kind\x1a\xcc\x04\n\x10ReferenceSegment\x12D\n\x07map_key\x18\x01 \x01(\x0b2).proto.Expression.ReferenceSegment.MapKeyH\x00R\x06mapKey\x12S\n\x0cstruct_field\x18\x02 \x01(\x0b2..proto.Expression.ReferenceSegment.StructFieldH\x00R\x0bstructField\x12S\n\x0clist_element\x18\x03 \x01(\x0b2..proto.Expression.ReferenceSegment.ListElementH\x00R\x0blistElement\x1av\n\x06MapKey\x122\n\x07map_key\x18\x01 \x01(\x0b2\x19.proto.Expression.LiteralR\x06mapKey\x128\n\x05child\x18\x02 \x01(\x0b2".proto.Expression.ReferenceSegmentR\x05child\x1a]\n\x0bStructField\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x128\n\x05child\x18\x02 \x01(\x0b2".proto.Expression.ReferenceSegmentR\x05child\x1a_\n\x0bListElement\x12\x16\n\x06offset\x18\x01 \x01(\x05R\x06offset\x128\n\x05child\x18\x02 \x01(\x0b2".proto.Expression.ReferenceSegmentR\x05childB\x10\n\x0ereference_type\x1a\xee\n\n\x0eMaskExpression\x12E\n\x06select\x18\x01 \x01(\x0b2-.proto.Expression.MaskExpression.StructSelectR\x06select\x128\n\x18maintain_singular_struct\x18\x02 \x01(\x08R\x16maintainSingularStruct\x1a\xdc\x01\n\x06Select\x12G\n\x06struct\x18\x01 \x01(\x0b2-.proto.Expression.MaskExpression.StructSelectH\x00R\x06struct\x12A\n\x04list\x18\x02 \x01(\x0b2+.proto.Expression.MaskExpression.ListSelectH\x00R\x04list\x12>\n\x03map\x18\x03 \x01(\x0b2*.proto.Expression.MaskExpression.MapSelectH\x00R\x03mapB\x06\n\x04type\x1a^\n\x0cStructSelect\x12N\n\x0cstruct_items\x18\x01 \x03(\x0b2+.proto.Expression.MaskExpression.StructItemR\x0bstructItems\x1aa\n\nStructItem\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x12=\n\x05child\x18\x02 \x01(\x0b2\'.proto.Expression.MaskExpression.SelectR\x05child\x1a\xd6\x03\n\nListSelect\x12X\n\tselection\x18\x01 \x03(\x0b2:.proto.Expression.MaskExpression.ListSelect.ListSelectItemR\tselection\x12=\n\x05child\x18\x02 \x01(\x0b2\'.proto.Expression.MaskExpression.SelectR\x05child\x1a\xae\x02\n\x0eListSelectItem\x12\\\n\x04item\x18\x01 \x01(\x0b2F.proto.Expression.MaskExpression.ListSelect.ListSelectItem.ListElementH\x00R\x04item\x12\\\n\x05slice\x18\x02 \x01(\x0b2D.proto.Expression.MaskExpression.ListSelect.ListSelectItem.ListSliceH\x00R\x05slice\x1a#\n\x0bListElement\x12\x14\n\x05field\x18\x01 \x01(\x05R\x05field\x1a3\n\tListSlice\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03endB\x06\n\x04type\x1a\xdf\x02\n\tMapSelect\x12E\n\x03key\x18\x01 \x01(\x0b21.proto.Expression.MaskExpression.MapSelect.MapKeyH\x00R\x03key\x12]\n\nexpression\x18\x02 \x01(\x0b2;.proto.Expression.MaskExpression.MapSelect.MapKeyExpressionH\x00R\nexpression\x12=\n\x05child\x18\x03 \x01(\x0b2\'.proto.Expression.MaskExpression.SelectR\x05child\x1a!\n\x06MapKey\x12\x17\n\x07map_key\x18\x01 \x01(\tR\x06mapKey\x1a@\n\x10MapKeyExpression\x12,\n\x12map_key_expression\x18\x01 \x01(\tR\x10mapKeyExpressionB\x08\n\x06select\x1a\xf9\x03\n\x0eFieldReference\x12O\n\x10direct_reference\x18\x01 \x01(\x0b2".proto.Expression.ReferenceSegmentH\x00R\x0fdirectReference\x12M\n\x10masked_reference\x18\x02 \x01(\x0b2 .proto.Expression.MaskExpressionH\x00R\x0fmaskedReference\x123\n\nexpression\x18\x03 \x01(\x0b2\x11.proto.ExpressionH\x01R\nexpression\x12W\n\x0eroot_reference\x18\x04 \x01(\x0b2..proto.Expression.FieldReference.RootReferenceH\x01R\rrootReference\x12Z\n\x0fouter_reference\x18\x05 \x01(\x0b2/.proto.Expression.FieldReference.OuterReferenceH\x01R\x0eouterReference\x1a\x0f\n\rRootReference\x1a-\n\x0eOuterReference\x12\x1b\n\tsteps_out\x18\x01 \x01(\rR\x08stepsOutB\x10\n\x0ereference_typeB\x0b\n\troot_type\x1a\xe1\t\n\x08Subquery\x12;\n\x06scalar\x18\x01 \x01(\x0b2!.proto.Expression.Subquery.ScalarH\x00R\x06scalar\x12K\n\x0cin_predicate\x18\x02 \x01(\x0b2&.proto.Expression.Subquery.InPredicateH\x00R\x0binPredicate\x12N\n\rset_predicate\x18\x03 \x01(\x0b2\'.proto.Expression.Subquery.SetPredicateH\x00R\x0csetPredicate\x12Q\n\x0eset_comparison\x18\x04 \x01(\x0b2(.proto.Expression.Subquery.SetComparisonH\x00R\rsetComparison\x1a*\n\x06Scalar\x12 \n\x05input\x18\x01 \x01(\x0b2\n.proto.RelR\x05input\x1ab\n\x0bInPredicate\x12+\n\x07needles\x18\x01 \x03(\x0b2\x11.proto.ExpressionR\x07needles\x12&\n\x08haystack\x18\x02 \x01(\x0b2\n.proto.RelR\x08haystack\x1a\xe9\x01\n\x0cSetPredicate\x12V\n\x0cpredicate_op\x18\x01 \x01(\x0e23.proto.Expression.Subquery.SetPredicate.PredicateOpR\x0bpredicateOp\x12"\n\x06tuples\x18\x02 \x01(\x0b2\n.proto.RelR\x06tuples"]\n\x0bPredicateOp\x12\x1c\n\x18PREDICATE_OP_UNSPECIFIED\x10\x00\x12\x17\n\x13PREDICATE_OP_EXISTS\x10\x01\x12\x17\n\x13PREDICATE_OP_UNIQUE\x10\x02\x1a\x9a\x04\n\rSetComparison\x12W\n\x0creduction_op\x18\x01 \x01(\x0e24.proto.Expression.Subquery.SetComparison.ReductionOpR\x0breductionOp\x12Z\n\rcomparison_op\x18\x02 \x01(\x0e25.proto.Expression.Subquery.SetComparison.ComparisonOpR\x0ccomparisonOp\x12%\n\x04left\x18\x03 \x01(\x0b2\x11.proto.ExpressionR\x04left\x12 \n\x05right\x18\x04 \x01(\x0b2\n.proto.RelR\x05right"\xb1\x01\n\x0cComparisonOp\x12\x1d\n\x19COMPARISON_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10COMPARISON_OP_EQ\x10\x01\x12\x14\n\x10COMPARISON_OP_NE\x10\x02\x12\x14\n\x10COMPARISON_OP_LT\x10\x03\x12\x14\n\x10COMPARISON_OP_GT\x10\x04\x12\x14\n\x10COMPARISON_OP_LE\x10\x05\x12\x14\n\x10COMPARISON_OP_GE\x10\x06"W\n\x0bReductionOp\x12\x1c\n\x18REDUCTION_OP_UNSPECIFIED\x10\x00\x12\x14\n\x10REDUCTION_OP_ANY\x10\x01\x12\x14\n\x10REDUCTION_OP_ALL\x10\x02B\x0f\n\rsubquery_typeB\n\n\x08rex_type"\xa5\x03\n\tSortField\x12%\n\x04expr\x18\x01 \x01(\x0b2\x11.proto.ExpressionR\x04expr\x12>\n\tdirection\x18\x02 \x01(\x0e2\x1e.proto.SortField.SortDirectionH\x00R\tdirection\x12D\n\x1dcomparison_function_reference\x18\x03 \x01(\rH\x00R\x1bcomparisonFunctionReference"\xdd\x01\n\rSortDirection\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12"\n\x1eSORT_DIRECTION_ASC_NULLS_FIRST\x10\x01\x12!\n\x1dSORT_DIRECTION_ASC_NULLS_LAST\x10\x02\x12#\n\x1fSORT_DIRECTION_DESC_NULLS_FIRST\x10\x03\x12"\n\x1eSORT_DIRECTION_DESC_NULLS_LAST\x10\x04\x12\x1c\n\x18SORT_DIRECTION_CLUSTERED\x10\x05B\x0b\n\tsort_kind"\xb1\x04\n\x11AggregateFunction\x12-\n\x12function_reference\x18\x01 \x01(\rR\x11functionReference\x125\n\targuments\x18\x07 \x03(\x0b2\x17.proto.FunctionArgumentR\targuments\x12/\n\x07options\x18\x08 \x03(\x0b2\x15.proto.FunctionOptionR\x07options\x12,\n\x0boutput_type\x18\x05 \x01(\x0b2\x0b.proto.TypeR\noutputType\x12-\n\x05phase\x18\x04 \x01(\x0e2\x17.proto.AggregationPhaseR\x05phase\x12&\n\x05sorts\x18\x03 \x03(\x0b2\x10.proto.SortFieldR\x05sorts\x12N\n\ninvocation\x18\x06 \x01(\x0e2..proto.AggregateFunction.AggregationInvocationR\ninvocation\x12)\n\x04args\x18\x02 \x03(\x0b2\x11.proto.ExpressionB\x02\x18\x01R\x04args"\x84\x01\n\x15AggregationInvocation\x12&\n"AGGREGATION_INVOCATION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aAGGREGATION_INVOCATION_ALL\x10\x01\x12#\n\x1fAGGREGATION_INVOCATION_DISTINCT\x10\x02"7\n\x0cReferenceRel\x12\'\n\x0fsubtree_ordinal\x18\x01 \x01(\x05R\x0esubtreeOrdinal*\xef\x01\n\x10AggregationPhase\x12!\n\x1dAGGREGATION_PHASE_UNSPECIFIED\x10\x00\x12-\n)AGGREGATION_PHASE_INITIAL_TO_INTERMEDIATE\x10\x01\x122\n.AGGREGATION_PHASE_INTERMEDIATE_TO_INTERMEDIATE\x10\x02\x12\'\n#AGGREGATION_PHASE_INITIAL_TO_RESULT\x10\x03\x12,\n(AGGREGATION_PHASE_INTERMEDIATE_TO_RESULT\x10\x04B#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.algebra_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _HASHJOINREL.fields_by_name['left_keys']._options = None - _HASHJOINREL.fields_by_name['left_keys']._serialized_options = b'\x18\x01' - _HASHJOINREL.fields_by_name['right_keys']._options = None - _HASHJOINREL.fields_by_name['right_keys']._serialized_options = b'\x18\x01' - _MERGEJOINREL.fields_by_name['left_keys']._options = None - _MERGEJOINREL.fields_by_name['left_keys']._serialized_options = b'\x18\x01' - _MERGEJOINREL.fields_by_name['right_keys']._options = None - _MERGEJOINREL.fields_by_name['right_keys']._serialized_options = b'\x18\x01' - _EXPRESSION_ENUM_EMPTY._options = None - _EXPRESSION_ENUM_EMPTY._serialized_options = b'\x18\x01' - _EXPRESSION_ENUM._options = None - _EXPRESSION_ENUM._serialized_options = b'\x18\x01' - _EXPRESSION_LITERAL_INTERVALDAYTOSECOND.fields_by_name['microseconds']._options = None - _EXPRESSION_LITERAL_INTERVALDAYTOSECOND.fields_by_name['microseconds']._serialized_options = b'\x18\x01' - _EXPRESSION_LITERAL.fields_by_name['timestamp']._options = None - _EXPRESSION_LITERAL.fields_by_name['timestamp']._serialized_options = b'\x18\x01' - _EXPRESSION_LITERAL.fields_by_name['timestamp_tz']._options = None - _EXPRESSION_LITERAL.fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' - _EXPRESSION_SCALARFUNCTION.fields_by_name['args']._options = None - _EXPRESSION_SCALARFUNCTION.fields_by_name['args']._serialized_options = b'\x18\x01' - _EXPRESSION_WINDOWFUNCTION.fields_by_name['args']._options = None - _EXPRESSION_WINDOWFUNCTION.fields_by_name['args']._serialized_options = b'\x18\x01' - _EXPRESSION.fields_by_name['enum']._options = None - _EXPRESSION.fields_by_name['enum']._serialized_options = b'\x18\x01' - _AGGREGATEFUNCTION.fields_by_name['args']._options = None - _AGGREGATEFUNCTION.fields_by_name['args']._serialized_options = b'\x18\x01' - _AGGREGATIONPHASE._serialized_start = 26434 - _AGGREGATIONPHASE._serialized_end = 26673 - _RELCOMMON._serialized_start = 111 - _RELCOMMON._serialized_end = 950 - _RELCOMMON_DIRECT._serialized_start = 347 - _RELCOMMON_DIRECT._serialized_end = 355 - _RELCOMMON_EMIT._serialized_start = 357 - _RELCOMMON_EMIT._serialized_end = 402 - _RELCOMMON_HINT._serialized_start = 405 - _RELCOMMON_HINT._serialized_end = 937 - _RELCOMMON_HINT_STATS._serialized_start = 679 - _RELCOMMON_HINT_STATS._serialized_end = 832 - _RELCOMMON_HINT_RUNTIMECONSTRAINT._serialized_start = 834 - _RELCOMMON_HINT_RUNTIMECONSTRAINT._serialized_end = 937 - _READREL._serialized_start = 953 - _READREL._serialized_end = 3123 - _READREL_NAMEDTABLE._serialized_start = 1583 - _READREL_NAMEDTABLE._serialized_end = 1701 - _READREL_VIRTUALTABLE._serialized_start = 1703 - _READREL_VIRTUALTABLE._serialized_end = 1775 - _READREL_EXTENSIONTABLE._serialized_start = 1777 - _READREL_EXTENSIONTABLE._serialized_end = 1839 - _READREL_LOCALFILES._serialized_start = 1842 - _READREL_LOCALFILES._serialized_end = 3110 - _READREL_LOCALFILES_FILEORFILES._serialized_start = 2002 - _READREL_LOCALFILES_FILEORFILES._serialized_end = 3110 - _READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS._serialized_start = 2699 - _READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS._serialized_end = 2719 - _READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS._serialized_start = 2721 - _READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS._serialized_end = 2739 - _READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS._serialized_start = 2741 - _READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS._serialized_end = 2757 - _READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS._serialized_start = 2759 - _READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS._serialized_end = 2776 - _READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS._serialized_start = 2779 - _READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS._serialized_end = 3068 - _PROJECTREL._serialized_start = 3126 - _PROJECTREL._serialized_end = 3351 - _JOINREL._serialized_start = 3354 - _JOINREL._serialized_end = 4043 - _JOINREL_JOINTYPE._serialized_start = 3715 - _JOINREL_JOINTYPE._serialized_end = 4043 - _CROSSREL._serialized_start = 4046 - _CROSSREL._serialized_end = 4248 - _FETCHREL._serialized_start = 4251 - _FETCHREL._serialized_end = 4467 - _AGGREGATEREL._serialized_start = 4470 - _AGGREGATEREL._serialized_end = 4949 - _AGGREGATEREL_GROUPING._serialized_start = 4763 - _AGGREGATEREL_GROUPING._serialized_end = 4843 - _AGGREGATEREL_MEASURE._serialized_start = 4845 - _AGGREGATEREL_MEASURE._serialized_end = 4949 - _CONSISTENTPARTITIONWINDOWREL._serialized_start = 4952 - _CONSISTENTPARTITIONWINDOWREL._serialized_end = 5922 - _CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION._serialized_start = 5355 - _CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION._serialized_end = 5922 - _SORTREL._serialized_start = 5925 - _SORTREL._serialized_end = 6134 - _FILTERREL._serialized_start = 6137 - _FILTERREL._serialized_end = 6357 - _SETREL._serialized_start = 6360 - _SETREL._serialized_end = 6770 - _SETREL_SETOP._serialized_start = 6570 - _SETREL_SETOP._serialized_end = 6770 - _EXTENSIONSINGLEREL._serialized_start = 6773 - _EXTENSIONSINGLEREL._serialized_end = 6915 - _EXTENSIONLEAFREL._serialized_start = 6917 - _EXTENSIONLEAFREL._serialized_end = 7023 - _EXTENSIONMULTIREL._serialized_start = 7026 - _EXTENSIONMULTIREL._serialized_end = 7169 - _EXCHANGEREL._serialized_start = 7172 - _EXCHANGEREL._serialized_end = 8301 - _EXCHANGEREL_SCATTERFIELDS._serialized_start = 7818 - _EXCHANGEREL_SCATTERFIELDS._serialized_end = 7891 - _EXCHANGEREL_SINGLEBUCKETEXPRESSION._serialized_start = 7893 - _EXCHANGEREL_SINGLEBUCKETEXPRESSION._serialized_end = 7968 - _EXCHANGEREL_MULTIBUCKETEXPRESSION._serialized_start = 7970 - _EXCHANGEREL_MULTIBUCKETEXPRESSION._serialized_end = 8094 - _EXCHANGEREL_BROADCAST._serialized_start = 8096 - _EXCHANGEREL_BROADCAST._serialized_end = 8107 - _EXCHANGEREL_ROUNDROBIN._serialized_start = 8109 - _EXCHANGEREL_ROUNDROBIN._serialized_end = 8143 - _EXCHANGEREL_EXCHANGETARGET._serialized_start = 8146 - _EXCHANGEREL_EXCHANGETARGET._serialized_end = 8284 - _EXPANDREL._serialized_start = 8304 - _EXPANDREL._serialized_end = 8684 - _EXPANDREL_EXPANDFIELD._serialized_start = 8448 - _EXPANDREL_EXPANDFIELD._serialized_end = 8615 - _EXPANDREL_SWITCHINGFIELD._serialized_start = 8617 - _EXPANDREL_SWITCHINGFIELD._serialized_end = 8684 - _RELROOT._serialized_start = 8686 - _RELROOT._serialized_end = 8751 - _REL._serialized_start = 8754 - _REL._serialized_end = 9814 - _NAMEDOBJECTWRITE._serialized_start = 9816 - _NAMEDOBJECTWRITE._serialized_end = 9940 - _EXTENSIONOBJECT._serialized_start = 9942 - _EXTENSIONOBJECT._serialized_end = 10005 - _DDLREL._serialized_start = 10008 - _DDLREL._serialized_end = 10698 - _DDLREL_DDLOBJECT._serialized_start = 10458 - _DDLREL_DDLOBJECT._serialized_end = 10540 - _DDLREL_DDLOP._serialized_start = 10543 - _DDLREL_DDLOP._serialized_end = 10684 - _WRITEREL._serialized_start = 10701 - _WRITEREL._serialized_end = 11299 - _WRITEREL_WRITEOP._serialized_start = 11064 - _WRITEREL_WRITEOP._serialized_end = 11181 - _WRITEREL_OUTPUTMODE._serialized_start = 11183 - _WRITEREL_OUTPUTMODE._serialized_end = 11285 - _COMPARISONJOINKEY._serialized_start = 11302 - _COMPARISONJOINKEY._serialized_end = 11857 - _COMPARISONJOINKEY_COMPARISONTYPE._serialized_start = 11507 - _COMPARISONJOINKEY_COMPARISONTYPE._serialized_end = 11672 - _COMPARISONJOINKEY_SIMPLECOMPARISONTYPE._serialized_start = 11675 - _COMPARISONJOINKEY_SIMPLECOMPARISONTYPE._serialized_end = 11857 - _HASHJOINREL._serialized_start = 11860 - _HASHJOINREL._serialized_end = 12688 - _HASHJOINREL_JOINTYPE._serialized_start = 12360 - _HASHJOINREL_JOINTYPE._serialized_end = 12688 - _MERGEJOINREL._serialized_start = 12691 - _MERGEJOINREL._serialized_end = 13521 - _MERGEJOINREL_JOINTYPE._serialized_start = 12360 - _MERGEJOINREL_JOINTYPE._serialized_end = 12688 - _NESTEDLOOPJOINREL._serialized_start = 13524 - _NESTEDLOOPJOINREL._serialized_end = 14172 - _NESTEDLOOPJOINREL_JOINTYPE._serialized_start = 12360 - _NESTEDLOOPJOINREL_JOINTYPE._serialized_end = 12688 - _FUNCTIONARGUMENT._serialized_start = 14175 - _FUNCTIONARGUMENT._serialized_end = 14305 - _FUNCTIONOPTION._serialized_start = 14307 - _FUNCTIONOPTION._serialized_end = 14375 - _EXPRESSION._serialized_start = 14378 - _EXPRESSION._serialized_end = 25386 - _EXPRESSION_ENUM._serialized_start = 15157 - _EXPRESSION_ENUM._serialized_end = 15291 - _EXPRESSION_ENUM_EMPTY._serialized_start = 15263 - _EXPRESSION_ENUM_EMPTY._serialized_end = 15274 - _EXPRESSION_LITERAL._serialized_start = 15294 - _EXPRESSION_LITERAL._serialized_end = 18053 - _EXPRESSION_LITERAL_VARCHAR._serialized_start = 16802 - _EXPRESSION_LITERAL_VARCHAR._serialized_end = 16857 - _EXPRESSION_LITERAL_DECIMAL._serialized_start = 16859 - _EXPRESSION_LITERAL_DECIMAL._serialized_end = 16942 - _EXPRESSION_LITERAL_PRECISIONTIMESTAMP._serialized_start = 16944 - _EXPRESSION_LITERAL_PRECISIONTIMESTAMP._serialized_end = 17016 - _EXPRESSION_LITERAL_MAP._serialized_start = 17019 - _EXPRESSION_LITERAL_MAP._serialized_end = 17201 - _EXPRESSION_LITERAL_MAP_KEYVALUE._serialized_start = 17097 - _EXPRESSION_LITERAL_MAP_KEYVALUE._serialized_end = 17201 - _EXPRESSION_LITERAL_INTERVALYEARTOMONTH._serialized_start = 17203 - _EXPRESSION_LITERAL_INTERVALYEARTOMONTH._serialized_end = 17270 - _EXPRESSION_LITERAL_INTERVALDAYTOSECOND._serialized_start = 17273 - _EXPRESSION_LITERAL_INTERVALDAYTOSECOND._serialized_end = 17464 - _EXPRESSION_LITERAL_INTERVALCOMPOUND._serialized_start = 17467 - _EXPRESSION_LITERAL_INTERVALCOMPOUND._serialized_end = 17685 - _EXPRESSION_LITERAL_STRUCT._serialized_start = 17687 - _EXPRESSION_LITERAL_STRUCT._serialized_end = 17746 - _EXPRESSION_LITERAL_LIST._serialized_start = 17748 - _EXPRESSION_LITERAL_LIST._serialized_end = 17805 - _EXPRESSION_LITERAL_USERDEFINED._serialized_start = 17808 - _EXPRESSION_LITERAL_USERDEFINED._serialized_end = 18037 - _EXPRESSION_NESTED._serialized_start = 18056 - _EXPRESSION_NESTED._serialized_end = 18599 - _EXPRESSION_NESTED_MAP._serialized_start = 18315 - _EXPRESSION_NESTED_MAP._serialized_end = 18480 - _EXPRESSION_NESTED_MAP_KEYVALUE._serialized_start = 18392 - _EXPRESSION_NESTED_MAP_KEYVALUE._serialized_end = 18480 - _EXPRESSION_NESTED_STRUCT._serialized_start = 18482 - _EXPRESSION_NESTED_STRUCT._serialized_end = 18533 - _EXPRESSION_NESTED_LIST._serialized_start = 18535 - _EXPRESSION_NESTED_LIST._serialized_end = 18584 - _EXPRESSION_SCALARFUNCTION._serialized_start = 18602 - _EXPRESSION_SCALARFUNCTION._serialized_end = 18858 - _EXPRESSION_WINDOWFUNCTION._serialized_start = 18861 - _EXPRESSION_WINDOWFUNCTION._serialized_end = 20098 - _EXPRESSION_WINDOWFUNCTION_BOUND._serialized_start = 19562 - _EXPRESSION_WINDOWFUNCTION_BOUND._serialized_end = 20010 - _EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING._serialized_start = 19903 - _EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING._serialized_end = 19938 - _EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING._serialized_start = 19940 - _EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING._serialized_end = 19975 - _EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW._serialized_start = 19977 - _EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW._serialized_end = 19989 - _EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED._serialized_start = 19991 - _EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED._serialized_end = 20002 - _EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE._serialized_start = 20012 - _EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE._serialized_end = 20098 - _EXPRESSION_IFTHEN._serialized_start = 20101 - _EXPRESSION_IFTHEN._serialized_end = 20287 - _EXPRESSION_IFTHEN_IFCLAUSE._serialized_start = 20203 - _EXPRESSION_IFTHEN_IFCLAUSE._serialized_end = 20287 - _EXPRESSION_CAST._serialized_start = 20290 - _EXPRESSION_CAST._serialized_end = 20578 - _EXPRESSION_CAST_FAILUREBEHAVIOR._serialized_start = 20455 - _EXPRESSION_CAST_FAILUREBEHAVIOR._serialized_end = 20578 - _EXPRESSION_SWITCHEXPRESSION._serialized_start = 20581 - _EXPRESSION_SWITCHEXPRESSION._serialized_end = 20834 - _EXPRESSION_SWITCHEXPRESSION_IFVALUE._serialized_start = 20743 - _EXPRESSION_SWITCHEXPRESSION_IFVALUE._serialized_end = 20834 - _EXPRESSION_SINGULARORLIST._serialized_start = 20836 - _EXPRESSION_SINGULARORLIST._serialized_end = 20938 - _EXPRESSION_MULTIORLIST._serialized_start = 20941 - _EXPRESSION_MULTIORLIST._serialized_end = 21112 - _EXPRESSION_MULTIORLIST_RECORD._serialized_start = 21061 - _EXPRESSION_MULTIORLIST_RECORD._serialized_end = 21112 - _EXPRESSION_EMBEDDEDFUNCTION._serialized_start = 21115 - _EXPRESSION_EMBEDDEDFUNCTION._serialized_end = 21630 - _EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION._serialized_start = 21453 - _EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION._serialized_end = 21539 - _EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION._serialized_start = 21541 - _EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION._serialized_end = 21622 - _EXPRESSION_REFERENCESEGMENT._serialized_start = 21633 - _EXPRESSION_REFERENCESEGMENT._serialized_end = 22221 - _EXPRESSION_REFERENCESEGMENT_MAPKEY._serialized_start = 21893 - _EXPRESSION_REFERENCESEGMENT_MAPKEY._serialized_end = 22011 - _EXPRESSION_REFERENCESEGMENT_STRUCTFIELD._serialized_start = 22013 - _EXPRESSION_REFERENCESEGMENT_STRUCTFIELD._serialized_end = 22106 - _EXPRESSION_REFERENCESEGMENT_LISTELEMENT._serialized_start = 22108 - _EXPRESSION_REFERENCESEGMENT_LISTELEMENT._serialized_end = 22203 - _EXPRESSION_MASKEXPRESSION._serialized_start = 22224 - _EXPRESSION_MASKEXPRESSION._serialized_end = 23614 - _EXPRESSION_MASKEXPRESSION_SELECT._serialized_start = 22372 - _EXPRESSION_MASKEXPRESSION_SELECT._serialized_end = 22592 - _EXPRESSION_MASKEXPRESSION_STRUCTSELECT._serialized_start = 22594 - _EXPRESSION_MASKEXPRESSION_STRUCTSELECT._serialized_end = 22688 - _EXPRESSION_MASKEXPRESSION_STRUCTITEM._serialized_start = 22690 - _EXPRESSION_MASKEXPRESSION_STRUCTITEM._serialized_end = 22787 - _EXPRESSION_MASKEXPRESSION_LISTSELECT._serialized_start = 22790 - _EXPRESSION_MASKEXPRESSION_LISTSELECT._serialized_end = 23260 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM._serialized_start = 22958 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM._serialized_end = 23260 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT._serialized_start = 23164 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT._serialized_end = 23199 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE._serialized_start = 23201 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE._serialized_end = 23252 - _EXPRESSION_MASKEXPRESSION_MAPSELECT._serialized_start = 23263 - _EXPRESSION_MASKEXPRESSION_MAPSELECT._serialized_end = 23614 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY._serialized_start = 23505 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY._serialized_end = 23538 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION._serialized_start = 23540 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION._serialized_end = 23604 - _EXPRESSION_FIELDREFERENCE._serialized_start = 23617 - _EXPRESSION_FIELDREFERENCE._serialized_end = 24122 - _EXPRESSION_FIELDREFERENCE_ROOTREFERENCE._serialized_start = 24029 - _EXPRESSION_FIELDREFERENCE_ROOTREFERENCE._serialized_end = 24044 - _EXPRESSION_FIELDREFERENCE_OUTERREFERENCE._serialized_start = 24046 - _EXPRESSION_FIELDREFERENCE_OUTERREFERENCE._serialized_end = 24091 - _EXPRESSION_SUBQUERY._serialized_start = 24125 - _EXPRESSION_SUBQUERY._serialized_end = 25374 - _EXPRESSION_SUBQUERY_SCALAR._serialized_start = 24438 - _EXPRESSION_SUBQUERY_SCALAR._serialized_end = 24480 - _EXPRESSION_SUBQUERY_INPREDICATE._serialized_start = 24482 - _EXPRESSION_SUBQUERY_INPREDICATE._serialized_end = 24580 - _EXPRESSION_SUBQUERY_SETPREDICATE._serialized_start = 24583 - _EXPRESSION_SUBQUERY_SETPREDICATE._serialized_end = 24816 - _EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP._serialized_start = 24723 - _EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP._serialized_end = 24816 - _EXPRESSION_SUBQUERY_SETCOMPARISON._serialized_start = 24819 - _EXPRESSION_SUBQUERY_SETCOMPARISON._serialized_end = 25357 - _EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP._serialized_start = 25091 - _EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP._serialized_end = 25268 - _EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP._serialized_start = 25270 - _EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP._serialized_end = 25357 - _SORTFIELD._serialized_start = 25389 - _SORTFIELD._serialized_end = 25810 - _SORTFIELD_SORTDIRECTION._serialized_start = 25576 - _SORTFIELD_SORTDIRECTION._serialized_end = 25797 - _AGGREGATEFUNCTION._serialized_start = 25813 - _AGGREGATEFUNCTION._serialized_end = 26374 - _AGGREGATEFUNCTION_AGGREGATIONINVOCATION._serialized_start = 26242 - _AGGREGATEFUNCTION_AGGREGATIONINVOCATION._serialized_end = 26374 - _REFERENCEREL._serialized_start = 26376 - _REFERENCEREL._serialized_end = 26431 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_READREL_VIRTUALTABLE'].fields_by_name['values']._options = None + _globals['_READREL_VIRTUALTABLE'].fields_by_name['values']._serialized_options = b'\x18\x01' + _globals['_FETCHREL'].fields_by_name['offset']._options = None + _globals['_FETCHREL'].fields_by_name['offset']._serialized_options = b'\x18\x01' + _globals['_FETCHREL'].fields_by_name['count']._options = None + _globals['_FETCHREL'].fields_by_name['count']._serialized_options = b'\x18\x01' + _globals['_AGGREGATEREL_GROUPING'].fields_by_name['grouping_expressions']._options = None + _globals['_AGGREGATEREL_GROUPING'].fields_by_name['grouping_expressions']._serialized_options = b'\x18\x01' + _globals['_HASHJOINREL'].fields_by_name['left_keys']._options = None + _globals['_HASHJOINREL'].fields_by_name['left_keys']._serialized_options = b'\x18\x01' + _globals['_HASHJOINREL'].fields_by_name['right_keys']._options = None + _globals['_HASHJOINREL'].fields_by_name['right_keys']._serialized_options = b'\x18\x01' + _globals['_MERGEJOINREL'].fields_by_name['left_keys']._options = None + _globals['_MERGEJOINREL'].fields_by_name['left_keys']._serialized_options = b'\x18\x01' + _globals['_MERGEJOINREL'].fields_by_name['right_keys']._options = None + _globals['_MERGEJOINREL'].fields_by_name['right_keys']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_ENUM_EMPTY']._options = None + _globals['_EXPRESSION_ENUM_EMPTY']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_ENUM']._options = None + _globals['_EXPRESSION_ENUM']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND'].fields_by_name['microseconds']._options = None + _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND'].fields_by_name['microseconds']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp']._options = None + _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp_tz']._options = None + _globals['_EXPRESSION_LITERAL'].fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_SCALARFUNCTION'].fields_by_name['args']._options = None + _globals['_EXPRESSION_SCALARFUNCTION'].fields_by_name['args']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION_WINDOWFUNCTION'].fields_by_name['args']._options = None + _globals['_EXPRESSION_WINDOWFUNCTION'].fields_by_name['args']._serialized_options = b'\x18\x01' + _globals['_EXPRESSION'].fields_by_name['enum']._options = None + _globals['_EXPRESSION'].fields_by_name['enum']._serialized_options = b'\x18\x01' + _globals['_AGGREGATEFUNCTION'].fields_by_name['args']._options = None + _globals['_AGGREGATEFUNCTION'].fields_by_name['args']._serialized_options = b'\x18\x01' + _globals['_AGGREGATIONPHASE']._serialized_start = 28801 + _globals['_AGGREGATIONPHASE']._serialized_end = 29040 + _globals['_RELCOMMON']._serialized_start = 111 + _globals['_RELCOMMON']._serialized_end = 1536 + _globals['_RELCOMMON_DIRECT']._serialized_start = 347 + _globals['_RELCOMMON_DIRECT']._serialized_end = 355 + _globals['_RELCOMMON_EMIT']._serialized_start = 357 + _globals['_RELCOMMON_EMIT']._serialized_end = 402 + _globals['_RELCOMMON_HINT']._serialized_start = 405 + _globals['_RELCOMMON_HINT']._serialized_end = 1523 + _globals['_RELCOMMON_HINT_STATS']._serialized_start = 856 + _globals['_RELCOMMON_HINT_STATS']._serialized_end = 1009 + _globals['_RELCOMMON_HINT_RUNTIMECONSTRAINT']._serialized_start = 1011 + _globals['_RELCOMMON_HINT_RUNTIMECONSTRAINT']._serialized_end = 1114 + _globals['_RELCOMMON_HINT_SAVEDCOMPUTATION']._serialized_start = 1116 + _globals['_RELCOMMON_HINT_SAVEDCOMPUTATION']._serialized_end = 1232 + _globals['_RELCOMMON_HINT_LOADEDCOMPUTATION']._serialized_start = 1235 + _globals['_RELCOMMON_HINT_LOADEDCOMPUTATION']._serialized_end = 1371 + _globals['_RELCOMMON_HINT_COMPUTATIONTYPE']._serialized_start = 1374 + _globals['_RELCOMMON_HINT_COMPUTATIONTYPE']._serialized_end = 1523 + _globals['_READREL']._serialized_start = 1539 + _globals['_READREL']._serialized_end = 4104 + _globals['_READREL_NAMEDTABLE']._serialized_start = 2237 + _globals['_READREL_NAMEDTABLE']._serialized_end = 2355 + _globals['_READREL_ICEBERGTABLE']._serialized_start = 2358 + _globals['_READREL_ICEBERGTABLE']._serialized_end = 2610 + _globals['_READREL_ICEBERGTABLE_METADATAFILEREAD']._serialized_start = 2447 + _globals['_READREL_ICEBERGTABLE_METADATAFILEREAD']._serialized_end = 2596 + _globals['_READREL_VIRTUALTABLE']._serialized_start = 2613 + _globals['_READREL_VIRTUALTABLE']._serialized_end = 2756 + _globals['_READREL_EXTENSIONTABLE']._serialized_start = 2758 + _globals['_READREL_EXTENSIONTABLE']._serialized_end = 2820 + _globals['_READREL_LOCALFILES']._serialized_start = 2823 + _globals['_READREL_LOCALFILES']._serialized_end = 4091 + _globals['_READREL_LOCALFILES_FILEORFILES']._serialized_start = 2983 + _globals['_READREL_LOCALFILES_FILEORFILES']._serialized_end = 4091 + _globals['_READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS']._serialized_start = 3680 + _globals['_READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS']._serialized_end = 3700 + _globals['_READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS']._serialized_start = 3702 + _globals['_READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS']._serialized_end = 3720 + _globals['_READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS']._serialized_start = 3722 + _globals['_READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS']._serialized_end = 3738 + _globals['_READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS']._serialized_start = 3740 + _globals['_READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS']._serialized_end = 3757 + _globals['_READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS']._serialized_start = 3760 + _globals['_READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS']._serialized_end = 4049 + _globals['_PROJECTREL']._serialized_start = 4107 + _globals['_PROJECTREL']._serialized_end = 4332 + _globals['_JOINREL']._serialized_start = 4335 + _globals['_JOINREL']._serialized_end = 5024 + _globals['_JOINREL_JOINTYPE']._serialized_start = 4696 + _globals['_JOINREL_JOINTYPE']._serialized_end = 5024 + _globals['_CROSSREL']._serialized_start = 5027 + _globals['_CROSSREL']._serialized_end = 5229 + _globals['_FETCHREL']._serialized_start = 5232 + _globals['_FETCHREL']._serialized_end = 5595 + _globals['_AGGREGATEREL']._serialized_start = 5598 + _globals['_AGGREGATEREL']._serialized_end = 6205 + _globals['_AGGREGATEREL_GROUPING']._serialized_start = 5962 + _globals['_AGGREGATEREL_GROUPING']._serialized_end = 6099 + _globals['_AGGREGATEREL_MEASURE']._serialized_start = 6101 + _globals['_AGGREGATEREL_MEASURE']._serialized_end = 6205 + _globals['_CONSISTENTPARTITIONWINDOWREL']._serialized_start = 6208 + _globals['_CONSISTENTPARTITIONWINDOWREL']._serialized_end = 7178 + _globals['_CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION']._serialized_start = 6611 + _globals['_CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION']._serialized_end = 7178 + _globals['_SORTREL']._serialized_start = 7181 + _globals['_SORTREL']._serialized_end = 7390 + _globals['_FILTERREL']._serialized_start = 7393 + _globals['_FILTERREL']._serialized_end = 7613 + _globals['_SETREL']._serialized_start = 7616 + _globals['_SETREL']._serialized_end = 8094 + _globals['_SETREL_SETOP']._serialized_start = 7826 + _globals['_SETREL_SETOP']._serialized_end = 8094 + _globals['_EXTENSIONSINGLEREL']._serialized_start = 8097 + _globals['_EXTENSIONSINGLEREL']._serialized_end = 8239 + _globals['_EXTENSIONLEAFREL']._serialized_start = 8241 + _globals['_EXTENSIONLEAFREL']._serialized_end = 8347 + _globals['_EXTENSIONMULTIREL']._serialized_start = 8350 + _globals['_EXTENSIONMULTIREL']._serialized_end = 8493 + _globals['_EXCHANGEREL']._serialized_start = 8496 + _globals['_EXCHANGEREL']._serialized_end = 9625 + _globals['_EXCHANGEREL_SCATTERFIELDS']._serialized_start = 9142 + _globals['_EXCHANGEREL_SCATTERFIELDS']._serialized_end = 9215 + _globals['_EXCHANGEREL_SINGLEBUCKETEXPRESSION']._serialized_start = 9217 + _globals['_EXCHANGEREL_SINGLEBUCKETEXPRESSION']._serialized_end = 9292 + _globals['_EXCHANGEREL_MULTIBUCKETEXPRESSION']._serialized_start = 9294 + _globals['_EXCHANGEREL_MULTIBUCKETEXPRESSION']._serialized_end = 9418 + _globals['_EXCHANGEREL_BROADCAST']._serialized_start = 9420 + _globals['_EXCHANGEREL_BROADCAST']._serialized_end = 9431 + _globals['_EXCHANGEREL_ROUNDROBIN']._serialized_start = 9433 + _globals['_EXCHANGEREL_ROUNDROBIN']._serialized_end = 9467 + _globals['_EXCHANGEREL_EXCHANGETARGET']._serialized_start = 9470 + _globals['_EXCHANGEREL_EXCHANGETARGET']._serialized_end = 9608 + _globals['_EXPANDREL']._serialized_start = 9628 + _globals['_EXPANDREL']._serialized_end = 10008 + _globals['_EXPANDREL_EXPANDFIELD']._serialized_start = 9772 + _globals['_EXPANDREL_EXPANDFIELD']._serialized_end = 9939 + _globals['_EXPANDREL_SWITCHINGFIELD']._serialized_start = 9941 + _globals['_EXPANDREL_SWITCHINGFIELD']._serialized_end = 10008 + _globals['_RELROOT']._serialized_start = 10010 + _globals['_RELROOT']._serialized_end = 10075 + _globals['_REL']._serialized_start = 10078 + _globals['_REL']._serialized_end = 11182 + _globals['_NAMEDOBJECTWRITE']._serialized_start = 11184 + _globals['_NAMEDOBJECTWRITE']._serialized_end = 11308 + _globals['_EXTENSIONOBJECT']._serialized_start = 11310 + _globals['_EXTENSIONOBJECT']._serialized_end = 11373 + _globals['_DDLREL']._serialized_start = 11376 + _globals['_DDLREL']._serialized_end = 12150 + _globals['_DDLREL_DDLOBJECT']._serialized_start = 11910 + _globals['_DDLREL_DDLOBJECT']._serialized_end = 11992 + _globals['_DDLREL_DDLOP']._serialized_start = 11995 + _globals['_DDLREL_DDLOP']._serialized_end = 12136 + _globals['_WRITEREL']._serialized_start = 12153 + _globals['_WRITEREL']._serialized_end = 13076 + _globals['_WRITEREL_WRITEOP']._serialized_start = 12661 + _globals['_WRITEREL_WRITEOP']._serialized_end = 12778 + _globals['_WRITEREL_CREATEMODE']._serialized_start = 12781 + _globals['_WRITEREL_CREATEMODE']._serialized_end = 12958 + _globals['_WRITEREL_OUTPUTMODE']._serialized_start = 12960 + _globals['_WRITEREL_OUTPUTMODE']._serialized_end = 13062 + _globals['_UPDATEREL']._serialized_start = 13079 + _globals['_UPDATEREL']._serialized_end = 13546 + _globals['_UPDATEREL_TRANSFORMEXPRESSION']._serialized_start = 13414 + _globals['_UPDATEREL_TRANSFORMEXPRESSION']._serialized_end = 13531 + _globals['_NAMEDTABLE']._serialized_start = 2237 + _globals['_NAMEDTABLE']._serialized_end = 2355 + _globals['_COMPARISONJOINKEY']._serialized_start = 13669 + _globals['_COMPARISONJOINKEY']._serialized_end = 14224 + _globals['_COMPARISONJOINKEY_COMPARISONTYPE']._serialized_start = 13874 + _globals['_COMPARISONJOINKEY_COMPARISONTYPE']._serialized_end = 14039 + _globals['_COMPARISONJOINKEY_SIMPLECOMPARISONTYPE']._serialized_start = 14042 + _globals['_COMPARISONJOINKEY_SIMPLECOMPARISONTYPE']._serialized_end = 14224 + _globals['_HASHJOINREL']._serialized_start = 14227 + _globals['_HASHJOINREL']._serialized_end = 15055 + _globals['_HASHJOINREL_JOINTYPE']._serialized_start = 14727 + _globals['_HASHJOINREL_JOINTYPE']._serialized_end = 15055 + _globals['_MERGEJOINREL']._serialized_start = 15058 + _globals['_MERGEJOINREL']._serialized_end = 15888 + _globals['_MERGEJOINREL_JOINTYPE']._serialized_start = 14727 + _globals['_MERGEJOINREL_JOINTYPE']._serialized_end = 15055 + _globals['_NESTEDLOOPJOINREL']._serialized_start = 15891 + _globals['_NESTEDLOOPJOINREL']._serialized_end = 16539 + _globals['_NESTEDLOOPJOINREL_JOINTYPE']._serialized_start = 14727 + _globals['_NESTEDLOOPJOINREL_JOINTYPE']._serialized_end = 15055 + _globals['_FUNCTIONARGUMENT']._serialized_start = 16542 + _globals['_FUNCTIONARGUMENT']._serialized_end = 16672 + _globals['_FUNCTIONOPTION']._serialized_start = 16674 + _globals['_FUNCTIONOPTION']._serialized_end = 16742 + _globals['_EXPRESSION']._serialized_start = 16745 + _globals['_EXPRESSION']._serialized_end = 27753 + _globals['_EXPRESSION_ENUM']._serialized_start = 17524 + _globals['_EXPRESSION_ENUM']._serialized_end = 17658 + _globals['_EXPRESSION_ENUM_EMPTY']._serialized_start = 17630 + _globals['_EXPRESSION_ENUM_EMPTY']._serialized_end = 17641 + _globals['_EXPRESSION_LITERAL']._serialized_start = 17661 + _globals['_EXPRESSION_LITERAL']._serialized_end = 20420 + _globals['_EXPRESSION_LITERAL_VARCHAR']._serialized_start = 19169 + _globals['_EXPRESSION_LITERAL_VARCHAR']._serialized_end = 19224 + _globals['_EXPRESSION_LITERAL_DECIMAL']._serialized_start = 19226 + _globals['_EXPRESSION_LITERAL_DECIMAL']._serialized_end = 19309 + _globals['_EXPRESSION_LITERAL_PRECISIONTIMESTAMP']._serialized_start = 19311 + _globals['_EXPRESSION_LITERAL_PRECISIONTIMESTAMP']._serialized_end = 19383 + _globals['_EXPRESSION_LITERAL_MAP']._serialized_start = 19386 + _globals['_EXPRESSION_LITERAL_MAP']._serialized_end = 19568 + _globals['_EXPRESSION_LITERAL_MAP_KEYVALUE']._serialized_start = 19464 + _globals['_EXPRESSION_LITERAL_MAP_KEYVALUE']._serialized_end = 19568 + _globals['_EXPRESSION_LITERAL_INTERVALYEARTOMONTH']._serialized_start = 19570 + _globals['_EXPRESSION_LITERAL_INTERVALYEARTOMONTH']._serialized_end = 19637 + _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND']._serialized_start = 19640 + _globals['_EXPRESSION_LITERAL_INTERVALDAYTOSECOND']._serialized_end = 19831 + _globals['_EXPRESSION_LITERAL_INTERVALCOMPOUND']._serialized_start = 19834 + _globals['_EXPRESSION_LITERAL_INTERVALCOMPOUND']._serialized_end = 20052 + _globals['_EXPRESSION_LITERAL_STRUCT']._serialized_start = 20054 + _globals['_EXPRESSION_LITERAL_STRUCT']._serialized_end = 20113 + _globals['_EXPRESSION_LITERAL_LIST']._serialized_start = 20115 + _globals['_EXPRESSION_LITERAL_LIST']._serialized_end = 20172 + _globals['_EXPRESSION_LITERAL_USERDEFINED']._serialized_start = 20175 + _globals['_EXPRESSION_LITERAL_USERDEFINED']._serialized_end = 20404 + _globals['_EXPRESSION_NESTED']._serialized_start = 20423 + _globals['_EXPRESSION_NESTED']._serialized_end = 20966 + _globals['_EXPRESSION_NESTED_MAP']._serialized_start = 20682 + _globals['_EXPRESSION_NESTED_MAP']._serialized_end = 20847 + _globals['_EXPRESSION_NESTED_MAP_KEYVALUE']._serialized_start = 20759 + _globals['_EXPRESSION_NESTED_MAP_KEYVALUE']._serialized_end = 20847 + _globals['_EXPRESSION_NESTED_STRUCT']._serialized_start = 20849 + _globals['_EXPRESSION_NESTED_STRUCT']._serialized_end = 20900 + _globals['_EXPRESSION_NESTED_LIST']._serialized_start = 20902 + _globals['_EXPRESSION_NESTED_LIST']._serialized_end = 20951 + _globals['_EXPRESSION_SCALARFUNCTION']._serialized_start = 20969 + _globals['_EXPRESSION_SCALARFUNCTION']._serialized_end = 21225 + _globals['_EXPRESSION_WINDOWFUNCTION']._serialized_start = 21228 + _globals['_EXPRESSION_WINDOWFUNCTION']._serialized_end = 22465 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND']._serialized_start = 21929 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND']._serialized_end = 22377 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING']._serialized_start = 22270 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING']._serialized_end = 22305 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING']._serialized_start = 22307 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING']._serialized_end = 22342 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW']._serialized_start = 22344 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW']._serialized_end = 22356 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED']._serialized_start = 22358 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED']._serialized_end = 22369 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE']._serialized_start = 22379 + _globals['_EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE']._serialized_end = 22465 + _globals['_EXPRESSION_IFTHEN']._serialized_start = 22468 + _globals['_EXPRESSION_IFTHEN']._serialized_end = 22654 + _globals['_EXPRESSION_IFTHEN_IFCLAUSE']._serialized_start = 22570 + _globals['_EXPRESSION_IFTHEN_IFCLAUSE']._serialized_end = 22654 + _globals['_EXPRESSION_CAST']._serialized_start = 22657 + _globals['_EXPRESSION_CAST']._serialized_end = 22945 + _globals['_EXPRESSION_CAST_FAILUREBEHAVIOR']._serialized_start = 22822 + _globals['_EXPRESSION_CAST_FAILUREBEHAVIOR']._serialized_end = 22945 + _globals['_EXPRESSION_SWITCHEXPRESSION']._serialized_start = 22948 + _globals['_EXPRESSION_SWITCHEXPRESSION']._serialized_end = 23201 + _globals['_EXPRESSION_SWITCHEXPRESSION_IFVALUE']._serialized_start = 23110 + _globals['_EXPRESSION_SWITCHEXPRESSION_IFVALUE']._serialized_end = 23201 + _globals['_EXPRESSION_SINGULARORLIST']._serialized_start = 23203 + _globals['_EXPRESSION_SINGULARORLIST']._serialized_end = 23305 + _globals['_EXPRESSION_MULTIORLIST']._serialized_start = 23308 + _globals['_EXPRESSION_MULTIORLIST']._serialized_end = 23479 + _globals['_EXPRESSION_MULTIORLIST_RECORD']._serialized_start = 23428 + _globals['_EXPRESSION_MULTIORLIST_RECORD']._serialized_end = 23479 + _globals['_EXPRESSION_EMBEDDEDFUNCTION']._serialized_start = 23482 + _globals['_EXPRESSION_EMBEDDEDFUNCTION']._serialized_end = 23997 + _globals['_EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION']._serialized_start = 23820 + _globals['_EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION']._serialized_end = 23906 + _globals['_EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION']._serialized_start = 23908 + _globals['_EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION']._serialized_end = 23989 + _globals['_EXPRESSION_REFERENCESEGMENT']._serialized_start = 24000 + _globals['_EXPRESSION_REFERENCESEGMENT']._serialized_end = 24588 + _globals['_EXPRESSION_REFERENCESEGMENT_MAPKEY']._serialized_start = 24260 + _globals['_EXPRESSION_REFERENCESEGMENT_MAPKEY']._serialized_end = 24378 + _globals['_EXPRESSION_REFERENCESEGMENT_STRUCTFIELD']._serialized_start = 24380 + _globals['_EXPRESSION_REFERENCESEGMENT_STRUCTFIELD']._serialized_end = 24473 + _globals['_EXPRESSION_REFERENCESEGMENT_LISTELEMENT']._serialized_start = 24475 + _globals['_EXPRESSION_REFERENCESEGMENT_LISTELEMENT']._serialized_end = 24570 + _globals['_EXPRESSION_MASKEXPRESSION']._serialized_start = 24591 + _globals['_EXPRESSION_MASKEXPRESSION']._serialized_end = 25981 + _globals['_EXPRESSION_MASKEXPRESSION_SELECT']._serialized_start = 24739 + _globals['_EXPRESSION_MASKEXPRESSION_SELECT']._serialized_end = 24959 + _globals['_EXPRESSION_MASKEXPRESSION_STRUCTSELECT']._serialized_start = 24961 + _globals['_EXPRESSION_MASKEXPRESSION_STRUCTSELECT']._serialized_end = 25055 + _globals['_EXPRESSION_MASKEXPRESSION_STRUCTITEM']._serialized_start = 25057 + _globals['_EXPRESSION_MASKEXPRESSION_STRUCTITEM']._serialized_end = 25154 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT']._serialized_start = 25157 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT']._serialized_end = 25627 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM']._serialized_start = 25325 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM']._serialized_end = 25627 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT']._serialized_start = 25531 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT']._serialized_end = 25566 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE']._serialized_start = 25568 + _globals['_EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE']._serialized_end = 25619 + _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT']._serialized_start = 25630 + _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT']._serialized_end = 25981 + _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY']._serialized_start = 25872 + _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY']._serialized_end = 25905 + _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION']._serialized_start = 25907 + _globals['_EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION']._serialized_end = 25971 + _globals['_EXPRESSION_FIELDREFERENCE']._serialized_start = 25984 + _globals['_EXPRESSION_FIELDREFERENCE']._serialized_end = 26489 + _globals['_EXPRESSION_FIELDREFERENCE_ROOTREFERENCE']._serialized_start = 26396 + _globals['_EXPRESSION_FIELDREFERENCE_ROOTREFERENCE']._serialized_end = 26411 + _globals['_EXPRESSION_FIELDREFERENCE_OUTERREFERENCE']._serialized_start = 26413 + _globals['_EXPRESSION_FIELDREFERENCE_OUTERREFERENCE']._serialized_end = 26458 + _globals['_EXPRESSION_SUBQUERY']._serialized_start = 26492 + _globals['_EXPRESSION_SUBQUERY']._serialized_end = 27741 + _globals['_EXPRESSION_SUBQUERY_SCALAR']._serialized_start = 26805 + _globals['_EXPRESSION_SUBQUERY_SCALAR']._serialized_end = 26847 + _globals['_EXPRESSION_SUBQUERY_INPREDICATE']._serialized_start = 26849 + _globals['_EXPRESSION_SUBQUERY_INPREDICATE']._serialized_end = 26947 + _globals['_EXPRESSION_SUBQUERY_SETPREDICATE']._serialized_start = 26950 + _globals['_EXPRESSION_SUBQUERY_SETPREDICATE']._serialized_end = 27183 + _globals['_EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP']._serialized_start = 27090 + _globals['_EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP']._serialized_end = 27183 + _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON']._serialized_start = 27186 + _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON']._serialized_end = 27724 + _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP']._serialized_start = 27458 + _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP']._serialized_end = 27635 + _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP']._serialized_start = 27637 + _globals['_EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP']._serialized_end = 27724 + _globals['_SORTFIELD']._serialized_start = 27756 + _globals['_SORTFIELD']._serialized_end = 28177 + _globals['_SORTFIELD_SORTDIRECTION']._serialized_start = 27943 + _globals['_SORTFIELD_SORTDIRECTION']._serialized_end = 28164 + _globals['_AGGREGATEFUNCTION']._serialized_start = 28180 + _globals['_AGGREGATEFUNCTION']._serialized_end = 28741 + _globals['_AGGREGATEFUNCTION_AGGREGATIONINVOCATION']._serialized_start = 28609 + _globals['_AGGREGATEFUNCTION_AGGREGATIONINVOCATION']._serialized_end = 28741 + _globals['_REFERENCEREL']._serialized_start = 28743 + _globals['_REFERENCEREL']._serialized_end = 28798 \ No newline at end of file diff --git a/src/substrait/gen/proto/algebra_pb2.pyi b/src/substrait/gen/proto/algebra_pb2.pyi index 739e538..16867fc 100644 --- a/src/substrait/gen/proto/algebra_pb2.pyi +++ b/src/substrait/gen/proto/algebra_pb2.pyi @@ -87,6 +87,24 @@ class RelCommon(google.protobuf.message.Message): """ DESCRIPTOR: google.protobuf.descriptor.Descriptor + class _ComputationType: + ValueType = typing.NewType('ValueType', builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ComputationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RelCommon.Hint._ComputationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + COMPUTATION_TYPE_UNSPECIFIED: RelCommon.Hint._ComputationType.ValueType + COMPUTATION_TYPE_HASHTABLE: RelCommon.Hint._ComputationType.ValueType + COMPUTATION_TYPE_BLOOM_FILTER: RelCommon.Hint._ComputationType.ValueType + COMPUTATION_TYPE_UNKNOWN: RelCommon.Hint._ComputationType.ValueType + + class ComputationType(_ComputationType, metaclass=_ComputationTypeEnumTypeWrapper): + ... + COMPUTATION_TYPE_UNSPECIFIED: RelCommon.Hint.ComputationType.ValueType + COMPUTATION_TYPE_HASHTABLE: RelCommon.Hint.ComputationType.ValueType + COMPUTATION_TYPE_BLOOM_FILTER: RelCommon.Hint.ComputationType.ValueType + COMPUTATION_TYPE_UNKNOWN: RelCommon.Hint.ComputationType.ValueType + @typing_extensions.final class Stats(google.protobuf.message.Message): """The statistics related to a hint (physical properties of records)""" @@ -128,11 +146,45 @@ class RelCommon(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension']) -> None: ... + + @typing_extensions.final + class SavedComputation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + COMPUTATION_ID_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + computation_id: builtins.int + 'The value corresponds to a plan unique number for that datastructure. Any particular\n computation may be saved only once but it may be loaded multiple times.\n ' + type: global___RelCommon.Hint.ComputationType.ValueType + 'The type of this computation. While a plan may use COMPUTATION_TYPE_UNKNOWN for all\n of its types it is recommended to use a more specific type so that the optimization\n is more portable. The consumer should be able to decide if an unknown type here\n matches the same unknown type at a different plan and ignore the optimization if they\n are mismatched.\n ' + + def __init__(self, *, computation_id: builtins.int=..., type: global___RelCommon.Hint.ComputationType.ValueType=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['computation_id', b'computation_id', 'type', b'type']) -> None: + ... + + @typing_extensions.final + class LoadedComputation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + COMPUTATION_ID_REFERENCE_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + computation_id_reference: builtins.int + 'The value corresponds to a plan unique number for that datastructure. Any particular\n computation may be saved only once but it may be loaded multiple times.\n ' + type: global___RelCommon.Hint.ComputationType.ValueType + 'The type of this computation. While a plan may use COMPUTATION_TYPE_UNKNOWN for all\n of its types it is recommended to use a more specific type so that the optimization\n is more portable. The consumer should be able to decide if an unknown type here\n matches the same unknown type at a different plan and ignore the optimization if they\n are mismatched.\n ' + + def __init__(self, *, computation_id_reference: builtins.int=..., type: global___RelCommon.Hint.ComputationType.ValueType=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['computation_id_reference', b'computation_id_reference', 'type', b'type']) -> None: + ... STATS_FIELD_NUMBER: builtins.int CONSTRAINT_FIELD_NUMBER: builtins.int ALIAS_FIELD_NUMBER: builtins.int OUTPUT_NAMES_FIELD_NUMBER: builtins.int ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int + SAVED_COMPUTATIONS_FIELD_NUMBER: builtins.int + LOADED_COMPUTATIONS_FIELD_NUMBER: builtins.int @property def stats(self) -> global___RelCommon.Hint.Stats: @@ -154,13 +206,24 @@ class RelCommon(google.protobuf.message.Message): def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__(self, *, stats: global___RelCommon.Hint.Stats | None=..., constraint: global___RelCommon.Hint.RuntimeConstraint | None=..., alias: builtins.str=..., output_names: collections.abc.Iterable[builtins.str] | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: + @property + def saved_computations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RelCommon.Hint.SavedComputation]: + """Save or load a system-specific computation for use in optimizing a remote operation. + The anchor refers to the source/destination of the computation. The computation type + and number refer to the current relation. + """ + + @property + def loaded_computations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RelCommon.Hint.LoadedComputation]: + ... + + def __init__(self, *, stats: global___RelCommon.Hint.Stats | None=..., constraint: global___RelCommon.Hint.RuntimeConstraint | None=..., alias: builtins.str=..., output_names: collections.abc.Iterable[builtins.str] | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=..., saved_computations: collections.abc.Iterable[global___RelCommon.Hint.SavedComputation] | None=..., loaded_computations: collections.abc.Iterable[global___RelCommon.Hint.LoadedComputation] | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'constraint', b'constraint', 'stats', b'stats']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'alias', b'alias', 'constraint', b'constraint', 'output_names', b'output_names', 'stats', b'stats']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'alias', b'alias', 'constraint', b'constraint', 'loaded_computations', b'loaded_computations', 'output_names', b'output_names', 'saved_computations', b'saved_computations', 'stats', b'stats']) -> None: ... DIRECT_FIELD_NUMBER: builtins.int EMIT_FIELD_NUMBER: builtins.int @@ -227,20 +290,73 @@ class ReadRel(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'names', b'names']) -> None: ... + @typing_extensions.final + class IcebergTable(google.protobuf.message.Message): + """Read an Iceberg Table""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing_extensions.final + class MetadataFileRead(google.protobuf.message.Message): + """Read an Iceberg table using a metadata file. Implicit assumption: required credentials are already known by plan consumer.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + METADATA_URI_FIELD_NUMBER: builtins.int + SNAPSHOT_ID_FIELD_NUMBER: builtins.int + SNAPSHOT_TIMESTAMP_FIELD_NUMBER: builtins.int + metadata_uri: builtins.str + 'the specific uri of a metadata file (e.g. s3://mybucket/mytable/-.metadata.json)' + snapshot_id: builtins.str + 'the snapshot id to read.' + snapshot_timestamp: builtins.int + 'the timestamp that should be used to select the snapshot (Time passed in microseconds since 1970-01-01 00:00:00.000000 in UTC)' + + def __init__(self, *, metadata_uri: builtins.str=..., snapshot_id: builtins.str=..., snapshot_timestamp: builtins.int=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['snapshot', b'snapshot', 'snapshot_id', b'snapshot_id', 'snapshot_timestamp', b'snapshot_timestamp']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['metadata_uri', b'metadata_uri', 'snapshot', b'snapshot', 'snapshot_id', b'snapshot_id', 'snapshot_timestamp', b'snapshot_timestamp']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['snapshot', b'snapshot']) -> typing_extensions.Literal['snapshot_id', 'snapshot_timestamp'] | None: + ... + DIRECT_FIELD_NUMBER: builtins.int + + @property + def direct(self) -> global___ReadRel.IcebergTable.MetadataFileRead: + """future: add catalog table types (e.g. rest api, latest metadata in path, etc)""" + + def __init__(self, *, direct: global___ReadRel.IcebergTable.MetadataFileRead | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['direct', b'direct', 'table_type', b'table_type']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['direct', b'direct', 'table_type', b'table_type']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['table_type', b'table_type']) -> typing_extensions.Literal['direct'] | None: + ... + @typing_extensions.final class VirtualTable(google.protobuf.message.Message): - """A table composed of literals.""" + """A table composed of expressions.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor VALUES_FIELD_NUMBER: builtins.int + EXPRESSIONS_FIELD_NUMBER: builtins.int @property def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expression.Literal.Struct]: ... - def __init__(self, *, values: collections.abc.Iterable[global___Expression.Literal.Struct] | None=...) -> None: + @property + def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expression.Nested.Struct]: ... - def ClearField(self, field_name: typing_extensions.Literal['values', b'values']) -> None: + def __init__(self, *, values: collections.abc.Iterable[global___Expression.Literal.Struct] | None=..., expressions: collections.abc.Iterable[global___Expression.Nested.Struct] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['expressions', b'expressions', 'values', b'values']) -> None: ... @typing_extensions.final @@ -440,6 +556,7 @@ class ReadRel(google.protobuf.message.Message): LOCAL_FILES_FIELD_NUMBER: builtins.int NAMED_TABLE_FIELD_NUMBER: builtins.int EXTENSION_TABLE_FIELD_NUMBER: builtins.int + ICEBERG_TABLE_FIELD_NUMBER: builtins.int @property def common(self) -> global___RelCommon: @@ -481,16 +598,20 @@ class ReadRel(google.protobuf.message.Message): def extension_table(self) -> global___ReadRel.ExtensionTable: ... - def __init__(self, *, common: global___RelCommon | None=..., base_schema: proto.type_pb2.NamedStruct | None=..., filter: global___Expression | None=..., best_effort_filter: global___Expression | None=..., projection: global___Expression.MaskExpression | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=..., virtual_table: global___ReadRel.VirtualTable | None=..., local_files: global___ReadRel.LocalFiles | None=..., named_table: global___ReadRel.NamedTable | None=..., extension_table: global___ReadRel.ExtensionTable | None=...) -> None: + @property + def iceberg_table(self) -> global___ReadRel.IcebergTable: + ... + + def __init__(self, *, common: global___RelCommon | None=..., base_schema: proto.type_pb2.NamedStruct | None=..., filter: global___Expression | None=..., best_effort_filter: global___Expression | None=..., projection: global___Expression.MaskExpression | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=..., virtual_table: global___ReadRel.VirtualTable | None=..., local_files: global___ReadRel.LocalFiles | None=..., named_table: global___ReadRel.NamedTable | None=..., extension_table: global___ReadRel.ExtensionTable | None=..., iceberg_table: global___ReadRel.IcebergTable | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'base_schema', b'base_schema', 'best_effort_filter', b'best_effort_filter', 'common', b'common', 'extension_table', b'extension_table', 'filter', b'filter', 'local_files', b'local_files', 'named_table', b'named_table', 'projection', b'projection', 'read_type', b'read_type', 'virtual_table', b'virtual_table']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'base_schema', b'base_schema', 'best_effort_filter', b'best_effort_filter', 'common', b'common', 'extension_table', b'extension_table', 'filter', b'filter', 'iceberg_table', b'iceberg_table', 'local_files', b'local_files', 'named_table', b'named_table', 'projection', b'projection', 'read_type', b'read_type', 'virtual_table', b'virtual_table']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'base_schema', b'base_schema', 'best_effort_filter', b'best_effort_filter', 'common', b'common', 'extension_table', b'extension_table', 'filter', b'filter', 'local_files', b'local_files', 'named_table', b'named_table', 'projection', b'projection', 'read_type', b'read_type', 'virtual_table', b'virtual_table']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'base_schema', b'base_schema', 'best_effort_filter', b'best_effort_filter', 'common', b'common', 'extension_table', b'extension_table', 'filter', b'filter', 'iceberg_table', b'iceberg_table', 'local_files', b'local_files', 'named_table', b'named_table', 'projection', b'projection', 'read_type', b'read_type', 'virtual_table', b'virtual_table']) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['read_type', b'read_type']) -> typing_extensions.Literal['virtual_table', 'local_files', 'named_table', 'extension_table'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['read_type', b'read_type']) -> typing_extensions.Literal['virtual_table', 'local_files', 'named_table', 'extension_table', 'iceberg_table'] | None: ... global___ReadRel = ReadRel @@ -654,7 +775,9 @@ class FetchRel(google.protobuf.message.Message): COMMON_FIELD_NUMBER: builtins.int INPUT_FIELD_NUMBER: builtins.int OFFSET_FIELD_NUMBER: builtins.int + OFFSET_EXPR_FIELD_NUMBER: builtins.int COUNT_FIELD_NUMBER: builtins.int + COUNT_EXPR_FIELD_NUMBER: builtins.int ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int @property @@ -665,21 +788,46 @@ class FetchRel(google.protobuf.message.Message): def input(self) -> global___Rel: ... offset: builtins.int - 'the offset expressed in number of records' + 'the offset expressed in number of records\n Deprecated: use `offset_expr` instead\n ' + + @property + def offset_expr(self) -> global___Expression: + """Expression evaluated into a non-negative integer specifying the number + of records to skip. An expression evaluating to null is treated as 0. + Evaluating to a negative integer should result in an error. + Recommended type for offset is int64. + """ count: builtins.int - 'the amount of records to return\n use -1 to signal that ALL records should be returned\n ' + 'the amount of records to return\n use -1 to signal that ALL records should be returned\n Deprecated: use `count_expr` instead\n ' + + @property + def count_expr(self) -> global___Expression: + """Expression evaluated into a non-negative integer specifying the number + of records to return. An expression evaluating to null signals that ALL + records should be returned. + Evaluating to a negative integer should result in an error. + Recommended type for count is int64. + """ @property def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__(self, *, common: global___RelCommon | None=..., input: global___Rel | None=..., offset: builtins.int=..., count: builtins.int=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: + def __init__(self, *, common: global___RelCommon | None=..., input: global___Rel | None=..., offset: builtins.int=..., offset_expr: global___Expression | None=..., count: builtins.int=..., count_expr: global___Expression | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'input', b'input']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'count', b'count', 'count_expr', b'count_expr', 'count_mode', b'count_mode', 'input', b'input', 'offset', b'offset', 'offset_expr', b'offset_expr', 'offset_mode', b'offset_mode']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'count', b'count', 'count_expr', b'count_expr', 'count_mode', b'count_mode', 'input', b'input', 'offset', b'offset', 'offset_expr', b'offset_expr', 'offset_mode', b'offset_mode']) -> None: + ... + + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal['count_mode', b'count_mode']) -> typing_extensions.Literal['count', 'count_expr'] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'count', b'count', 'input', b'input', 'offset', b'offset']) -> None: + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal['offset_mode', b'offset_mode']) -> typing_extensions.Literal['offset', 'offset_expr'] | None: ... global___FetchRel = FetchRel @@ -692,15 +840,22 @@ class AggregateRel(google.protobuf.message.Message): class Grouping(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor GROUPING_EXPRESSIONS_FIELD_NUMBER: builtins.int + EXPRESSION_REFERENCES_FIELD_NUMBER: builtins.int @property def grouping_expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expression]: - ... + """Deprecated in favor of `expression_references` below.""" - def __init__(self, *, grouping_expressions: collections.abc.Iterable[global___Expression] | None=...) -> None: + @property + def expression_references(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: + """A list of zero or more references to grouping expressions, i.e., indices + into the `grouping_expression` list. + """ + + def __init__(self, *, grouping_expressions: collections.abc.Iterable[global___Expression] | None=..., expression_references: collections.abc.Iterable[builtins.int] | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['grouping_expressions', b'grouping_expressions']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['expression_references', b'expression_references', 'grouping_expressions', b'grouping_expressions']) -> None: ... @typing_extensions.final @@ -733,6 +888,7 @@ class AggregateRel(google.protobuf.message.Message): INPUT_FIELD_NUMBER: builtins.int GROUPINGS_FIELD_NUMBER: builtins.int MEASURES_FIELD_NUMBER: builtins.int + GROUPING_EXPRESSIONS_FIELD_NUMBER: builtins.int ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int @property @@ -745,8 +901,9 @@ class AggregateRel(google.protobuf.message.Message): @property def groupings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AggregateRel.Grouping]: - """A list of one or more grouping expression sets that the aggregation measures should be calculated for. - Required if there are no measures. + """A list of zero or more grouping sets that the aggregation measures should + be calculated for. There must be at least one grouping set if there are no + measures (but it can be the empty grouping set). """ @property @@ -755,17 +912,25 @@ class AggregateRel(google.protobuf.message.Message): Required if there are no groupings. """ + @property + def grouping_expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expression]: + """A list of zero or more grouping expressions that grouping sets (i.e., + `Grouping` messages in the `groupings` field) can reference. Each + expression in this list must be referred to by at least one + `Grouping.expression_references`. + """ + @property def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: ... - def __init__(self, *, common: global___RelCommon | None=..., input: global___Rel | None=..., groupings: collections.abc.Iterable[global___AggregateRel.Grouping] | None=..., measures: collections.abc.Iterable[global___AggregateRel.Measure] | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: + def __init__(self, *, common: global___RelCommon | None=..., input: global___Rel | None=..., groupings: collections.abc.Iterable[global___AggregateRel.Grouping] | None=..., measures: collections.abc.Iterable[global___AggregateRel.Measure] | None=..., grouping_expressions: collections.abc.Iterable[global___Expression] | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'input', b'input']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'groupings', b'groupings', 'input', b'input', 'measures', b'measures']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'grouping_expressions', b'grouping_expressions', 'groupings', b'groupings', 'input', b'input', 'measures', b'measures']) -> None: ... global___AggregateRel = AggregateRel @@ -950,9 +1115,11 @@ class SetRel(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor SET_OP_UNSPECIFIED: SetRel._SetOp.ValueType SET_OP_MINUS_PRIMARY: SetRel._SetOp.ValueType + SET_OP_MINUS_PRIMARY_ALL: SetRel._SetOp.ValueType SET_OP_MINUS_MULTISET: SetRel._SetOp.ValueType SET_OP_INTERSECTION_PRIMARY: SetRel._SetOp.ValueType SET_OP_INTERSECTION_MULTISET: SetRel._SetOp.ValueType + SET_OP_INTERSECTION_MULTISET_ALL: SetRel._SetOp.ValueType SET_OP_UNION_DISTINCT: SetRel._SetOp.ValueType SET_OP_UNION_ALL: SetRel._SetOp.ValueType @@ -960,9 +1127,11 @@ class SetRel(google.protobuf.message.Message): ... SET_OP_UNSPECIFIED: SetRel.SetOp.ValueType SET_OP_MINUS_PRIMARY: SetRel.SetOp.ValueType + SET_OP_MINUS_PRIMARY_ALL: SetRel.SetOp.ValueType SET_OP_MINUS_MULTISET: SetRel.SetOp.ValueType SET_OP_INTERSECTION_PRIMARY: SetRel.SetOp.ValueType SET_OP_INTERSECTION_MULTISET: SetRel.SetOp.ValueType + SET_OP_INTERSECTION_MULTISET_ALL: SetRel.SetOp.ValueType SET_OP_UNION_DISTINCT: SetRel.SetOp.ValueType SET_OP_UNION_ALL: SetRel.SetOp.ValueType COMMON_FIELD_NUMBER: builtins.int @@ -1387,6 +1556,7 @@ class Rel(google.protobuf.message.Message): REFERENCE_FIELD_NUMBER: builtins.int WRITE_FIELD_NUMBER: builtins.int DDL_FIELD_NUMBER: builtins.int + UPDATE_FIELD_NUMBER: builtins.int HASH_JOIN_FIELD_NUMBER: builtins.int MERGE_JOIN_FIELD_NUMBER: builtins.int NESTED_LOOP_JOIN_FIELD_NUMBER: builtins.int @@ -1454,6 +1624,10 @@ class Rel(google.protobuf.message.Message): def ddl(self) -> global___DdlRel: ... + @property + def update(self) -> global___UpdateRel: + ... + @property def hash_join(self) -> global___HashJoinRel: """Physical relations""" @@ -1478,16 +1652,16 @@ class Rel(google.protobuf.message.Message): def expand(self) -> global___ExpandRel: ... - def __init__(self, *, read: global___ReadRel | None=..., filter: global___FilterRel | None=..., fetch: global___FetchRel | None=..., aggregate: global___AggregateRel | None=..., sort: global___SortRel | None=..., join: global___JoinRel | None=..., project: global___ProjectRel | None=..., set: global___SetRel | None=..., extension_single: global___ExtensionSingleRel | None=..., extension_multi: global___ExtensionMultiRel | None=..., extension_leaf: global___ExtensionLeafRel | None=..., cross: global___CrossRel | None=..., reference: global___ReferenceRel | None=..., write: global___WriteRel | None=..., ddl: global___DdlRel | None=..., hash_join: global___HashJoinRel | None=..., merge_join: global___MergeJoinRel | None=..., nested_loop_join: global___NestedLoopJoinRel | None=..., window: global___ConsistentPartitionWindowRel | None=..., exchange: global___ExchangeRel | None=..., expand: global___ExpandRel | None=...) -> None: + def __init__(self, *, read: global___ReadRel | None=..., filter: global___FilterRel | None=..., fetch: global___FetchRel | None=..., aggregate: global___AggregateRel | None=..., sort: global___SortRel | None=..., join: global___JoinRel | None=..., project: global___ProjectRel | None=..., set: global___SetRel | None=..., extension_single: global___ExtensionSingleRel | None=..., extension_multi: global___ExtensionMultiRel | None=..., extension_leaf: global___ExtensionLeafRel | None=..., cross: global___CrossRel | None=..., reference: global___ReferenceRel | None=..., write: global___WriteRel | None=..., ddl: global___DdlRel | None=..., update: global___UpdateRel | None=..., hash_join: global___HashJoinRel | None=..., merge_join: global___MergeJoinRel | None=..., nested_loop_join: global___NestedLoopJoinRel | None=..., window: global___ConsistentPartitionWindowRel | None=..., exchange: global___ExchangeRel | None=..., expand: global___ExpandRel | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['aggregate', b'aggregate', 'cross', b'cross', 'ddl', b'ddl', 'exchange', b'exchange', 'expand', b'expand', 'extension_leaf', b'extension_leaf', 'extension_multi', b'extension_multi', 'extension_single', b'extension_single', 'fetch', b'fetch', 'filter', b'filter', 'hash_join', b'hash_join', 'join', b'join', 'merge_join', b'merge_join', 'nested_loop_join', b'nested_loop_join', 'project', b'project', 'read', b'read', 'reference', b'reference', 'rel_type', b'rel_type', 'set', b'set', 'sort', b'sort', 'window', b'window', 'write', b'write']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['aggregate', b'aggregate', 'cross', b'cross', 'ddl', b'ddl', 'exchange', b'exchange', 'expand', b'expand', 'extension_leaf', b'extension_leaf', 'extension_multi', b'extension_multi', 'extension_single', b'extension_single', 'fetch', b'fetch', 'filter', b'filter', 'hash_join', b'hash_join', 'join', b'join', 'merge_join', b'merge_join', 'nested_loop_join', b'nested_loop_join', 'project', b'project', 'read', b'read', 'reference', b'reference', 'rel_type', b'rel_type', 'set', b'set', 'sort', b'sort', 'update', b'update', 'window', b'window', 'write', b'write']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['aggregate', b'aggregate', 'cross', b'cross', 'ddl', b'ddl', 'exchange', b'exchange', 'expand', b'expand', 'extension_leaf', b'extension_leaf', 'extension_multi', b'extension_multi', 'extension_single', b'extension_single', 'fetch', b'fetch', 'filter', b'filter', 'hash_join', b'hash_join', 'join', b'join', 'merge_join', b'merge_join', 'nested_loop_join', b'nested_loop_join', 'project', b'project', 'read', b'read', 'reference', b'reference', 'rel_type', b'rel_type', 'set', b'set', 'sort', b'sort', 'window', b'window', 'write', b'write']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['aggregate', b'aggregate', 'cross', b'cross', 'ddl', b'ddl', 'exchange', b'exchange', 'expand', b'expand', 'extension_leaf', b'extension_leaf', 'extension_multi', b'extension_multi', 'extension_single', b'extension_single', 'fetch', b'fetch', 'filter', b'filter', 'hash_join', b'hash_join', 'join', b'join', 'merge_join', b'merge_join', 'nested_loop_join', b'nested_loop_join', 'project', b'project', 'read', b'read', 'reference', b'reference', 'rel_type', b'rel_type', 'set', b'set', 'sort', b'sort', 'update', b'update', 'window', b'window', 'write', b'write']) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['rel_type', b'rel_type']) -> typing_extensions.Literal['read', 'filter', 'fetch', 'aggregate', 'sort', 'join', 'project', 'set', 'extension_single', 'extension_multi', 'extension_leaf', 'cross', 'reference', 'write', 'ddl', 'hash_join', 'merge_join', 'nested_loop_join', 'window', 'exchange', 'expand'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['rel_type', b'rel_type']) -> typing_extensions.Literal['read', 'filter', 'fetch', 'aggregate', 'sort', 'join', 'project', 'set', 'extension_single', 'extension_multi', 'extension_leaf', 'cross', 'reference', 'write', 'ddl', 'update', 'hash_join', 'merge_join', 'nested_loop_join', 'window', 'exchange', 'expand'] | None: ... global___Rel = Rel @@ -1603,6 +1777,7 @@ class DdlRel(google.protobuf.message.Message): OP_FIELD_NUMBER: builtins.int VIEW_DEFINITION_FIELD_NUMBER: builtins.int COMMON_FIELD_NUMBER: builtins.int + ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int @property def named_object(self) -> global___NamedObjectWrite: @@ -1636,13 +1811,17 @@ class DdlRel(google.protobuf.message.Message): def common(self) -> global___RelCommon: ... - def __init__(self, *, named_object: global___NamedObjectWrite | None=..., extension_object: global___ExtensionObject | None=..., table_schema: proto.type_pb2.NamedStruct | None=..., table_defaults: global___Expression.Literal.Struct | None=..., object: global___DdlRel.DdlObject.ValueType=..., op: global___DdlRel.DdlOp.ValueType=..., view_definition: global___Rel | None=..., common: global___RelCommon | None=...) -> None: + @property + def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: ... - def HasField(self, field_name: typing_extensions.Literal['common', b'common', 'extension_object', b'extension_object', 'named_object', b'named_object', 'table_defaults', b'table_defaults', 'table_schema', b'table_schema', 'view_definition', b'view_definition', 'write_type', b'write_type']) -> builtins.bool: + def __init__(self, *, named_object: global___NamedObjectWrite | None=..., extension_object: global___ExtensionObject | None=..., table_schema: proto.type_pb2.NamedStruct | None=..., table_defaults: global___Expression.Literal.Struct | None=..., object: global___DdlRel.DdlObject.ValueType=..., op: global___DdlRel.DdlOp.ValueType=..., view_definition: global___Rel | None=..., common: global___RelCommon | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['common', b'common', 'extension_object', b'extension_object', 'named_object', b'named_object', 'object', b'object', 'op', b'op', 'table_defaults', b'table_defaults', 'table_schema', b'table_schema', 'view_definition', b'view_definition', 'write_type', b'write_type']) -> None: + def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'extension_object', b'extension_object', 'named_object', b'named_object', 'table_defaults', b'table_defaults', 'table_schema', b'table_schema', 'view_definition', b'view_definition', 'write_type', b'write_type']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'extension_object', b'extension_object', 'named_object', b'named_object', 'object', b'object', 'op', b'op', 'table_defaults', b'table_defaults', 'table_schema', b'table_schema', 'view_definition', b'view_definition', 'write_type', b'write_type']) -> None: ... def WhichOneof(self, oneof_group: typing_extensions.Literal['write_type', b'write_type']) -> typing_extensions.Literal['named_object', 'extension_object'] | None: @@ -1684,6 +1863,34 @@ class WriteRel(google.protobuf.message.Message): WRITE_OP_CTAS: WriteRel.WriteOp.ValueType 'The Creation of a new table, and the insert of new records in the table' + class _CreateMode: + ValueType = typing.NewType('ValueType', builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CreateModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WriteRel._CreateMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CREATE_MODE_UNSPECIFIED: WriteRel._CreateMode.ValueType + CREATE_MODE_APPEND_IF_EXISTS: WriteRel._CreateMode.ValueType + 'Append the data to the table if it already exists' + CREATE_MODE_REPLACE_IF_EXISTS: WriteRel._CreateMode.ValueType + 'Replace the table if it already exists ("OR REPLACE")' + CREATE_MODE_IGNORE_IF_EXISTS: WriteRel._CreateMode.ValueType + 'Ignore the request if the table already exists ("IF NOT EXISTS")' + CREATE_MODE_ERROR_IF_EXISTS: WriteRel._CreateMode.ValueType + 'Throw an error if the table already exists (default behavior)' + + class CreateMode(_CreateMode, metaclass=_CreateModeEnumTypeWrapper): + ... + CREATE_MODE_UNSPECIFIED: WriteRel.CreateMode.ValueType + CREATE_MODE_APPEND_IF_EXISTS: WriteRel.CreateMode.ValueType + 'Append the data to the table if it already exists' + CREATE_MODE_REPLACE_IF_EXISTS: WriteRel.CreateMode.ValueType + 'Replace the table if it already exists ("OR REPLACE")' + CREATE_MODE_IGNORE_IF_EXISTS: WriteRel.CreateMode.ValueType + 'Ignore the request if the table already exists ("IF NOT EXISTS")' + CREATE_MODE_ERROR_IF_EXISTS: WriteRel.CreateMode.ValueType + 'Throw an error if the table already exists (default behavior)' + class _OutputMode: ValueType = typing.NewType('ValueType', builtins.int) V: typing_extensions.TypeAlias = ValueType @@ -1708,8 +1915,10 @@ class WriteRel(google.protobuf.message.Message): TABLE_SCHEMA_FIELD_NUMBER: builtins.int OP_FIELD_NUMBER: builtins.int INPUT_FIELD_NUMBER: builtins.int + CREATE_MODE_FIELD_NUMBER: builtins.int OUTPUT_FIELD_NUMBER: builtins.int COMMON_FIELD_NUMBER: builtins.int + ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int @property def named_table(self) -> global___NamedObjectWrite: @@ -1732,6 +1941,8 @@ class WriteRel(google.protobuf.message.Message): in a ProjectRel at the top of the input. The match must also occur in case of DELETE to ensure multi-engine plans are unequivocal. """ + create_mode: global___WriteRel.CreateMode.ValueType + 'Used with CTAS to determine what to do if the table already exists' output: global___WriteRel.OutputMode.ValueType 'Output mode determines what is the output of executing this rel' @@ -1739,19 +1950,114 @@ class WriteRel(google.protobuf.message.Message): def common(self) -> global___RelCommon: ... - def __init__(self, *, named_table: global___NamedObjectWrite | None=..., extension_table: global___ExtensionObject | None=..., table_schema: proto.type_pb2.NamedStruct | None=..., op: global___WriteRel.WriteOp.ValueType=..., input: global___Rel | None=..., output: global___WriteRel.OutputMode.ValueType=..., common: global___RelCommon | None=...) -> None: + @property + def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: ... - def HasField(self, field_name: typing_extensions.Literal['common', b'common', 'extension_table', b'extension_table', 'input', b'input', 'named_table', b'named_table', 'table_schema', b'table_schema', 'write_type', b'write_type']) -> builtins.bool: + def __init__(self, *, named_table: global___NamedObjectWrite | None=..., extension_table: global___ExtensionObject | None=..., table_schema: proto.type_pb2.NamedStruct | None=..., op: global___WriteRel.WriteOp.ValueType=..., input: global___Rel | None=..., create_mode: global___WriteRel.CreateMode.ValueType=..., output: global___WriteRel.OutputMode.ValueType=..., common: global___RelCommon | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['common', b'common', 'extension_table', b'extension_table', 'input', b'input', 'named_table', b'named_table', 'op', b'op', 'output', b'output', 'table_schema', b'table_schema', 'write_type', b'write_type']) -> None: + def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'extension_table', b'extension_table', 'input', b'input', 'named_table', b'named_table', 'table_schema', b'table_schema', 'write_type', b'write_type']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'common', b'common', 'create_mode', b'create_mode', 'extension_table', b'extension_table', 'input', b'input', 'named_table', b'named_table', 'op', b'op', 'output', b'output', 'table_schema', b'table_schema', 'write_type', b'write_type']) -> None: ... def WhichOneof(self, oneof_group: typing_extensions.Literal['write_type', b'write_type']) -> typing_extensions.Literal['named_table', 'extension_table'] | None: ... global___WriteRel = WriteRel +@typing_extensions.final +class UpdateRel(google.protobuf.message.Message): + """The operator that modifies the columns of a table""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing_extensions.final + class TransformExpression(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + TRANSFORMATION_FIELD_NUMBER: builtins.int + COLUMN_TARGET_FIELD_NUMBER: builtins.int + + @property + def transformation(self) -> global___Expression: + """the transformation to apply""" + column_target: builtins.int + 'index of the column to apply the transformation to' + + def __init__(self, *, transformation: global___Expression | None=..., column_target: builtins.int=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['transformation', b'transformation']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['column_target', b'column_target', 'transformation', b'transformation']) -> None: + ... + NAMED_TABLE_FIELD_NUMBER: builtins.int + TABLE_SCHEMA_FIELD_NUMBER: builtins.int + CONDITION_FIELD_NUMBER: builtins.int + TRANSFORMATIONS_FIELD_NUMBER: builtins.int + ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int + + @property + def named_table(self) -> global___NamedTable: + ... + + @property + def table_schema(self) -> proto.type_pb2.NamedStruct: + """The full schema of the named_table""" + + @property + def condition(self) -> global___Expression: + """condition to be met for the update to be applied on a record""" + + @property + def transformations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UpdateRel.TransformExpression]: + """The list of transformations to apply to the columns of the named_table""" + + @property + def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: + ... + + def __init__(self, *, named_table: global___NamedTable | None=..., table_schema: proto.type_pb2.NamedStruct | None=..., condition: global___Expression | None=..., transformations: collections.abc.Iterable[global___UpdateRel.TransformExpression] | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'condition', b'condition', 'named_table', b'named_table', 'table_schema', b'table_schema', 'update_type', b'update_type']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'condition', b'condition', 'named_table', b'named_table', 'table_schema', b'table_schema', 'transformations', b'transformations', 'update_type', b'update_type']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['update_type', b'update_type']) -> typing_extensions.Literal['named_table'] | None: + ... +global___UpdateRel = UpdateRel + +@typing_extensions.final +class NamedTable(google.protobuf.message.Message): + """A base table. The list of string is used to represent namespacing (e.g., mydb.mytable). + This assumes shared catalog between systems exchanging a message. + """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAMES_FIELD_NUMBER: builtins.int + ADVANCED_EXTENSION_FIELD_NUMBER: builtins.int + + @property + def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + ... + + @property + def advanced_extension(self) -> proto.extensions.extensions_pb2.AdvancedExtension: + ... + + def __init__(self, *, names: collections.abc.Iterable[builtins.str] | None=..., advanced_extension: proto.extensions.extensions_pb2.AdvancedExtension | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['advanced_extension', b'advanced_extension', 'names', b'names']) -> None: + ... +global___NamedTable = NamedTable + @typing_extensions.final class ComparisonJoinKey(google.protobuf.message.Message): """Hash joins and merge joins are a specialization of the general join where the join diff --git a/src/substrait/gen/proto/capabilities_pb2.py b/src/substrait/gen/proto/capabilities_pb2.py index 94872f4..462552d 100644 --- a/src/substrait/gen/proto/capabilities_pb2.py +++ b/src/substrait/gen/proto/capabilities_pb2.py @@ -1,16 +1,17 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18proto/capabilities.proto\x12\x05proto"\xe8\x02\n\x0cCapabilities\x12-\n\x12substrait_versions\x18\x01 \x03(\tR\x11substraitVersions\x12?\n\x1cadvanced_extension_type_urls\x18\x02 \x03(\tR\x19advancedExtensionTypeUrls\x12P\n\x11simple_extensions\x18\x03 \x03(\x0b2#.proto.Capabilities.SimpleExtensionR\x10simpleExtensions\x1a\x95\x01\n\x0fSimpleExtension\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12#\n\rfunction_keys\x18\x02 \x03(\tR\x0cfunctionKeys\x12\x1b\n\ttype_keys\x18\x03 \x03(\tR\x08typeKeys\x12.\n\x13type_variation_keys\x18\x04 \x03(\tR\x11typeVariationKeysB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.capabilities_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.capabilities_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _CAPABILITIES._serialized_start = 36 - _CAPABILITIES._serialized_end = 396 - _CAPABILITIES_SIMPLEEXTENSION._serialized_start = 247 - _CAPABILITIES_SIMPLEEXTENSION._serialized_end = 396 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_CAPABILITIES']._serialized_start = 36 + _globals['_CAPABILITIES']._serialized_end = 396 + _globals['_CAPABILITIES_SIMPLEEXTENSION']._serialized_start = 247 + _globals['_CAPABILITIES_SIMPLEEXTENSION']._serialized_end = 396 \ No newline at end of file diff --git a/src/substrait/gen/proto/extended_expression_pb2.py b/src/substrait/gen/proto/extended_expression_pb2.py index 19ec4c5..864e663 100644 --- a/src/substrait/gen/proto/extended_expression_pb2.py +++ b/src/substrait/gen/proto/extended_expression_pb2.py @@ -1,20 +1,21 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from ..proto import algebra_pb2 as proto_dot_algebra__pb2 from ..proto.extensions import extensions_pb2 as proto_dot_extensions_dot_extensions__pb2 from ..proto import plan_pb2 as proto_dot_plan__pb2 from ..proto import type_pb2 as proto_dot_type__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fproto/extended_expression.proto\x12\x05proto\x1a\x13proto/algebra.proto\x1a!proto/extensions/extensions.proto\x1a\x10proto/plan.proto\x1a\x10proto/type.proto"\xb0\x01\n\x13ExpressionReference\x123\n\nexpression\x18\x01 \x01(\x0b2\x11.proto.ExpressionH\x00R\nexpression\x124\n\x07measure\x18\x02 \x01(\x0b2\x18.proto.AggregateFunctionH\x00R\x07measure\x12!\n\x0coutput_names\x18\x03 \x03(\tR\x0boutputNamesB\x0b\n\texpr_type"\xd3\x03\n\x12ExtendedExpression\x12(\n\x07version\x18\x07 \x01(\x0b2\x0e.proto.VersionR\x07version\x12K\n\x0eextension_uris\x18\x01 \x03(\x0b2$.proto.extensions.SimpleExtensionURIR\rextensionUris\x12L\n\nextensions\x18\x02 \x03(\x0b2,.proto.extensions.SimpleExtensionDeclarationR\nextensions\x12?\n\rreferred_expr\x18\x03 \x03(\x0b2\x1a.proto.ExpressionReferenceR\x0creferredExpr\x123\n\x0bbase_schema\x18\x04 \x01(\x0b2\x12.proto.NamedStructR\nbaseSchema\x12T\n\x13advanced_extensions\x18\x05 \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x12advancedExtensions\x12,\n\x12expected_type_urls\x18\x06 \x03(\tR\x10expectedTypeUrlsB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.extended_expression_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.extended_expression_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _EXPRESSIONREFERENCE._serialized_start = 135 - _EXPRESSIONREFERENCE._serialized_end = 311 - _EXTENDEDEXPRESSION._serialized_start = 314 - _EXTENDEDEXPRESSION._serialized_end = 781 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_EXPRESSIONREFERENCE']._serialized_start = 135 + _globals['_EXPRESSIONREFERENCE']._serialized_end = 311 + _globals['_EXTENDEDEXPRESSION']._serialized_start = 314 + _globals['_EXTENDEDEXPRESSION']._serialized_end = 781 \ No newline at end of file diff --git a/src/substrait/gen/proto/extensions/extensions_pb2.py b/src/substrait/gen/proto/extensions/extensions_pb2.py index d82756e..1018893 100644 --- a/src/substrait/gen/proto/extensions/extensions_pb2.py +++ b/src/substrait/gen/proto/extensions/extensions_pb2.py @@ -1,25 +1,26 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!proto/extensions/extensions.proto\x12\x10proto.extensions\x1a\x19google/protobuf/any.proto"X\n\x12SimpleExtensionURI\x120\n\x14extension_uri_anchor\x18\x01 \x01(\rR\x12extensionUriAnchor\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri"\xa7\x06\n\x1aSimpleExtensionDeclaration\x12c\n\x0eextension_type\x18\x01 \x01(\x0b2:.proto.extensions.SimpleExtensionDeclaration.ExtensionTypeH\x00R\rextensionType\x12\x7f\n\x18extension_type_variation\x18\x02 \x01(\x0b2C.proto.extensions.SimpleExtensionDeclaration.ExtensionTypeVariationH\x00R\x16extensionTypeVariation\x12o\n\x12extension_function\x18\x03 \x01(\x0b2>.proto.extensions.SimpleExtensionDeclaration.ExtensionFunctionH\x00R\x11extensionFunction\x1a|\n\rExtensionType\x126\n\x17extension_uri_reference\x18\x01 \x01(\rR\x15extensionUriReference\x12\x1f\n\x0btype_anchor\x18\x02 \x01(\rR\ntypeAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x1a\x98\x01\n\x16ExtensionTypeVariation\x126\n\x17extension_uri_reference\x18\x01 \x01(\rR\x15extensionUriReference\x122\n\x15type_variation_anchor\x18\x02 \x01(\rR\x13typeVariationAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x1a\x88\x01\n\x11ExtensionFunction\x126\n\x17extension_uri_reference\x18\x01 \x01(\rR\x15extensionUriReference\x12\'\n\x0ffunction_anchor\x18\x02 \x01(\rR\x0efunctionAnchor\x12\x12\n\x04name\x18\x03 \x01(\tR\x04nameB\x0e\n\x0cmapping_type"\x85\x01\n\x11AdvancedExtension\x128\n\x0coptimization\x18\x01 \x03(\x0b2\x14.google.protobuf.AnyR\x0coptimization\x126\n\x0benhancement\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x0benhancementB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.extensions.extensions_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.extensions.extensions_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _SIMPLEEXTENSIONURI._serialized_start = 82 - _SIMPLEEXTENSIONURI._serialized_end = 170 - _SIMPLEEXTENSIONDECLARATION._serialized_start = 173 - _SIMPLEEXTENSIONDECLARATION._serialized_end = 980 - _SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE._serialized_start = 546 - _SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE._serialized_end = 670 - _SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION._serialized_start = 673 - _SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION._serialized_end = 825 - _SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION._serialized_start = 828 - _SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION._serialized_end = 964 - _ADVANCEDEXTENSION._serialized_start = 983 - _ADVANCEDEXTENSION._serialized_end = 1116 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_SIMPLEEXTENSIONURI']._serialized_start = 82 + _globals['_SIMPLEEXTENSIONURI']._serialized_end = 170 + _globals['_SIMPLEEXTENSIONDECLARATION']._serialized_start = 173 + _globals['_SIMPLEEXTENSIONDECLARATION']._serialized_end = 980 + _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE']._serialized_start = 546 + _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPE']._serialized_end = 670 + _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION']._serialized_start = 673 + _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONTYPEVARIATION']._serialized_end = 825 + _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION']._serialized_start = 828 + _globals['_SIMPLEEXTENSIONDECLARATION_EXTENSIONFUNCTION']._serialized_end = 964 + _globals['_ADVANCEDEXTENSION']._serialized_start = 983 + _globals['_ADVANCEDEXTENSION']._serialized_end = 1116 \ No newline at end of file diff --git a/src/substrait/gen/proto/function_pb2.py b/src/substrait/gen/proto/function_pb2.py index a76dbbd..0004d61 100644 --- a/src/substrait/gen/proto/function_pb2.py +++ b/src/substrait/gen/proto/function_pb2.py @@ -1,45 +1,46 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from ..proto import parameterized_types_pb2 as proto_dot_parameterized__types__pb2 from ..proto import type_pb2 as proto_dot_type__pb2 from ..proto import type_expressions_pb2 as proto_dot_type__expressions__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14proto/function.proto\x12\x05proto\x1a\x1fproto/parameterized_types.proto\x1a\x10proto/type.proto\x1a\x1cproto/type_expressions.proto"\xe9\x18\n\x11FunctionSignature\x1a\xb8\x02\n\x10FinalArgVariadic\x12\x19\n\x08min_args\x18\x01 \x01(\x03R\x07minArgs\x12\x19\n\x08max_args\x18\x02 \x01(\x03R\x07maxArgs\x12`\n\x0bconsistency\x18\x03 \x01(\x0e2>.proto.FunctionSignature.FinalArgVariadic.ParameterConsistencyR\x0bconsistency"\x8b\x01\n\x14ParameterConsistency\x12%\n!PARAMETER_CONSISTENCY_UNSPECIFIED\x10\x00\x12$\n PARAMETER_CONSISTENCY_CONSISTENT\x10\x01\x12&\n"PARAMETER_CONSISTENCY_INCONSISTENT\x10\x02\x1a\x10\n\x0eFinalArgNormal\x1a\xb0\x04\n\x06Scalar\x12?\n\targuments\x18\x02 \x03(\x0b2!.proto.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12F\n\x0bdescription\x18\x04 \x01(\x0b2$.proto.FunctionSignature.DescriptionR\x0bdescription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12<\n\x0boutput_type\x18\t \x01(\x0b2\x1b.proto.DerivationExpressionR\noutputType\x12G\n\x08variadic\x18\n \x01(\x0b2).proto.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12A\n\x06normal\x18\x0b \x01(\x0b2\'.proto.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12Q\n\x0fimplementations\x18\x0c \x03(\x0b2\'.proto.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17final_variable_behavior\x1a\xa0\x05\n\tAggregate\x12?\n\targuments\x18\x02 \x03(\x0b2!.proto.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12F\n\x0bdescription\x18\x04 \x01(\x0b2$.proto.FunctionSignature.DescriptionR\x0bdescription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12<\n\x0boutput_type\x18\t \x01(\x0b2\x1b.proto.DerivationExpressionR\noutputType\x12G\n\x08variadic\x18\n \x01(\x0b2).proto.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12A\n\x06normal\x18\x0b \x01(\x0b2\'.proto.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0e \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x128\n\x11intermediate_type\x18\r \x01(\x0b2\x0b.proto.TypeR\x10intermediateType\x12Q\n\x0fimplementations\x18\x0f \x03(\x0b2\'.proto.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17final_variable_behavior\x1a\xdb\x06\n\x06Window\x12?\n\targuments\x18\x02 \x03(\x0b2!.proto.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12F\n\x0bdescription\x18\x04 \x01(\x0b2$.proto.FunctionSignature.DescriptionR\x0bdescription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12H\n\x11intermediate_type\x18\t \x01(\x0b2\x1b.proto.DerivationExpressionR\x10intermediateType\x12<\n\x0boutput_type\x18\n \x01(\x0b2\x1b.proto.DerivationExpressionR\noutputType\x12G\n\x08variadic\x18\x10 \x01(\x0b2).proto.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12A\n\x06normal\x18\x11 \x01(\x0b2\'.proto.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0b \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12K\n\x0bwindow_type\x18\x0e \x01(\x0e2*.proto.FunctionSignature.Window.WindowTypeR\nwindowType\x12Q\n\x0fimplementations\x18\x0f \x03(\x0b2\'.proto.FunctionSignature.ImplementationR\x0fimplementations"_\n\nWindowType\x12\x1b\n\x17WINDOW_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15WINDOW_TYPE_STREAMING\x10\x01\x12\x19\n\x15WINDOW_TYPE_PARTITION\x10\x02B\x19\n\x17final_variable_behavior\x1a=\n\x0bDescription\x12\x1a\n\x08language\x18\x01 \x01(\tR\x08language\x12\x12\n\x04body\x18\x02 \x01(\tR\x04body\x1a\xad\x01\n\x0eImplementation\x12@\n\x04type\x18\x01 \x01(\x0e2,.proto.FunctionSignature.Implementation.TypeR\x04type\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri"G\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11TYPE_WEB_ASSEMBLY\x10\x01\x12\x12\n\x0eTYPE_TRINO_JAR\x10\x02\x1a\xe3\x03\n\x08Argument\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12G\n\x05value\x18\x02 \x01(\x0b2/.proto.FunctionSignature.Argument.ValueArgumentH\x00R\x05value\x12D\n\x04type\x18\x03 \x01(\x0b2..proto.FunctionSignature.Argument.TypeArgumentH\x00R\x04type\x12D\n\x04enum\x18\x04 \x01(\x0b2..proto.FunctionSignature.Argument.EnumArgumentH\x00R\x04enum\x1aY\n\rValueArgument\x12,\n\x04type\x18\x01 \x01(\x0b2\x18.proto.ParameterizedTypeR\x04type\x12\x1a\n\x08constant\x18\x02 \x01(\x08R\x08constant\x1a<\n\x0cTypeArgument\x12,\n\x04type\x18\x01 \x01(\x0b2\x18.proto.ParameterizedTypeR\x04type\x1aD\n\x0cEnumArgument\x12\x18\n\x07options\x18\x01 \x03(\tR\x07options\x12\x1a\n\x08optional\x18\x02 \x01(\x08R\x08optionalB\x0f\n\rargument_kindB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.function_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.function_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _FUNCTIONSIGNATURE._serialized_start = 113 - _FUNCTIONSIGNATURE._serialized_end = 3290 - _FUNCTIONSIGNATURE_FINALARGVARIADIC._serialized_start = 135 - _FUNCTIONSIGNATURE_FINALARGVARIADIC._serialized_end = 447 - _FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY._serialized_start = 308 - _FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY._serialized_end = 447 - _FUNCTIONSIGNATURE_FINALARGNORMAL._serialized_start = 449 - _FUNCTIONSIGNATURE_FINALARGNORMAL._serialized_end = 465 - _FUNCTIONSIGNATURE_SCALAR._serialized_start = 468 - _FUNCTIONSIGNATURE_SCALAR._serialized_end = 1028 - _FUNCTIONSIGNATURE_AGGREGATE._serialized_start = 1031 - _FUNCTIONSIGNATURE_AGGREGATE._serialized_end = 1703 - _FUNCTIONSIGNATURE_WINDOW._serialized_start = 1706 - _FUNCTIONSIGNATURE_WINDOW._serialized_end = 2565 - _FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE._serialized_start = 2443 - _FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE._serialized_end = 2538 - _FUNCTIONSIGNATURE_DESCRIPTION._serialized_start = 2567 - _FUNCTIONSIGNATURE_DESCRIPTION._serialized_end = 2628 - _FUNCTIONSIGNATURE_IMPLEMENTATION._serialized_start = 2631 - _FUNCTIONSIGNATURE_IMPLEMENTATION._serialized_end = 2804 - _FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE._serialized_start = 2733 - _FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE._serialized_end = 2804 - _FUNCTIONSIGNATURE_ARGUMENT._serialized_start = 2807 - _FUNCTIONSIGNATURE_ARGUMENT._serialized_end = 3290 - _FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT._serialized_start = 3052 - _FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT._serialized_end = 3141 - _FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT._serialized_start = 3143 - _FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT._serialized_end = 3203 - _FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT._serialized_start = 3205 - _FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT._serialized_end = 3273 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_FUNCTIONSIGNATURE']._serialized_start = 113 + _globals['_FUNCTIONSIGNATURE']._serialized_end = 3290 + _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC']._serialized_start = 135 + _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC']._serialized_end = 447 + _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY']._serialized_start = 308 + _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY']._serialized_end = 447 + _globals['_FUNCTIONSIGNATURE_FINALARGNORMAL']._serialized_start = 449 + _globals['_FUNCTIONSIGNATURE_FINALARGNORMAL']._serialized_end = 465 + _globals['_FUNCTIONSIGNATURE_SCALAR']._serialized_start = 468 + _globals['_FUNCTIONSIGNATURE_SCALAR']._serialized_end = 1028 + _globals['_FUNCTIONSIGNATURE_AGGREGATE']._serialized_start = 1031 + _globals['_FUNCTIONSIGNATURE_AGGREGATE']._serialized_end = 1703 + _globals['_FUNCTIONSIGNATURE_WINDOW']._serialized_start = 1706 + _globals['_FUNCTIONSIGNATURE_WINDOW']._serialized_end = 2565 + _globals['_FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE']._serialized_start = 2443 + _globals['_FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE']._serialized_end = 2538 + _globals['_FUNCTIONSIGNATURE_DESCRIPTION']._serialized_start = 2567 + _globals['_FUNCTIONSIGNATURE_DESCRIPTION']._serialized_end = 2628 + _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION']._serialized_start = 2631 + _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION']._serialized_end = 2804 + _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE']._serialized_start = 2733 + _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE']._serialized_end = 2804 + _globals['_FUNCTIONSIGNATURE_ARGUMENT']._serialized_start = 2807 + _globals['_FUNCTIONSIGNATURE_ARGUMENT']._serialized_end = 3290 + _globals['_FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT']._serialized_start = 3052 + _globals['_FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT']._serialized_end = 3141 + _globals['_FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT']._serialized_start = 3143 + _globals['_FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT']._serialized_end = 3203 + _globals['_FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT']._serialized_start = 3205 + _globals['_FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT']._serialized_end = 3273 \ No newline at end of file diff --git a/src/substrait/gen/proto/parameterized_types_pb2.py b/src/substrait/gen/proto/parameterized_types_pb2.py index 6796b1f..d42f30b 100644 --- a/src/substrait/gen/proto/parameterized_types_pb2.py +++ b/src/substrait/gen/proto/parameterized_types_pb2.py @@ -1,55 +1,56 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from ..proto import type_pb2 as proto_dot_type__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fproto/parameterized_types.proto\x12\x05proto\x1a\x10proto/type.proto"\x91&\n\x11ParameterizedType\x12)\n\x04bool\x18\x01 \x01(\x0b2\x13.proto.Type.BooleanH\x00R\x04bool\x12 \n\x02i8\x18\x02 \x01(\x0b2\x0e.proto.Type.I8H\x00R\x02i8\x12#\n\x03i16\x18\x03 \x01(\x0b2\x0f.proto.Type.I16H\x00R\x03i16\x12#\n\x03i32\x18\x05 \x01(\x0b2\x0f.proto.Type.I32H\x00R\x03i32\x12#\n\x03i64\x18\x07 \x01(\x0b2\x0f.proto.Type.I64H\x00R\x03i64\x12&\n\x04fp32\x18\n \x01(\x0b2\x10.proto.Type.FP32H\x00R\x04fp32\x12&\n\x04fp64\x18\x0b \x01(\x0b2\x10.proto.Type.FP64H\x00R\x04fp64\x12,\n\x06string\x18\x0c \x01(\x0b2\x12.proto.Type.StringH\x00R\x06string\x12,\n\x06binary\x18\r \x01(\x0b2\x12.proto.Type.BinaryH\x00R\x06binary\x129\n\ttimestamp\x18\x0e \x01(\x0b2\x15.proto.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12&\n\x04date\x18\x10 \x01(\x0b2\x10.proto.Type.DateH\x00R\x04date\x12&\n\x04time\x18\x11 \x01(\x0b2\x10.proto.Type.TimeH\x00R\x04time\x12?\n\rinterval_year\x18\x13 \x01(\x0b2\x18.proto.Type.IntervalYearH\x00R\x0cintervalYear\x12V\n\x0cinterval_day\x18\x14 \x01(\x0b21.proto.ParameterizedType.ParameterizedIntervalDayH\x00R\x0bintervalDay\x12e\n\x11interval_compound\x18$ \x01(\x0b26.proto.ParameterizedType.ParameterizedIntervalCompoundH\x00R\x10intervalCompound\x12@\n\x0ctimestamp_tz\x18\x1d \x01(\x0b2\x17.proto.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12&\n\x04uuid\x18 \x01(\x0b2\x10.proto.Type.UUIDH\x00R\x04uuid\x12P\n\nfixed_char\x18\x15 \x01(\x0b2/.proto.ParameterizedType.ParameterizedFixedCharH\x00R\tfixedChar\x12I\n\x07varchar\x18\x16 \x01(\x0b2-.proto.ParameterizedType.ParameterizedVarCharH\x00R\x07varchar\x12V\n\x0cfixed_binary\x18\x17 \x01(\x0b21.proto.ParameterizedType.ParameterizedFixedBinaryH\x00R\x0bfixedBinary\x12I\n\x07decimal\x18\x18 \x01(\x0b2-.proto.ParameterizedType.ParameterizedDecimalH\x00R\x07decimal\x12k\n\x13precision_timestamp\x18" \x01(\x0b28.proto.ParameterizedType.ParameterizedPrecisionTimestampH\x00R\x12precisionTimestamp\x12r\n\x16precision_timestamp_tz\x18# \x01(\x0b2:.proto.ParameterizedType.ParameterizedPrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12F\n\x06struct\x18\x19 \x01(\x0b2,.proto.ParameterizedType.ParameterizedStructH\x00R\x06struct\x12@\n\x04list\x18\x1b \x01(\x0b2*.proto.ParameterizedType.ParameterizedListH\x00R\x04list\x12=\n\x03map\x18\x1c \x01(\x0b2).proto.ParameterizedType.ParameterizedMapH\x00R\x03map\x12V\n\x0cuser_defined\x18\x1e \x01(\x0b21.proto.ParameterizedType.ParameterizedUserDefinedH\x00R\x0buserDefined\x126\n\x14user_defined_pointer\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x12userDefinedPointer\x12O\n\x0etype_parameter\x18! \x01(\x0b2&.proto.ParameterizedType.TypeParameterH\x00R\rtypeParameter\x1aU\n\rTypeParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x120\n\x06bounds\x18\x02 \x03(\x0b2\x18.proto.ParameterizedTypeR\x06bounds\x1a\xde\x01\n\x10IntegerParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\\\n\x15range_start_inclusive\x18\x02 \x01(\x0b2(.proto.ParameterizedType.NullableIntegerR\x13rangeStartInclusive\x12X\n\x13range_end_exclusive\x18\x03 \x01(\x0b2(.proto.ParameterizedType.NullableIntegerR\x11rangeEndExclusive\x1a\'\n\x0fNullableInteger\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value\x1a\xc0\x01\n\x16ParameterizedFixedChar\x12>\n\x06length\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xbe\x01\n\x14ParameterizedVarChar\x12>\n\x06length\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xc2\x01\n\x18ParameterizedFixedBinary\x12>\n\x06length\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x82\x02\n\x14ParameterizedDecimal\x12<\n\x05scale\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\x05scale\x12D\n\tprecision\x18\x02 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x04 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xc8\x01\n\x18ParameterizedIntervalDay\x12D\n\tprecision\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xcd\x01\n\x1dParameterizedIntervalCompound\x12D\n\tprecision\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xcf\x01\n\x1fParameterizedPrecisionTimestamp\x12D\n\tprecision\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xd1\x01\n!ParameterizedPrecisionTimestampTZ\x12D\n\tprecision\x18\x01 \x01(\x0b2&.proto.ParameterizedType.IntegerOptionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xad\x01\n\x13ParameterizedStruct\x12.\n\x05types\x18\x01 \x03(\x0b2\x18.proto.ParameterizedTypeR\x05types\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1av\n\x18ParameterizedNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12D\n\x06struct\x18\x02 \x01(\x0b2,.proto.ParameterizedType.ParameterizedStructR\x06struct\x1a\xa9\x01\n\x11ParameterizedList\x12,\n\x04type\x18\x01 \x01(\x0b2\x18.proto.ParameterizedTypeR\x04type\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xd6\x01\n\x10ParameterizedMap\x12*\n\x03key\x18\x01 \x01(\x0b2\x18.proto.ParameterizedTypeR\x03key\x12.\n\x05value\x18\x02 \x01(\x0b2\x18.proto.ParameterizedTypeR\x05value\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x04 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xa5\x01\n\x18ParameterizedUserDefined\x12!\n\x0ctype_pointer\x18\x01 \x01(\rR\x0btypePointer\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x86\x01\n\rIntegerOption\x12\x1a\n\x07literal\x18\x01 \x01(\x05H\x00R\x07literal\x12I\n\tparameter\x18\x02 \x01(\x0b2).proto.ParameterizedType.IntegerParameterH\x00R\tparameterB\x0e\n\x0cinteger_typeB\x06\n\x04kindB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.parameterized_types_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.parameterized_types_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _PARAMETERIZEDTYPE.fields_by_name['timestamp']._options = None - _PARAMETERIZEDTYPE.fields_by_name['timestamp']._serialized_options = b'\x18\x01' - _PARAMETERIZEDTYPE.fields_by_name['timestamp_tz']._options = None - _PARAMETERIZEDTYPE.fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' - _PARAMETERIZEDTYPE.fields_by_name['user_defined_pointer']._options = None - _PARAMETERIZEDTYPE.fields_by_name['user_defined_pointer']._serialized_options = b'\x18\x01' - _PARAMETERIZEDTYPE._serialized_start = 61 - _PARAMETERIZEDTYPE._serialized_end = 4942 - _PARAMETERIZEDTYPE_TYPEPARAMETER._serialized_start = 1914 - _PARAMETERIZEDTYPE_TYPEPARAMETER._serialized_end = 1999 - _PARAMETERIZEDTYPE_INTEGERPARAMETER._serialized_start = 2002 - _PARAMETERIZEDTYPE_INTEGERPARAMETER._serialized_end = 2224 - _PARAMETERIZEDTYPE_NULLABLEINTEGER._serialized_start = 2226 - _PARAMETERIZEDTYPE_NULLABLEINTEGER._serialized_end = 2265 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR._serialized_start = 2268 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR._serialized_end = 2460 - _PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR._serialized_start = 2463 - _PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR._serialized_end = 2653 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY._serialized_start = 2656 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY._serialized_end = 2850 - _PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL._serialized_start = 2853 - _PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL._serialized_end = 3111 - _PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALDAY._serialized_start = 3114 - _PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALDAY._serialized_end = 3314 - _PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALCOMPOUND._serialized_start = 3317 - _PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALCOMPOUND._serialized_end = 3522 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP._serialized_start = 3525 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP._serialized_end = 3732 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ._serialized_start = 3735 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ._serialized_end = 3944 - _PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT._serialized_start = 3947 - _PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT._serialized_end = 4120 - _PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT._serialized_start = 4122 - _PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT._serialized_end = 4240 - _PARAMETERIZEDTYPE_PARAMETERIZEDLIST._serialized_start = 4243 - _PARAMETERIZEDTYPE_PARAMETERIZEDLIST._serialized_end = 4412 - _PARAMETERIZEDTYPE_PARAMETERIZEDMAP._serialized_start = 4415 - _PARAMETERIZEDTYPE_PARAMETERIZEDMAP._serialized_end = 4629 - _PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED._serialized_start = 4632 - _PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED._serialized_end = 4797 - _PARAMETERIZEDTYPE_INTEGEROPTION._serialized_start = 4800 - _PARAMETERIZEDTYPE_INTEGEROPTION._serialized_end = 4934 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp']._options = None + _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp']._serialized_options = b'\x18\x01' + _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp_tz']._options = None + _globals['_PARAMETERIZEDTYPE'].fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' + _globals['_PARAMETERIZEDTYPE'].fields_by_name['user_defined_pointer']._options = None + _globals['_PARAMETERIZEDTYPE'].fields_by_name['user_defined_pointer']._serialized_options = b'\x18\x01' + _globals['_PARAMETERIZEDTYPE']._serialized_start = 61 + _globals['_PARAMETERIZEDTYPE']._serialized_end = 4942 + _globals['_PARAMETERIZEDTYPE_TYPEPARAMETER']._serialized_start = 1914 + _globals['_PARAMETERIZEDTYPE_TYPEPARAMETER']._serialized_end = 1999 + _globals['_PARAMETERIZEDTYPE_INTEGERPARAMETER']._serialized_start = 2002 + _globals['_PARAMETERIZEDTYPE_INTEGERPARAMETER']._serialized_end = 2224 + _globals['_PARAMETERIZEDTYPE_NULLABLEINTEGER']._serialized_start = 2226 + _globals['_PARAMETERIZEDTYPE_NULLABLEINTEGER']._serialized_end = 2265 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR']._serialized_start = 2268 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR']._serialized_end = 2460 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR']._serialized_start = 2463 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR']._serialized_end = 2653 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY']._serialized_start = 2656 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY']._serialized_end = 2850 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL']._serialized_start = 2853 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL']._serialized_end = 3111 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALDAY']._serialized_start = 3114 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALDAY']._serialized_end = 3314 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALCOMPOUND']._serialized_start = 3317 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDINTERVALCOMPOUND']._serialized_end = 3522 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP']._serialized_start = 3525 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP']._serialized_end = 3732 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ']._serialized_start = 3735 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ']._serialized_end = 3944 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT']._serialized_start = 3947 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT']._serialized_end = 4120 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT']._serialized_start = 4122 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT']._serialized_end = 4240 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDLIST']._serialized_start = 4243 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDLIST']._serialized_end = 4412 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDMAP']._serialized_start = 4415 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDMAP']._serialized_end = 4629 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED']._serialized_start = 4632 + _globals['_PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED']._serialized_end = 4797 + _globals['_PARAMETERIZEDTYPE_INTEGEROPTION']._serialized_start = 4800 + _globals['_PARAMETERIZEDTYPE_INTEGEROPTION']._serialized_end = 4934 \ No newline at end of file diff --git a/src/substrait/gen/proto/plan_pb2.py b/src/substrait/gen/proto/plan_pb2.py index 9e5c2d1..649a2af 100644 --- a/src/substrait/gen/proto/plan_pb2.py +++ b/src/substrait/gen/proto/plan_pb2.py @@ -1,22 +1,23 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from ..proto import algebra_pb2 as proto_dot_algebra__pb2 from ..proto.extensions import extensions_pb2 as proto_dot_extensions_dot_extensions__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10proto/plan.proto\x12\x05proto\x1a\x13proto/algebra.proto\x1a!proto/extensions/extensions.proto"[\n\x07PlanRel\x12\x1e\n\x03rel\x18\x01 \x01(\x0b2\n.proto.RelH\x00R\x03rel\x12$\n\x04root\x18\x02 \x01(\x0b2\x0e.proto.RelRootH\x00R\x04rootB\n\n\x08rel_type"\xfd\x02\n\x04Plan\x12(\n\x07version\x18\x06 \x01(\x0b2\x0e.proto.VersionR\x07version\x12K\n\x0eextension_uris\x18\x01 \x03(\x0b2$.proto.extensions.SimpleExtensionURIR\rextensionUris\x12L\n\nextensions\x18\x02 \x03(\x0b2,.proto.extensions.SimpleExtensionDeclarationR\nextensions\x12,\n\trelations\x18\x03 \x03(\x0b2\x0e.proto.PlanRelR\trelations\x12T\n\x13advanced_extensions\x18\x04 \x01(\x0b2#.proto.extensions.AdvancedExtensionR\x12advancedExtensions\x12,\n\x12expected_type_urls\x18\x05 \x03(\tR\x10expectedTypeUrls"7\n\x0bPlanVersion\x12(\n\x07version\x18\x06 \x01(\x0b2\x0e.proto.VersionR\x07version"\xa9\x01\n\x07Version\x12!\n\x0cmajor_number\x18\x01 \x01(\rR\x0bmajorNumber\x12!\n\x0cminor_number\x18\x02 \x01(\rR\x0bminorNumber\x12!\n\x0cpatch_number\x18\x03 \x01(\rR\x0bpatchNumber\x12\x19\n\x08git_hash\x18\x04 \x01(\tR\x07gitHash\x12\x1a\n\x08producer\x18\x05 \x01(\tR\x08producerB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.plan_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.plan_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _PLANREL._serialized_start = 83 - _PLANREL._serialized_end = 174 - _PLAN._serialized_start = 177 - _PLAN._serialized_end = 558 - _PLANVERSION._serialized_start = 560 - _PLANVERSION._serialized_end = 615 - _VERSION._serialized_start = 618 - _VERSION._serialized_end = 787 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_PLANREL']._serialized_start = 83 + _globals['_PLANREL']._serialized_end = 174 + _globals['_PLAN']._serialized_start = 177 + _globals['_PLAN']._serialized_end = 558 + _globals['_PLANVERSION']._serialized_start = 560 + _globals['_PLANVERSION']._serialized_end = 615 + _globals['_VERSION']._serialized_start = 618 + _globals['_VERSION']._serialized_end = 787 \ No newline at end of file diff --git a/src/substrait/gen/proto/type_expressions_pb2.py b/src/substrait/gen/proto/type_expressions_pb2.py index d4ffd9a..6af02a1 100644 --- a/src/substrait/gen/proto/type_expressions_pb2.py +++ b/src/substrait/gen/proto/type_expressions_pb2.py @@ -1,61 +1,62 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from ..proto import type_pb2 as proto_dot_type__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cproto/type_expressions.proto\x12\x05proto\x1a\x10proto/type.proto"\xdb-\n\x14DerivationExpression\x12)\n\x04bool\x18\x01 \x01(\x0b2\x13.proto.Type.BooleanH\x00R\x04bool\x12 \n\x02i8\x18\x02 \x01(\x0b2\x0e.proto.Type.I8H\x00R\x02i8\x12#\n\x03i16\x18\x03 \x01(\x0b2\x0f.proto.Type.I16H\x00R\x03i16\x12#\n\x03i32\x18\x05 \x01(\x0b2\x0f.proto.Type.I32H\x00R\x03i32\x12#\n\x03i64\x18\x07 \x01(\x0b2\x0f.proto.Type.I64H\x00R\x03i64\x12&\n\x04fp32\x18\n \x01(\x0b2\x10.proto.Type.FP32H\x00R\x04fp32\x12&\n\x04fp64\x18\x0b \x01(\x0b2\x10.proto.Type.FP64H\x00R\x04fp64\x12,\n\x06string\x18\x0c \x01(\x0b2\x12.proto.Type.StringH\x00R\x06string\x12,\n\x06binary\x18\r \x01(\x0b2\x12.proto.Type.BinaryH\x00R\x06binary\x129\n\ttimestamp\x18\x0e \x01(\x0b2\x15.proto.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12&\n\x04date\x18\x10 \x01(\x0b2\x10.proto.Type.DateH\x00R\x04date\x12&\n\x04time\x18\x11 \x01(\x0b2\x10.proto.Type.TimeH\x00R\x04time\x12?\n\rinterval_year\x18\x13 \x01(\x0b2\x18.proto.Type.IntervalYearH\x00R\x0cintervalYear\x12@\n\x0ctimestamp_tz\x18\x1d \x01(\x0b2\x17.proto.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12&\n\x04uuid\x18 \x01(\x0b2\x10.proto.Type.UUIDH\x00R\x04uuid\x12V\n\x0cinterval_day\x18\x14 \x01(\x0b21.proto.DerivationExpression.ExpressionIntervalDayH\x00R\x0bintervalDay\x12e\n\x11interval_compound\x18* \x01(\x0b26.proto.DerivationExpression.ExpressionIntervalCompoundH\x00R\x10intervalCompound\x12P\n\nfixed_char\x18\x15 \x01(\x0b2/.proto.DerivationExpression.ExpressionFixedCharH\x00R\tfixedChar\x12I\n\x07varchar\x18\x16 \x01(\x0b2-.proto.DerivationExpression.ExpressionVarCharH\x00R\x07varchar\x12V\n\x0cfixed_binary\x18\x17 \x01(\x0b21.proto.DerivationExpression.ExpressionFixedBinaryH\x00R\x0bfixedBinary\x12I\n\x07decimal\x18\x18 \x01(\x0b2-.proto.DerivationExpression.ExpressionDecimalH\x00R\x07decimal\x12k\n\x13precision_timestamp\x18( \x01(\x0b28.proto.DerivationExpression.ExpressionPrecisionTimestampH\x00R\x12precisionTimestamp\x12r\n\x16precision_timestamp_tz\x18) \x01(\x0b2:.proto.DerivationExpression.ExpressionPrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12F\n\x06struct\x18\x19 \x01(\x0b2,.proto.DerivationExpression.ExpressionStructH\x00R\x06struct\x12@\n\x04list\x18\x1b \x01(\x0b2*.proto.DerivationExpression.ExpressionListH\x00R\x04list\x12=\n\x03map\x18\x1c \x01(\x0b2).proto.DerivationExpression.ExpressionMapH\x00R\x03map\x12V\n\x0cuser_defined\x18\x1e \x01(\x0b21.proto.DerivationExpression.ExpressionUserDefinedH\x00R\x0buserDefined\x126\n\x14user_defined_pointer\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x12userDefinedPointer\x120\n\x13type_parameter_name\x18! \x01(\tH\x00R\x11typeParameterName\x126\n\x16integer_parameter_name\x18" \x01(\tH\x00R\x14integerParameterName\x12)\n\x0finteger_literal\x18# \x01(\x05H\x00R\x0eintegerLiteral\x12@\n\x08unary_op\x18$ \x01(\x0b2#.proto.DerivationExpression.UnaryOpH\x00R\x07unaryOp\x12C\n\tbinary_op\x18% \x01(\x0b2$.proto.DerivationExpression.BinaryOpH\x00R\x08binaryOp\x12=\n\x07if_else\x18& \x01(\x0b2".proto.DerivationExpression.IfElseH\x00R\x06ifElse\x12R\n\x0ereturn_program\x18\' \x01(\x0b2).proto.DerivationExpression.ReturnProgramH\x00R\rreturnProgram\x1a\xb2\x01\n\x13ExpressionFixedChar\x123\n\x06length\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xb0\x01\n\x11ExpressionVarChar\x123\n\x06length\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xb4\x01\n\x15ExpressionFixedBinary\x123\n\x06length\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x06length\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xe9\x01\n\x11ExpressionDecimal\x121\n\x05scale\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x05scale\x129\n\tprecision\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x04 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xc1\x01\n\x1cExpressionPrecisionTimestamp\x129\n\tprecision\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xba\x01\n\x15ExpressionIntervalDay\x129\n\tprecision\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xbf\x01\n\x1aExpressionIntervalCompound\x129\n\tprecision\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xc3\x01\n\x1eExpressionPrecisionTimestampTZ\x129\n\tprecision\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\tprecision\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xad\x01\n\x10ExpressionStruct\x121\n\x05types\x18\x01 \x03(\x0b2\x1b.proto.DerivationExpressionR\x05types\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1as\n\x15ExpressionNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12D\n\x06struct\x18\x02 \x01(\x0b2,.proto.DerivationExpression.ExpressionStructR\x06struct\x1a\xa9\x01\n\x0eExpressionList\x12/\n\x04type\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x04type\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xd9\x01\n\rExpressionMap\x12-\n\x03key\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x03key\x121\n\x05value\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\x05value\x12+\n\x11variation_pointer\x18\x03 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x04 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xa2\x01\n\x15ExpressionUserDefined\x12!\n\x0ctype_pointer\x18\x01 \x01(\rR\x0btypePointer\x12+\n\x11variation_pointer\x18\x02 \x01(\rR\x10variationPointer\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xc0\x01\n\x06IfElse\x12>\n\x0cif_condition\x18\x01 \x01(\x0b2\x1b.proto.DerivationExpressionR\x0bifCondition\x128\n\tif_return\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\x08ifReturn\x12<\n\x0belse_return\x18\x03 \x01(\x0b2\x1b.proto.DerivationExpressionR\nelseReturn\x1a\xcf\x01\n\x07UnaryOp\x12H\n\x07op_type\x18\x01 \x01(\x0e2/.proto.DerivationExpression.UnaryOp.UnaryOpTypeR\x06opType\x12-\n\x03arg\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\x03arg"K\n\x0bUnaryOpType\x12\x1d\n\x19UNARY_OP_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19UNARY_OP_TYPE_BOOLEAN_NOT\x10\x01\x1a\xa8\x04\n\x08BinaryOp\x12J\n\x07op_type\x18\x01 \x01(\x0e21.proto.DerivationExpression.BinaryOp.BinaryOpTypeR\x06opType\x12/\n\x04arg1\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\x04arg1\x12/\n\x04arg2\x18\x03 \x01(\x0b2\x1b.proto.DerivationExpressionR\x04arg2"\xed\x02\n\x0cBinaryOpType\x12\x1e\n\x1aBINARY_OP_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13BINARY_OP_TYPE_PLUS\x10\x01\x12\x18\n\x14BINARY_OP_TYPE_MINUS\x10\x02\x12\x1b\n\x17BINARY_OP_TYPE_MULTIPLY\x10\x03\x12\x19\n\x15BINARY_OP_TYPE_DIVIDE\x10\x04\x12\x16\n\x12BINARY_OP_TYPE_MIN\x10\x05\x12\x16\n\x12BINARY_OP_TYPE_MAX\x10\x06\x12\x1f\n\x1bBINARY_OP_TYPE_GREATER_THAN\x10\x07\x12\x1c\n\x18BINARY_OP_TYPE_LESS_THAN\x10\x08\x12\x16\n\x12BINARY_OP_TYPE_AND\x10\t\x12\x15\n\x11BINARY_OP_TYPE_OR\x10\n\x12\x19\n\x15BINARY_OP_TYPE_EQUALS\x10\x0b\x12\x19\n\x15BINARY_OP_TYPE_COVERS\x10\x0c\x1a\x8e\x02\n\rReturnProgram\x12V\n\x0bassignments\x18\x01 \x03(\x0b24.proto.DerivationExpression.ReturnProgram.AssignmentR\x0bassignments\x12F\n\x10final_expression\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\x0ffinalExpression\x1a]\n\nAssignment\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\nexpression\x18\x02 \x01(\x0b2\x1b.proto.DerivationExpressionR\nexpressionB\x06\n\x04kindB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.type_expressions_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.type_expressions_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _DERIVATIONEXPRESSION.fields_by_name['timestamp']._options = None - _DERIVATIONEXPRESSION.fields_by_name['timestamp']._serialized_options = b'\x18\x01' - _DERIVATIONEXPRESSION.fields_by_name['timestamp_tz']._options = None - _DERIVATIONEXPRESSION.fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' - _DERIVATIONEXPRESSION.fields_by_name['user_defined_pointer']._options = None - _DERIVATIONEXPRESSION.fields_by_name['user_defined_pointer']._serialized_options = b'\x18\x01' - _DERIVATIONEXPRESSION._serialized_start = 58 - _DERIVATIONEXPRESSION._serialized_end = 5909 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR._serialized_start = 2265 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR._serialized_end = 2443 - _DERIVATIONEXPRESSION_EXPRESSIONVARCHAR._serialized_start = 2446 - _DERIVATIONEXPRESSION_EXPRESSIONVARCHAR._serialized_end = 2622 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY._serialized_start = 2625 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY._serialized_end = 2805 - _DERIVATIONEXPRESSION_EXPRESSIONDECIMAL._serialized_start = 2808 - _DERIVATIONEXPRESSION_EXPRESSIONDECIMAL._serialized_end = 3041 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP._serialized_start = 3044 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP._serialized_end = 3237 - _DERIVATIONEXPRESSION_EXPRESSIONINTERVALDAY._serialized_start = 3240 - _DERIVATIONEXPRESSION_EXPRESSIONINTERVALDAY._serialized_end = 3426 - _DERIVATIONEXPRESSION_EXPRESSIONINTERVALCOMPOUND._serialized_start = 3429 - _DERIVATIONEXPRESSION_EXPRESSIONINTERVALCOMPOUND._serialized_end = 3620 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ._serialized_start = 3623 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ._serialized_end = 3818 - _DERIVATIONEXPRESSION_EXPRESSIONSTRUCT._serialized_start = 3821 - _DERIVATIONEXPRESSION_EXPRESSIONSTRUCT._serialized_end = 3994 - _DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT._serialized_start = 3996 - _DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT._serialized_end = 4111 - _DERIVATIONEXPRESSION_EXPRESSIONLIST._serialized_start = 4114 - _DERIVATIONEXPRESSION_EXPRESSIONLIST._serialized_end = 4283 - _DERIVATIONEXPRESSION_EXPRESSIONMAP._serialized_start = 4286 - _DERIVATIONEXPRESSION_EXPRESSIONMAP._serialized_end = 4503 - _DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED._serialized_start = 4506 - _DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED._serialized_end = 4668 - _DERIVATIONEXPRESSION_IFELSE._serialized_start = 4671 - _DERIVATIONEXPRESSION_IFELSE._serialized_end = 4863 - _DERIVATIONEXPRESSION_UNARYOP._serialized_start = 4866 - _DERIVATIONEXPRESSION_UNARYOP._serialized_end = 5073 - _DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE._serialized_start = 4998 - _DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE._serialized_end = 5073 - _DERIVATIONEXPRESSION_BINARYOP._serialized_start = 5076 - _DERIVATIONEXPRESSION_BINARYOP._serialized_end = 5628 - _DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE._serialized_start = 5263 - _DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE._serialized_end = 5628 - _DERIVATIONEXPRESSION_RETURNPROGRAM._serialized_start = 5631 - _DERIVATIONEXPRESSION_RETURNPROGRAM._serialized_end = 5901 - _DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT._serialized_start = 5808 - _DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT._serialized_end = 5901 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp']._options = None + _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp']._serialized_options = b'\x18\x01' + _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp_tz']._options = None + _globals['_DERIVATIONEXPRESSION'].fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' + _globals['_DERIVATIONEXPRESSION'].fields_by_name['user_defined_pointer']._options = None + _globals['_DERIVATIONEXPRESSION'].fields_by_name['user_defined_pointer']._serialized_options = b'\x18\x01' + _globals['_DERIVATIONEXPRESSION']._serialized_start = 58 + _globals['_DERIVATIONEXPRESSION']._serialized_end = 5909 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR']._serialized_start = 2265 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR']._serialized_end = 2443 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONVARCHAR']._serialized_start = 2446 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONVARCHAR']._serialized_end = 2622 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY']._serialized_start = 2625 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY']._serialized_end = 2805 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONDECIMAL']._serialized_start = 2808 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONDECIMAL']._serialized_end = 3041 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP']._serialized_start = 3044 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP']._serialized_end = 3237 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALDAY']._serialized_start = 3240 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALDAY']._serialized_end = 3426 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALCOMPOUND']._serialized_start = 3429 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONINTERVALCOMPOUND']._serialized_end = 3620 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ']._serialized_start = 3623 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ']._serialized_end = 3818 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONSTRUCT']._serialized_start = 3821 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONSTRUCT']._serialized_end = 3994 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT']._serialized_start = 3996 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT']._serialized_end = 4111 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONLIST']._serialized_start = 4114 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONLIST']._serialized_end = 4283 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONMAP']._serialized_start = 4286 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONMAP']._serialized_end = 4503 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED']._serialized_start = 4506 + _globals['_DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED']._serialized_end = 4668 + _globals['_DERIVATIONEXPRESSION_IFELSE']._serialized_start = 4671 + _globals['_DERIVATIONEXPRESSION_IFELSE']._serialized_end = 4863 + _globals['_DERIVATIONEXPRESSION_UNARYOP']._serialized_start = 4866 + _globals['_DERIVATIONEXPRESSION_UNARYOP']._serialized_end = 5073 + _globals['_DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE']._serialized_start = 4998 + _globals['_DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE']._serialized_end = 5073 + _globals['_DERIVATIONEXPRESSION_BINARYOP']._serialized_start = 5076 + _globals['_DERIVATIONEXPRESSION_BINARYOP']._serialized_end = 5628 + _globals['_DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE']._serialized_start = 5263 + _globals['_DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE']._serialized_end = 5628 + _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM']._serialized_start = 5631 + _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM']._serialized_end = 5901 + _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT']._serialized_start = 5808 + _globals['_DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT']._serialized_end = 5901 \ No newline at end of file diff --git a/src/substrait/gen/proto/type_pb2.py b/src/substrait/gen/proto/type_pb2.py index 7b0c45b..b7043aa 100644 --- a/src/substrait/gen/proto/type_pb2.py +++ b/src/substrait/gen/proto/type_pb2.py @@ -1,81 +1,82 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder _sym_db = _symbol_database.Default() from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10proto/type.proto\x12\x05proto\x1a\x1bgoogle/protobuf/empty.proto"\x8a-\n\x04Type\x12)\n\x04bool\x18\x01 \x01(\x0b2\x13.proto.Type.BooleanH\x00R\x04bool\x12 \n\x02i8\x18\x02 \x01(\x0b2\x0e.proto.Type.I8H\x00R\x02i8\x12#\n\x03i16\x18\x03 \x01(\x0b2\x0f.proto.Type.I16H\x00R\x03i16\x12#\n\x03i32\x18\x05 \x01(\x0b2\x0f.proto.Type.I32H\x00R\x03i32\x12#\n\x03i64\x18\x07 \x01(\x0b2\x0f.proto.Type.I64H\x00R\x03i64\x12&\n\x04fp32\x18\n \x01(\x0b2\x10.proto.Type.FP32H\x00R\x04fp32\x12&\n\x04fp64\x18\x0b \x01(\x0b2\x10.proto.Type.FP64H\x00R\x04fp64\x12,\n\x06string\x18\x0c \x01(\x0b2\x12.proto.Type.StringH\x00R\x06string\x12,\n\x06binary\x18\r \x01(\x0b2\x12.proto.Type.BinaryH\x00R\x06binary\x129\n\ttimestamp\x18\x0e \x01(\x0b2\x15.proto.Type.TimestampB\x02\x18\x01H\x00R\ttimestamp\x12&\n\x04date\x18\x10 \x01(\x0b2\x10.proto.Type.DateH\x00R\x04date\x12&\n\x04time\x18\x11 \x01(\x0b2\x10.proto.Type.TimeH\x00R\x04time\x12?\n\rinterval_year\x18\x13 \x01(\x0b2\x18.proto.Type.IntervalYearH\x00R\x0cintervalYear\x12<\n\x0cinterval_day\x18\x14 \x01(\x0b2\x17.proto.Type.IntervalDayH\x00R\x0bintervalDay\x12K\n\x11interval_compound\x18# \x01(\x0b2\x1c.proto.Type.IntervalCompoundH\x00R\x10intervalCompound\x12@\n\x0ctimestamp_tz\x18\x1d \x01(\x0b2\x17.proto.Type.TimestampTZB\x02\x18\x01H\x00R\x0btimestampTz\x12&\n\x04uuid\x18 \x01(\x0b2\x10.proto.Type.UUIDH\x00R\x04uuid\x126\n\nfixed_char\x18\x15 \x01(\x0b2\x15.proto.Type.FixedCharH\x00R\tfixedChar\x12/\n\x07varchar\x18\x16 \x01(\x0b2\x13.proto.Type.VarCharH\x00R\x07varchar\x12<\n\x0cfixed_binary\x18\x17 \x01(\x0b2\x17.proto.Type.FixedBinaryH\x00R\x0bfixedBinary\x12/\n\x07decimal\x18\x18 \x01(\x0b2\x13.proto.Type.DecimalH\x00R\x07decimal\x12Q\n\x13precision_timestamp\x18! \x01(\x0b2\x1e.proto.Type.PrecisionTimestampH\x00R\x12precisionTimestamp\x12X\n\x16precision_timestamp_tz\x18" \x01(\x0b2 .proto.Type.PrecisionTimestampTZH\x00R\x14precisionTimestampTz\x12,\n\x06struct\x18\x19 \x01(\x0b2\x12.proto.Type.StructH\x00R\x06struct\x12&\n\x04list\x18\x1b \x01(\x0b2\x10.proto.Type.ListH\x00R\x04list\x12#\n\x03map\x18\x1c \x01(\x0b2\x0f.proto.Type.MapH\x00R\x03map\x12<\n\x0cuser_defined\x18\x1e \x01(\x0b2\x17.proto.Type.UserDefinedH\x00R\x0buserDefined\x12C\n\x1buser_defined_type_reference\x18\x1f \x01(\rB\x02\x18\x01H\x00R\x18userDefinedTypeReference\x1a~\n\x07Boolean\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1ay\n\x02I8\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1az\n\x03I16\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1az\n\x03I32\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1az\n\x03I64\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a{\n\x04FP32\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a{\n\x04FP64\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a}\n\x06String\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a}\n\x06Binary\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x80\x01\n\tTimestamp\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a{\n\x04Date\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a{\n\x04Time\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x82\x01\n\x0bTimestampTZ\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x83\x01\n\x0cIntervalYear\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xb3\x01\n\x0bIntervalDay\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x12!\n\tprecision\x18\x03 \x01(\x05H\x00R\tprecision\x88\x01\x01B\x0c\n\n_precision\x1a\xa5\x01\n\x10IntervalCompound\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x12\x1c\n\tprecision\x18\x03 \x01(\x05R\tprecision\x1a{\n\x04UUID\x128\n\x18type_variation_reference\x18\x01 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x02 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x98\x01\n\tFixedChar\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x96\x01\n\x07VarChar\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x9a\x01\n\x0bFixedBinary\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xb2\x01\n\x07Decimal\x12\x14\n\x05scale\x18\x01 \x01(\x05R\x05scale\x12\x1c\n\tprecision\x18\x02 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x03 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x04 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xa7\x01\n\x12PrecisionTimestamp\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xa9\x01\n\x14PrecisionTimestampTZ\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xa0\x01\n\x06Struct\x12!\n\x05types\x18\x01 \x03(\x0b2\x0b.proto.TypeR\x05types\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\x9c\x01\n\x04List\x12\x1f\n\x04type\x18\x01 \x01(\x0b2\x0b.proto.TypeR\x04type\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xbc\x01\n\x03Map\x12\x1d\n\x03key\x18\x01 \x01(\x0b2\x0b.proto.TypeR\x03key\x12!\n\x05value\x18\x02 \x01(\x0b2\x0b.proto.TypeR\x05value\x128\n\x18type_variation_reference\x18\x03 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x04 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x1a\xe9\x01\n\x0bUserDefined\x12%\n\x0etype_reference\x18\x01 \x01(\rR\rtypeReference\x128\n\x18type_variation_reference\x18\x02 \x01(\rR\x16typeVariationReference\x129\n\x0bnullability\x18\x03 \x01(\x0e2\x17.proto.Type.NullabilityR\x0bnullability\x12>\n\x0ftype_parameters\x18\x04 \x03(\x0b2\x15.proto.Type.ParameterR\x0etypeParameters\x1a\xda\x01\n\tParameter\x12,\n\x04null\x18\x01 \x01(\x0b2\x16.google.protobuf.EmptyH\x00R\x04null\x12*\n\tdata_type\x18\x02 \x01(\x0b2\x0b.proto.TypeH\x00R\x08dataType\x12\x1a\n\x07boolean\x18\x03 \x01(\x08H\x00R\x07boolean\x12\x1a\n\x07integer\x18\x04 \x01(\x03H\x00R\x07integer\x12\x14\n\x04enum\x18\x05 \x01(\tH\x00R\x04enum\x12\x18\n\x06string\x18\x06 \x01(\tH\x00R\x06stringB\x0b\n\tparameter"^\n\x0bNullability\x12\x1b\n\x17NULLABILITY_UNSPECIFIED\x10\x00\x12\x18\n\x14NULLABILITY_NULLABLE\x10\x01\x12\x18\n\x14NULLABILITY_REQUIRED\x10\x02B\x06\n\x04kind"O\n\x0bNamedStruct\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\x12*\n\x06struct\x18\x02 \x01(\x0b2\x12.proto.Type.StructR\x06structB#\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobufb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.type_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.type_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' - _TYPE.fields_by_name['timestamp']._options = None - _TYPE.fields_by_name['timestamp']._serialized_options = b'\x18\x01' - _TYPE.fields_by_name['timestamp_tz']._options = None - _TYPE.fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' - _TYPE.fields_by_name['user_defined_type_reference']._options = None - _TYPE.fields_by_name['user_defined_type_reference']._serialized_options = b'\x18\x01' - _TYPE._serialized_start = 57 - _TYPE._serialized_end = 5827 - _TYPE_BOOLEAN._serialized_start = 1517 - _TYPE_BOOLEAN._serialized_end = 1643 - _TYPE_I8._serialized_start = 1645 - _TYPE_I8._serialized_end = 1766 - _TYPE_I16._serialized_start = 1768 - _TYPE_I16._serialized_end = 1890 - _TYPE_I32._serialized_start = 1892 - _TYPE_I32._serialized_end = 2014 - _TYPE_I64._serialized_start = 2016 - _TYPE_I64._serialized_end = 2138 - _TYPE_FP32._serialized_start = 2140 - _TYPE_FP32._serialized_end = 2263 - _TYPE_FP64._serialized_start = 2265 - _TYPE_FP64._serialized_end = 2388 - _TYPE_STRING._serialized_start = 2390 - _TYPE_STRING._serialized_end = 2515 - _TYPE_BINARY._serialized_start = 2517 - _TYPE_BINARY._serialized_end = 2642 - _TYPE_TIMESTAMP._serialized_start = 2645 - _TYPE_TIMESTAMP._serialized_end = 2773 - _TYPE_DATE._serialized_start = 2775 - _TYPE_DATE._serialized_end = 2898 - _TYPE_TIME._serialized_start = 2900 - _TYPE_TIME._serialized_end = 3023 - _TYPE_TIMESTAMPTZ._serialized_start = 3026 - _TYPE_TIMESTAMPTZ._serialized_end = 3156 - _TYPE_INTERVALYEAR._serialized_start = 3159 - _TYPE_INTERVALYEAR._serialized_end = 3290 - _TYPE_INTERVALDAY._serialized_start = 3293 - _TYPE_INTERVALDAY._serialized_end = 3472 - _TYPE_INTERVALCOMPOUND._serialized_start = 3475 - _TYPE_INTERVALCOMPOUND._serialized_end = 3640 - _TYPE_UUID._serialized_start = 3642 - _TYPE_UUID._serialized_end = 3765 - _TYPE_FIXEDCHAR._serialized_start = 3768 - _TYPE_FIXEDCHAR._serialized_end = 3920 - _TYPE_VARCHAR._serialized_start = 3923 - _TYPE_VARCHAR._serialized_end = 4073 - _TYPE_FIXEDBINARY._serialized_start = 4076 - _TYPE_FIXEDBINARY._serialized_end = 4230 - _TYPE_DECIMAL._serialized_start = 4233 - _TYPE_DECIMAL._serialized_end = 4411 - _TYPE_PRECISIONTIMESTAMP._serialized_start = 4414 - _TYPE_PRECISIONTIMESTAMP._serialized_end = 4581 - _TYPE_PRECISIONTIMESTAMPTZ._serialized_start = 4584 - _TYPE_PRECISIONTIMESTAMPTZ._serialized_end = 4753 - _TYPE_STRUCT._serialized_start = 4756 - _TYPE_STRUCT._serialized_end = 4916 - _TYPE_LIST._serialized_start = 4919 - _TYPE_LIST._serialized_end = 5075 - _TYPE_MAP._serialized_start = 5078 - _TYPE_MAP._serialized_end = 5266 - _TYPE_USERDEFINED._serialized_start = 5269 - _TYPE_USERDEFINED._serialized_end = 5502 - _TYPE_PARAMETER._serialized_start = 5505 - _TYPE_PARAMETER._serialized_end = 5723 - _TYPE_NULLABILITY._serialized_start = 5725 - _TYPE_NULLABILITY._serialized_end = 5819 - _NAMEDSTRUCT._serialized_start = 5829 - _NAMEDSTRUCT._serialized_end = 5908 \ No newline at end of file + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0eio.proto.protoP\x01\xaa\x02\x0eProto.Protobuf' + _globals['_TYPE'].fields_by_name['timestamp']._options = None + _globals['_TYPE'].fields_by_name['timestamp']._serialized_options = b'\x18\x01' + _globals['_TYPE'].fields_by_name['timestamp_tz']._options = None + _globals['_TYPE'].fields_by_name['timestamp_tz']._serialized_options = b'\x18\x01' + _globals['_TYPE'].fields_by_name['user_defined_type_reference']._options = None + _globals['_TYPE'].fields_by_name['user_defined_type_reference']._serialized_options = b'\x18\x01' + _globals['_TYPE']._serialized_start = 57 + _globals['_TYPE']._serialized_end = 5827 + _globals['_TYPE_BOOLEAN']._serialized_start = 1517 + _globals['_TYPE_BOOLEAN']._serialized_end = 1643 + _globals['_TYPE_I8']._serialized_start = 1645 + _globals['_TYPE_I8']._serialized_end = 1766 + _globals['_TYPE_I16']._serialized_start = 1768 + _globals['_TYPE_I16']._serialized_end = 1890 + _globals['_TYPE_I32']._serialized_start = 1892 + _globals['_TYPE_I32']._serialized_end = 2014 + _globals['_TYPE_I64']._serialized_start = 2016 + _globals['_TYPE_I64']._serialized_end = 2138 + _globals['_TYPE_FP32']._serialized_start = 2140 + _globals['_TYPE_FP32']._serialized_end = 2263 + _globals['_TYPE_FP64']._serialized_start = 2265 + _globals['_TYPE_FP64']._serialized_end = 2388 + _globals['_TYPE_STRING']._serialized_start = 2390 + _globals['_TYPE_STRING']._serialized_end = 2515 + _globals['_TYPE_BINARY']._serialized_start = 2517 + _globals['_TYPE_BINARY']._serialized_end = 2642 + _globals['_TYPE_TIMESTAMP']._serialized_start = 2645 + _globals['_TYPE_TIMESTAMP']._serialized_end = 2773 + _globals['_TYPE_DATE']._serialized_start = 2775 + _globals['_TYPE_DATE']._serialized_end = 2898 + _globals['_TYPE_TIME']._serialized_start = 2900 + _globals['_TYPE_TIME']._serialized_end = 3023 + _globals['_TYPE_TIMESTAMPTZ']._serialized_start = 3026 + _globals['_TYPE_TIMESTAMPTZ']._serialized_end = 3156 + _globals['_TYPE_INTERVALYEAR']._serialized_start = 3159 + _globals['_TYPE_INTERVALYEAR']._serialized_end = 3290 + _globals['_TYPE_INTERVALDAY']._serialized_start = 3293 + _globals['_TYPE_INTERVALDAY']._serialized_end = 3472 + _globals['_TYPE_INTERVALCOMPOUND']._serialized_start = 3475 + _globals['_TYPE_INTERVALCOMPOUND']._serialized_end = 3640 + _globals['_TYPE_UUID']._serialized_start = 3642 + _globals['_TYPE_UUID']._serialized_end = 3765 + _globals['_TYPE_FIXEDCHAR']._serialized_start = 3768 + _globals['_TYPE_FIXEDCHAR']._serialized_end = 3920 + _globals['_TYPE_VARCHAR']._serialized_start = 3923 + _globals['_TYPE_VARCHAR']._serialized_end = 4073 + _globals['_TYPE_FIXEDBINARY']._serialized_start = 4076 + _globals['_TYPE_FIXEDBINARY']._serialized_end = 4230 + _globals['_TYPE_DECIMAL']._serialized_start = 4233 + _globals['_TYPE_DECIMAL']._serialized_end = 4411 + _globals['_TYPE_PRECISIONTIMESTAMP']._serialized_start = 4414 + _globals['_TYPE_PRECISIONTIMESTAMP']._serialized_end = 4581 + _globals['_TYPE_PRECISIONTIMESTAMPTZ']._serialized_start = 4584 + _globals['_TYPE_PRECISIONTIMESTAMPTZ']._serialized_end = 4753 + _globals['_TYPE_STRUCT']._serialized_start = 4756 + _globals['_TYPE_STRUCT']._serialized_end = 4916 + _globals['_TYPE_LIST']._serialized_start = 4919 + _globals['_TYPE_LIST']._serialized_end = 5075 + _globals['_TYPE_MAP']._serialized_start = 5078 + _globals['_TYPE_MAP']._serialized_end = 5266 + _globals['_TYPE_USERDEFINED']._serialized_start = 5269 + _globals['_TYPE_USERDEFINED']._serialized_end = 5502 + _globals['_TYPE_PARAMETER']._serialized_start = 5505 + _globals['_TYPE_PARAMETER']._serialized_end = 5723 + _globals['_TYPE_NULLABILITY']._serialized_start = 5725 + _globals['_TYPE_NULLABILITY']._serialized_end = 5819 + _globals['_NAMEDSTRUCT']._serialized_start = 5829 + _globals['_NAMEDSTRUCT']._serialized_end = 5908 \ No newline at end of file diff --git a/third_party/substrait b/third_party/substrait index bc4d6fb..ff013aa 160000 --- a/third_party/substrait +++ b/third_party/substrait @@ -1 +1 @@ -Subproject commit bc4d6fb9bc0435c3db24172566c343e119fc50a9 +Subproject commit ff013aaca4ed1083e318532b74fb3e72f665e357