diff --git a/src/substrait/__init__.py b/src/substrait/__init__.py index d726be0..a40a658 100644 --- a/src/substrait/__init__.py +++ b/src/substrait/__init__.py @@ -3,6 +3,6 @@ except ImportError: pass -__substrait_version__ = "0.52.0" -__substrait_hash__ = "a68c1ac" +__substrait_version__ = "0.54.0" +__substrait_hash__ = "93c8339" __minimum_substrait_version__ = "0.30.0" diff --git a/src/substrait/extensions/functions_aggregate_decimal_output.yaml b/src/substrait/extensions/functions_aggregate_decimal_output.yaml new file mode 100644 index 0000000..13a3b2e --- /dev/null +++ b/src/substrait/extensions/functions_aggregate_decimal_output.yaml @@ -0,0 +1,41 @@ +%YAML 1.2 +--- +aggregate_functions: + - name: "count" + description: Count a set of values. Result is returned as a decimal instead of i64. + impls: + - args: + - name: x + value: any + options: + overflow: + values: [SILENT, SATURATE, ERROR] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: decimal<38,0> + return: decimal<38,0> + - name: "count" + description: "Count a set of records (not field referenced). Result is returned as a decimal instead of i64." + impls: + - options: + overflow: + values: [SILENT, SATURATE, ERROR] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: decimal<38,0> + return: decimal<38,0> + - name: "approx_count_distinct" + description: >- + Calculates the approximate number of rows that contain distinct values of the expression argument using + HyperLogLog. This function provides an alternative to the COUNT (DISTINCT expression) function, which + returns the exact number of rows that contain distinct values of an expression. APPROX_COUNT_DISTINCT + processes large amounts of data significantly faster than COUNT, with negligible deviation from the exact + result. Result is returned as a decimal instead of i64. + impls: + - args: + - name: x + value: any + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: binary + return: decimal<38,0> diff --git a/src/substrait/extensions/functions_arithmetic_decimal.yaml b/src/substrait/extensions/functions_arithmetic_decimal.yaml index b62c634..57cdbe3 100644 --- a/src/substrait/extensions/functions_arithmetic_decimal.yaml +++ b/src/substrait/extensions/functions_arithmetic_decimal.yaml @@ -102,7 +102,7 @@ scalar_functions: scale_after_borrow = max(init_scale - delta, min_scale) scale = init_prec > 38 ? scale_after_borrow : init_scale DECIMAL - - + - name: "abs" description: Calculate the absolute value of the argument. impls: @@ -110,6 +110,78 @@ scalar_functions: - name: x value: decimal return: decimal + - name: "bitwise_and" + description: > + Return the bitwise AND result for two decimal inputs. + In inputs scale must be 0 (i.e. only integer types are allowed) + impls: + - args: + - name: x + value: "DECIMAL" + - name: y + value: "DECIMAL" + return: |- + max_precision = max(P1, P2) + DECIMAL + - name: "bitwise_or" + description: > + Return the bitwise OR result for two given decimal inputs. + In inputs scale must be 0 (i.e. only integer types are allowed) + impls: + - args: + - name: x + value: "DECIMAL" + - name: y + value: "DECIMAL" + return: |- + max_precision = max(P1, P2) + DECIMAL + - name: "bitwise_xor" + description: > + Return the bitwise XOR result for two given decimal inputs. + In inputs scale must be 0 (i.e. only integer types are allowed) + impls: + - args: + - name: x + value: "DECIMAL" + - name: y + value: "DECIMAL" + return: |- + max_precision = max(P1, P2) + DECIMAL + - name: "sqrt" + description: Square root of the value. Sqrt of 0 is 0 and sqrt of negative values will raise an error. + impls: + - args: + - name: x + value: "DECIMAL" + return: fp64 + - name: "factorial" + description: > + Return the factorial of a given decimal input. Scale should be 0 for factorial decimal input. + The factorial of 0! is 1 by convention. Negative inputs will raise an error. + Input which cause overflow of result will raise an error. + impls: + - args: + - name: "n" + value: "DECIMAL" + return: "DECIMAL<38,0>" + - + name: "power" + description: "Take the power with x as the base and y as exponent. + Behavior for complex number result is indicated by option complex_number_result" + impls: + - args: + - name: x + value: "DECIMAL" + - name: y + value: "DECIMAL" + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + complex_number_result: + values: [ NAN, ERROR ] + return: fp64 aggregate_functions: - name: "sum" diff --git a/src/substrait/extensions/functions_datetime.yaml b/src/substrait/extensions/functions_datetime.yaml index 0d575b5..cde3beb 100644 --- a/src/substrait/extensions/functions_datetime.yaml +++ b/src/substrait/extensions/functions_datetime.yaml @@ -83,7 +83,7 @@ scalar_functions: MILLISECOND, MICROSECOND, NANOSECOND, SUBSECOND, UNIX_TIME, TIMEZONE_OFFSET ] description: The part of the value to extract. - name: x - value: precision_timestamp_tz + value: precision_timestamp_tz

- name: timezone description: Timezone string from IANA tzdb. value: string @@ -102,7 +102,7 @@ scalar_functions: MILLISECOND, MICROSECOND, NANOSECOND, SUBSECOND, UNIX_TIME ] description: The part of the value to extract. - name: x - value: precision_timestamp + value: precision_timestamp

return: i64 - args: - name: component @@ -141,7 +141,7 @@ scalar_functions: options: [ ONE, ZERO ] description: Start counting from 1 or 0. - name: x - value: precision_timestamp_tz + value: precision_timestamp_tz

- name: timezone description: Timezone string from IANA tzdb. value: string @@ -166,7 +166,7 @@ scalar_functions: options: [ ONE, ZERO ] description: Start counting from 1 or 0. - name: x - value: precision_timestamp + value: precision_timestamp

return: i64 - args: - name: component @@ -198,6 +198,13 @@ scalar_functions: - name: x value: timestamp return: boolean + - args: + - name: component + options: [ IS_LEAP_YEAR ] + description: The part of the value to extract. + - name: x + value: precision_timestamp

+ return: boolean - args: - name: component options: [ IS_LEAP_YEAR, IS_DST ] @@ -208,6 +215,16 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: boolean + - args: + - name: component + options: [ IS_LEAP_YEAR, IS_DST ] + description: The part of the value to extract. + - name: x + value: precision_timestamp_tz

+ - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: boolean - args: - name: component options: [ IS_LEAP_YEAR ] @@ -230,6 +247,12 @@ scalar_functions: - name: y value: interval_year return: timestamp + - args: + - name: x + value: precision_timestamp

+ - name: y + value: interval_year + return: precision_timestamp

- args: - name: x value: timestamp_tz @@ -239,6 +262,15 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: interval_year + - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: precision_timestamp_tz

- args: - name: x value: date @@ -251,12 +283,24 @@ scalar_functions: - name: y value: interval_day return: timestamp + - args: + - name: x + value: precision_timestamp

+ - name: y + value: interval_day + return: precision_timestamp

- args: - name: x value: timestamp_tz - name: y value: interval_day return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: interval_day + return: precision_timestamp_tz

- args: - name: x value: date @@ -346,12 +390,24 @@ scalar_functions: - name: y value: interval_year return: timestamp + - args: + - name: x + value: precision_timestamp

+ - name: y + value: interval_year + return: precision_timestamp

- args: - name: x value: timestamp_tz - name: y value: interval_year return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: interval_year + return: precision_timestamp_tz

- args: - name: x value: timestamp_tz @@ -361,6 +417,15 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: interval_year + - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: precision_timestamp_tz

- args: - name: x value: date @@ -373,12 +438,24 @@ scalar_functions: - name: y value: interval_day return: timestamp + - args: + - name: x + value: precision_timestamp

+ - name: y + value: interval_day + return: precision_timestamp

- args: - name: x value: timestamp_tz - name: y value: interval_day return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: interval_day + return: precision_timestamp_tz

- args: - name: x value: date @@ -395,12 +472,24 @@ scalar_functions: - name: y value: timestamp return: boolean + - args: + - name: x + value: precision_timestamp

+ - name: y + value: precision_timestamp

+ return: boolean - args: - name: x value: timestamp_tz - name: y value: timestamp_tz return: boolean + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: precision_timestamp_tz

+ return: boolean - args: - name: x value: date @@ -429,12 +518,24 @@ scalar_functions: - name: y value: timestamp return: boolean + - args: + - name: x + value: precision_timestamp

+ - name: y + value: precision_timestamp

+ return: boolean - args: - name: x value: timestamp_tz - name: y value: timestamp_tz return: boolean + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: precision_timestamp_tz

+ return: boolean - args: - name: x value: date @@ -463,12 +564,24 @@ scalar_functions: - name: y value: timestamp return: boolean + - args: + - name: x + value: precision_timestamp

+ - name: y + value: precision_timestamp

+ return: boolean - args: - name: x value: timestamp_tz - name: y value: timestamp_tz return: boolean + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: precision_timestamp_tz

+ return: boolean - args: - name: x value: date @@ -497,12 +610,24 @@ scalar_functions: - name: y value: timestamp return: boolean + - args: + - name: x + value: precision_timestamp

+ - name: y + value: precision_timestamp

+ return: boolean - args: - name: x value: timestamp_tz - name: y value: timestamp_tz return: boolean + - args: + - name: x + value: precision_timestamp_tz

+ - name: y + value: precision_timestamp_tz

+ return: boolean - args: - name: x value: date @@ -537,6 +662,13 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: timestamp_tz + - args: + - name: x + value: precision_timestamp

+ - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: precision_timestamp_tz

- args: - name: x value: date @@ -560,6 +692,13 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: timestamp + - args: + - name: x + value: precision_timestamp_tz

+ - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: precision_timestamp

- name: "strptime_time" description: >- @@ -627,6 +766,12 @@ scalar_functions: - name: format value: string return: string + - args: + - name: x + value: precision_timestamp

+ - name: format + value: string + return: string - args: - name: x value: timestamp_tz @@ -636,6 +781,15 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: string + - args: + - name: x + value: precision_timestamp_tz

+ - name: format + value: string + - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: string - args: - name: x value: date @@ -674,6 +828,18 @@ scalar_functions: - name: origin value: timestamp return: timestamp + - args: + - name: x + value: precision_timestamp

+ - name: rounding + options: [ FLOOR, CEIL, ROUND_TIE_DOWN, ROUND_TIE_UP ] + - name: unit + options: [ YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND ] + - name: multiple + value: i64 + - name: origin + value: precision_timestamp

+ return: precision_timestamp

- args: - name: x value: timestamp_tz @@ -689,6 +855,21 @@ scalar_functions: - name: origin value: timestamp_tz return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: rounding + options: [ FLOOR, CEIL, ROUND_TIE_DOWN, ROUND_TIE_UP ] + - name: unit + options: [ YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND ] + - name: multiple + value: i64 + - name: timezone + description: Timezone string from IANA tzdb. + value: string + - name: origin + value: precision_timestamp_tz

+ return: precision_timestamp_tz

- args: - name: x value: date @@ -741,6 +922,19 @@ scalar_functions: - name: multiple value: i64 return: timestamp + - args: + - name: x + value: precision_timestamp

+ - name: rounding + options: [ FLOOR, CEIL, ROUND_TIE_DOWN, ROUND_TIE_UP ] + - name: unit + options: [ YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND ] + - name: origin + options: [ YEAR, MONTH, MONDAY_WEEK, SUNDAY_WEEK, ISO_WEEK, + US_WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND ] + - name: multiple + value: i64 + return: precision_timestamp

- args: - name: x value: timestamp_tz @@ -757,6 +951,22 @@ scalar_functions: description: Timezone string from IANA tzdb. value: string return: timestamp_tz + - args: + - name: x + value: precision_timestamp_tz

+ - name: rounding + options: [ FLOOR, CEIL, ROUND_TIE_DOWN, ROUND_TIE_UP ] + - name: unit + options: [ YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND ] + - name: origin + options: [ YEAR, MONTH, MONDAY_WEEK, SUNDAY_WEEK, ISO_WEEK, + US_WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND ] + - name: multiple + value: i64 + - name: timezone + description: Timezone string from IANA tzdb. + value: string + return: precision_timestamp_tz

- args: - name: x value: date @@ -811,6 +1021,13 @@ aggregate_functions: decomposable: MANY intermediate: timestamp? return: timestamp? + - args: + - name: x + value: precision_timestamp

+ nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: precision_timestamp?

+ return: precision_timestamp?

- args: - name: x value: timestamp_tz @@ -818,6 +1035,13 @@ aggregate_functions: decomposable: MANY intermediate: timestamp_tz? return: timestamp_tz? + - args: + - name: x + value: precision_timestamp_tz

+ nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: precision_timestamp_tz?

+ return: precision_timestamp_tz?

- args: - name: x value: interval_day @@ -863,6 +1087,13 @@ aggregate_functions: decomposable: MANY intermediate: timestamp_tz? return: timestamp_tz? + - args: + - name: x + value: precision_timestamp_tz

+ nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: precision_timestamp_tz?

+ return: precision_timestamp_tz?

- args: - name: x value: interval_day diff --git a/src/substrait/extensions/functions_logarithmic.yaml b/src/substrait/extensions/functions_logarithmic.yaml index 5925e6c..b46f3d3 100644 --- a/src/substrait/extensions/functions_logarithmic.yaml +++ b/src/substrait/extensions/functions_logarithmic.yaml @@ -38,6 +38,17 @@ scalar_functions: on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 + - args: + - name: x + value: decimal + options: + rounding: + values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + on_domain_error: + values: [ NAN, "NULL", ERROR ] + on_log_zero: + values: [ NAN, ERROR, MINUS_INFINITY ] + return: fp64 - name: "log10" description: "Logarithm to base 10 of the value" @@ -75,6 +86,17 @@ scalar_functions: on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 + - args: + - name: x + value: decimal + options: + rounding: + values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + on_domain_error: + values: [ NAN, "NULL", ERROR ] + on_log_zero: + values: [ NAN, ERROR, MINUS_INFINITY ] + return: fp64 - name: "log2" description: "Logarithm to base 2 of the value" @@ -112,6 +134,17 @@ scalar_functions: on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 + - args: + - name: x + value: decimal + options: + rounding: + values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + on_domain_error: + values: [ NAN, "NULL", ERROR ] + on_log_zero: + values: [ NAN, ERROR, MINUS_INFINITY ] + return: fp64 - name: "logb" description: > @@ -164,6 +197,21 @@ scalar_functions: on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 + - args: + - value: decimal + name: "x" + description: "The number `x` to compute the logarithm of" + - value: decimal + name: "base" + description: "The logarithm base `b` to use" + options: + rounding: + values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + on_domain_error: + values: [ NAN, "NULL", ERROR ] + on_log_zero: + values: [NAN, ERROR, MINUS_INFINITY] + return: fp64 - name: "log1p" description: > @@ -193,3 +241,14 @@ scalar_functions: on_log_zero: values: [NAN, ERROR, MINUS_INFINITY] return: fp64 + - args: + - name: x + value: decimal + options: + rounding: + values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + on_domain_error: + values: [ NAN, "NULL", ERROR ] + on_log_zero: + values: [NAN, ERROR, MINUS_INFINITY] + return: fp64 diff --git a/src/substrait/gen/proto/algebra_pb2.py b/src/substrait/gen/proto/algebra_pb2.py index 516206d..b9eb719 100644 --- a/src/substrait/gen/proto/algebra_pb2.py +++ b/src/substrait/gen/proto/algebra_pb2.py @@ -7,7 +7,7 @@ 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"\xa4\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\xf1\x03\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\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"\xf7\r\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\xf1\x06\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\xd1\x05\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\x1a\x14\n\x12ParquetReadOptions\x1a\x12\n\x10ArrowReadOptions\x1a\x10\n\x0eOrcReadOptions\x1a\x11\n\x0fDwrfReadOptionsB\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"\x9f\x04\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"\xb6\x01\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\x12\n\x0eJOIN_TYPE_SEMI\x10\x05\x12\x12\n\x0eJOIN_TYPE_ANTI\x10\x06\x12\x14\n\x10JOIN_TYPE_SINGLE\x10\x07"\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"\xd2\x05\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"\xde\x01\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"\xd4\x05\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"\xde\x01\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"\x9e\x04\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"\xde\x01\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"\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"\xefR\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\xb6\x12\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\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(\x04R\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\x1ag\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(\x05R\x0cmicroseconds\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') +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"\xa4\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\xf1\x03\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\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"\xfe\x04\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"\x95\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"\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"\x89\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"\x95\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"\x8b\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"\x95\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"\xd5\x04\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"\x95\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"\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()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -25,6 +25,8 @@ _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 @@ -37,8 +39,8 @@ _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 = 25147 - _AGGREGATIONPHASE._serialized_end = 25386 + _AGGREGATIONPHASE._serialized_start = 26195 + _AGGREGATIONPHASE._serialized_end = 26434 _RELCOMMON._serialized_start = 111 _RELCOMMON._serialized_end = 915 _RELCOMMON_DIRECT._serialized_start = 347 @@ -52,7 +54,7 @@ _RELCOMMON_HINT_RUNTIMECONSTRAINT._serialized_start = 799 _RELCOMMON_HINT_RUNTIMECONSTRAINT._serialized_end = 902 _READREL._serialized_start = 918 - _READREL._serialized_end = 2701 + _READREL._serialized_end = 3088 _READREL_NAMEDTABLE._serialized_start = 1548 _READREL_NAMEDTABLE._serialized_end = 1666 _READREL_VIRTUALTABLE._serialized_start = 1668 @@ -60,250 +62,254 @@ _READREL_EXTENSIONTABLE._serialized_start = 1742 _READREL_EXTENSIONTABLE._serialized_end = 1804 _READREL_LOCALFILES._serialized_start = 1807 - _READREL_LOCALFILES._serialized_end = 2688 + _READREL_LOCALFILES._serialized_end = 3075 _READREL_LOCALFILES_FILEORFILES._serialized_start = 1967 - _READREL_LOCALFILES_FILEORFILES._serialized_end = 2688 - _READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS._serialized_start = 2569 - _READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS._serialized_end = 2589 - _READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS._serialized_start = 2591 - _READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS._serialized_end = 2609 - _READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS._serialized_start = 2611 - _READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS._serialized_end = 2627 - _READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS._serialized_start = 2629 - _READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS._serialized_end = 2646 - _PROJECTREL._serialized_start = 2704 - _PROJECTREL._serialized_end = 2929 - _JOINREL._serialized_start = 2932 - _JOINREL._serialized_end = 3475 - _JOINREL_JOINTYPE._serialized_start = 3293 - _JOINREL_JOINTYPE._serialized_end = 3475 - _CROSSREL._serialized_start = 3478 - _CROSSREL._serialized_end = 3680 - _FETCHREL._serialized_start = 3683 - _FETCHREL._serialized_end = 3899 - _AGGREGATEREL._serialized_start = 3902 - _AGGREGATEREL._serialized_end = 4381 - _AGGREGATEREL_GROUPING._serialized_start = 4195 - _AGGREGATEREL_GROUPING._serialized_end = 4275 - _AGGREGATEREL_MEASURE._serialized_start = 4277 - _AGGREGATEREL_MEASURE._serialized_end = 4381 - _CONSISTENTPARTITIONWINDOWREL._serialized_start = 4384 - _CONSISTENTPARTITIONWINDOWREL._serialized_end = 5354 - _CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION._serialized_start = 4787 - _CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION._serialized_end = 5354 - _SORTREL._serialized_start = 5357 - _SORTREL._serialized_end = 5566 - _FILTERREL._serialized_start = 5569 - _FILTERREL._serialized_end = 5789 - _SETREL._serialized_start = 5792 - _SETREL._serialized_end = 6202 - _SETREL_SETOP._serialized_start = 6002 - _SETREL_SETOP._serialized_end = 6202 - _EXTENSIONSINGLEREL._serialized_start = 6205 - _EXTENSIONSINGLEREL._serialized_end = 6347 - _EXTENSIONLEAFREL._serialized_start = 6349 - _EXTENSIONLEAFREL._serialized_end = 6455 - _EXTENSIONMULTIREL._serialized_start = 6458 - _EXTENSIONMULTIREL._serialized_end = 6601 - _EXCHANGEREL._serialized_start = 6604 - _EXCHANGEREL._serialized_end = 7733 - _EXCHANGEREL_SCATTERFIELDS._serialized_start = 7250 - _EXCHANGEREL_SCATTERFIELDS._serialized_end = 7323 - _EXCHANGEREL_SINGLEBUCKETEXPRESSION._serialized_start = 7325 - _EXCHANGEREL_SINGLEBUCKETEXPRESSION._serialized_end = 7400 - _EXCHANGEREL_MULTIBUCKETEXPRESSION._serialized_start = 7402 - _EXCHANGEREL_MULTIBUCKETEXPRESSION._serialized_end = 7526 - _EXCHANGEREL_BROADCAST._serialized_start = 7528 - _EXCHANGEREL_BROADCAST._serialized_end = 7539 - _EXCHANGEREL_ROUNDROBIN._serialized_start = 7541 - _EXCHANGEREL_ROUNDROBIN._serialized_end = 7575 - _EXCHANGEREL_EXCHANGETARGET._serialized_start = 7578 - _EXCHANGEREL_EXCHANGETARGET._serialized_end = 7716 - _EXPANDREL._serialized_start = 7736 - _EXPANDREL._serialized_end = 8116 - _EXPANDREL_EXPANDFIELD._serialized_start = 7880 - _EXPANDREL_EXPANDFIELD._serialized_end = 8047 - _EXPANDREL_SWITCHINGFIELD._serialized_start = 8049 - _EXPANDREL_SWITCHINGFIELD._serialized_end = 8116 - _RELROOT._serialized_start = 8118 - _RELROOT._serialized_end = 8183 - _REL._serialized_start = 8186 - _REL._serialized_end = 9246 - _NAMEDOBJECTWRITE._serialized_start = 9248 - _NAMEDOBJECTWRITE._serialized_end = 9372 - _EXTENSIONOBJECT._serialized_start = 9374 - _EXTENSIONOBJECT._serialized_end = 9437 - _DDLREL._serialized_start = 9440 - _DDLREL._serialized_end = 10130 - _DDLREL_DDLOBJECT._serialized_start = 9890 - _DDLREL_DDLOBJECT._serialized_end = 9972 - _DDLREL_DDLOP._serialized_start = 9975 - _DDLREL_DDLOP._serialized_end = 10116 - _WRITEREL._serialized_start = 10133 - _WRITEREL._serialized_end = 10731 - _WRITEREL_WRITEOP._serialized_start = 10496 - _WRITEREL_WRITEOP._serialized_end = 10613 - _WRITEREL_OUTPUTMODE._serialized_start = 10615 - _WRITEREL_OUTPUTMODE._serialized_end = 10717 - _COMPARISONJOINKEY._serialized_start = 10734 - _COMPARISONJOINKEY._serialized_end = 11289 - _COMPARISONJOINKEY_COMPARISONTYPE._serialized_start = 10939 - _COMPARISONJOINKEY_COMPARISONTYPE._serialized_end = 11104 - _COMPARISONJOINKEY_SIMPLECOMPARISONTYPE._serialized_start = 11107 - _COMPARISONJOINKEY_SIMPLECOMPARISONTYPE._serialized_end = 11289 - _HASHJOINREL._serialized_start = 11292 - _HASHJOINREL._serialized_end = 12014 - _HASHJOINREL_JOINTYPE._serialized_start = 11792 - _HASHJOINREL_JOINTYPE._serialized_end = 12014 - _MERGEJOINREL._serialized_start = 12017 - _MERGEJOINREL._serialized_end = 12741 - _MERGEJOINREL_JOINTYPE._serialized_start = 11792 - _MERGEJOINREL_JOINTYPE._serialized_end = 12014 - _NESTEDLOOPJOINREL._serialized_start = 12744 - _NESTEDLOOPJOINREL._serialized_end = 13286 - _NESTEDLOOPJOINREL_JOINTYPE._serialized_start = 11792 - _NESTEDLOOPJOINREL_JOINTYPE._serialized_end = 12014 - _FUNCTIONARGUMENT._serialized_start = 13289 - _FUNCTIONARGUMENT._serialized_end = 13419 - _FUNCTIONOPTION._serialized_start = 13421 - _FUNCTIONOPTION._serialized_end = 13489 - _EXPRESSION._serialized_start = 13492 - _EXPRESSION._serialized_end = 24099 - _EXPRESSION_ENUM._serialized_start = 14271 - _EXPRESSION_ENUM._serialized_end = 14405 - _EXPRESSION_ENUM_EMPTY._serialized_start = 14377 - _EXPRESSION_ENUM_EMPTY._serialized_end = 14388 - _EXPRESSION_LITERAL._serialized_start = 14408 - _EXPRESSION_LITERAL._serialized_end = 16766 - _EXPRESSION_LITERAL_VARCHAR._serialized_start = 15825 - _EXPRESSION_LITERAL_VARCHAR._serialized_end = 15880 - _EXPRESSION_LITERAL_DECIMAL._serialized_start = 15882 - _EXPRESSION_LITERAL_DECIMAL._serialized_end = 15965 - _EXPRESSION_LITERAL_PRECISIONTIMESTAMP._serialized_start = 15967 - _EXPRESSION_LITERAL_PRECISIONTIMESTAMP._serialized_end = 16039 - _EXPRESSION_LITERAL_MAP._serialized_start = 16042 - _EXPRESSION_LITERAL_MAP._serialized_end = 16224 - _EXPRESSION_LITERAL_MAP_KEYVALUE._serialized_start = 16120 - _EXPRESSION_LITERAL_MAP_KEYVALUE._serialized_end = 16224 - _EXPRESSION_LITERAL_INTERVALYEARTOMONTH._serialized_start = 16226 - _EXPRESSION_LITERAL_INTERVALYEARTOMONTH._serialized_end = 16293 - _EXPRESSION_LITERAL_INTERVALDAYTOSECOND._serialized_start = 16295 - _EXPRESSION_LITERAL_INTERVALDAYTOSECOND._serialized_end = 16398 - _EXPRESSION_LITERAL_STRUCT._serialized_start = 16400 - _EXPRESSION_LITERAL_STRUCT._serialized_end = 16459 - _EXPRESSION_LITERAL_LIST._serialized_start = 16461 - _EXPRESSION_LITERAL_LIST._serialized_end = 16518 - _EXPRESSION_LITERAL_USERDEFINED._serialized_start = 16521 - _EXPRESSION_LITERAL_USERDEFINED._serialized_end = 16750 - _EXPRESSION_NESTED._serialized_start = 16769 - _EXPRESSION_NESTED._serialized_end = 17312 - _EXPRESSION_NESTED_MAP._serialized_start = 17028 - _EXPRESSION_NESTED_MAP._serialized_end = 17193 - _EXPRESSION_NESTED_MAP_KEYVALUE._serialized_start = 17105 - _EXPRESSION_NESTED_MAP_KEYVALUE._serialized_end = 17193 - _EXPRESSION_NESTED_STRUCT._serialized_start = 17195 - _EXPRESSION_NESTED_STRUCT._serialized_end = 17246 - _EXPRESSION_NESTED_LIST._serialized_start = 17248 - _EXPRESSION_NESTED_LIST._serialized_end = 17297 - _EXPRESSION_SCALARFUNCTION._serialized_start = 17315 - _EXPRESSION_SCALARFUNCTION._serialized_end = 17571 - _EXPRESSION_WINDOWFUNCTION._serialized_start = 17574 - _EXPRESSION_WINDOWFUNCTION._serialized_end = 18811 - _EXPRESSION_WINDOWFUNCTION_BOUND._serialized_start = 18275 - _EXPRESSION_WINDOWFUNCTION_BOUND._serialized_end = 18723 - _EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING._serialized_start = 18616 - _EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING._serialized_end = 18651 - _EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING._serialized_start = 18653 - _EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING._serialized_end = 18688 - _EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW._serialized_start = 18690 - _EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW._serialized_end = 18702 - _EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED._serialized_start = 18704 - _EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED._serialized_end = 18715 - _EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE._serialized_start = 18725 - _EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE._serialized_end = 18811 - _EXPRESSION_IFTHEN._serialized_start = 18814 - _EXPRESSION_IFTHEN._serialized_end = 19000 - _EXPRESSION_IFTHEN_IFCLAUSE._serialized_start = 18916 - _EXPRESSION_IFTHEN_IFCLAUSE._serialized_end = 19000 - _EXPRESSION_CAST._serialized_start = 19003 - _EXPRESSION_CAST._serialized_end = 19291 - _EXPRESSION_CAST_FAILUREBEHAVIOR._serialized_start = 19168 - _EXPRESSION_CAST_FAILUREBEHAVIOR._serialized_end = 19291 - _EXPRESSION_SWITCHEXPRESSION._serialized_start = 19294 - _EXPRESSION_SWITCHEXPRESSION._serialized_end = 19547 - _EXPRESSION_SWITCHEXPRESSION_IFVALUE._serialized_start = 19456 - _EXPRESSION_SWITCHEXPRESSION_IFVALUE._serialized_end = 19547 - _EXPRESSION_SINGULARORLIST._serialized_start = 19549 - _EXPRESSION_SINGULARORLIST._serialized_end = 19651 - _EXPRESSION_MULTIORLIST._serialized_start = 19654 - _EXPRESSION_MULTIORLIST._serialized_end = 19825 - _EXPRESSION_MULTIORLIST_RECORD._serialized_start = 19774 - _EXPRESSION_MULTIORLIST_RECORD._serialized_end = 19825 - _EXPRESSION_EMBEDDEDFUNCTION._serialized_start = 19828 - _EXPRESSION_EMBEDDEDFUNCTION._serialized_end = 20343 - _EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION._serialized_start = 20166 - _EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION._serialized_end = 20252 - _EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION._serialized_start = 20254 - _EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION._serialized_end = 20335 - _EXPRESSION_REFERENCESEGMENT._serialized_start = 20346 - _EXPRESSION_REFERENCESEGMENT._serialized_end = 20934 - _EXPRESSION_REFERENCESEGMENT_MAPKEY._serialized_start = 20606 - _EXPRESSION_REFERENCESEGMENT_MAPKEY._serialized_end = 20724 - _EXPRESSION_REFERENCESEGMENT_STRUCTFIELD._serialized_start = 20726 - _EXPRESSION_REFERENCESEGMENT_STRUCTFIELD._serialized_end = 20819 - _EXPRESSION_REFERENCESEGMENT_LISTELEMENT._serialized_start = 20821 - _EXPRESSION_REFERENCESEGMENT_LISTELEMENT._serialized_end = 20916 - _EXPRESSION_MASKEXPRESSION._serialized_start = 20937 - _EXPRESSION_MASKEXPRESSION._serialized_end = 22327 - _EXPRESSION_MASKEXPRESSION_SELECT._serialized_start = 21085 - _EXPRESSION_MASKEXPRESSION_SELECT._serialized_end = 21305 - _EXPRESSION_MASKEXPRESSION_STRUCTSELECT._serialized_start = 21307 - _EXPRESSION_MASKEXPRESSION_STRUCTSELECT._serialized_end = 21401 - _EXPRESSION_MASKEXPRESSION_STRUCTITEM._serialized_start = 21403 - _EXPRESSION_MASKEXPRESSION_STRUCTITEM._serialized_end = 21500 - _EXPRESSION_MASKEXPRESSION_LISTSELECT._serialized_start = 21503 - _EXPRESSION_MASKEXPRESSION_LISTSELECT._serialized_end = 21973 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM._serialized_start = 21671 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM._serialized_end = 21973 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT._serialized_start = 21877 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT._serialized_end = 21912 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE._serialized_start = 21914 - _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE._serialized_end = 21965 - _EXPRESSION_MASKEXPRESSION_MAPSELECT._serialized_start = 21976 - _EXPRESSION_MASKEXPRESSION_MAPSELECT._serialized_end = 22327 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY._serialized_start = 22218 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY._serialized_end = 22251 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION._serialized_start = 22253 - _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION._serialized_end = 22317 - _EXPRESSION_FIELDREFERENCE._serialized_start = 22330 - _EXPRESSION_FIELDREFERENCE._serialized_end = 22835 - _EXPRESSION_FIELDREFERENCE_ROOTREFERENCE._serialized_start = 22742 - _EXPRESSION_FIELDREFERENCE_ROOTREFERENCE._serialized_end = 22757 - _EXPRESSION_FIELDREFERENCE_OUTERREFERENCE._serialized_start = 22759 - _EXPRESSION_FIELDREFERENCE_OUTERREFERENCE._serialized_end = 22804 - _EXPRESSION_SUBQUERY._serialized_start = 22838 - _EXPRESSION_SUBQUERY._serialized_end = 24087 - _EXPRESSION_SUBQUERY_SCALAR._serialized_start = 23151 - _EXPRESSION_SUBQUERY_SCALAR._serialized_end = 23193 - _EXPRESSION_SUBQUERY_INPREDICATE._serialized_start = 23195 - _EXPRESSION_SUBQUERY_INPREDICATE._serialized_end = 23293 - _EXPRESSION_SUBQUERY_SETPREDICATE._serialized_start = 23296 - _EXPRESSION_SUBQUERY_SETPREDICATE._serialized_end = 23529 - _EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP._serialized_start = 23436 - _EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP._serialized_end = 23529 - _EXPRESSION_SUBQUERY_SETCOMPARISON._serialized_start = 23532 - _EXPRESSION_SUBQUERY_SETCOMPARISON._serialized_end = 24070 - _EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP._serialized_start = 23804 - _EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP._serialized_end = 23981 - _EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP._serialized_start = 23983 - _EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP._serialized_end = 24070 - _SORTFIELD._serialized_start = 24102 - _SORTFIELD._serialized_end = 24523 - _SORTFIELD_SORTDIRECTION._serialized_start = 24289 - _SORTFIELD_SORTDIRECTION._serialized_end = 24510 - _AGGREGATEFUNCTION._serialized_start = 24526 - _AGGREGATEFUNCTION._serialized_end = 25087 - _AGGREGATEFUNCTION_AGGREGATIONINVOCATION._serialized_start = 24955 - _AGGREGATEFUNCTION_AGGREGATIONINVOCATION._serialized_end = 25087 - _REFERENCEREL._serialized_start = 25089 - _REFERENCEREL._serialized_end = 25144 \ No newline at end of file + _READREL_LOCALFILES_FILEORFILES._serialized_end = 3075 + _READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS._serialized_start = 2664 + _READREL_LOCALFILES_FILEORFILES_PARQUETREADOPTIONS._serialized_end = 2684 + _READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS._serialized_start = 2686 + _READREL_LOCALFILES_FILEORFILES_ARROWREADOPTIONS._serialized_end = 2704 + _READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS._serialized_start = 2706 + _READREL_LOCALFILES_FILEORFILES_ORCREADOPTIONS._serialized_end = 2722 + _READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS._serialized_start = 2724 + _READREL_LOCALFILES_FILEORFILES_DWRFREADOPTIONS._serialized_end = 2741 + _READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS._serialized_start = 2744 + _READREL_LOCALFILES_FILEORFILES_DELIMITERSEPARATEDTEXTREADOPTIONS._serialized_end = 3033 + _PROJECTREL._serialized_start = 3091 + _PROJECTREL._serialized_end = 3316 + _JOINREL._serialized_start = 3319 + _JOINREL._serialized_end = 3957 + _JOINREL_JOINTYPE._serialized_start = 3680 + _JOINREL_JOINTYPE._serialized_end = 3957 + _CROSSREL._serialized_start = 3960 + _CROSSREL._serialized_end = 4162 + _FETCHREL._serialized_start = 4165 + _FETCHREL._serialized_end = 4381 + _AGGREGATEREL._serialized_start = 4384 + _AGGREGATEREL._serialized_end = 4863 + _AGGREGATEREL_GROUPING._serialized_start = 4677 + _AGGREGATEREL_GROUPING._serialized_end = 4757 + _AGGREGATEREL_MEASURE._serialized_start = 4759 + _AGGREGATEREL_MEASURE._serialized_end = 4863 + _CONSISTENTPARTITIONWINDOWREL._serialized_start = 4866 + _CONSISTENTPARTITIONWINDOWREL._serialized_end = 5836 + _CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION._serialized_start = 5269 + _CONSISTENTPARTITIONWINDOWREL_WINDOWRELFUNCTION._serialized_end = 5836 + _SORTREL._serialized_start = 5839 + _SORTREL._serialized_end = 6048 + _FILTERREL._serialized_start = 6051 + _FILTERREL._serialized_end = 6271 + _SETREL._serialized_start = 6274 + _SETREL._serialized_end = 6684 + _SETREL_SETOP._serialized_start = 6484 + _SETREL_SETOP._serialized_end = 6684 + _EXTENSIONSINGLEREL._serialized_start = 6687 + _EXTENSIONSINGLEREL._serialized_end = 6829 + _EXTENSIONLEAFREL._serialized_start = 6831 + _EXTENSIONLEAFREL._serialized_end = 6937 + _EXTENSIONMULTIREL._serialized_start = 6940 + _EXTENSIONMULTIREL._serialized_end = 7083 + _EXCHANGEREL._serialized_start = 7086 + _EXCHANGEREL._serialized_end = 8215 + _EXCHANGEREL_SCATTERFIELDS._serialized_start = 7732 + _EXCHANGEREL_SCATTERFIELDS._serialized_end = 7805 + _EXCHANGEREL_SINGLEBUCKETEXPRESSION._serialized_start = 7807 + _EXCHANGEREL_SINGLEBUCKETEXPRESSION._serialized_end = 7882 + _EXCHANGEREL_MULTIBUCKETEXPRESSION._serialized_start = 7884 + _EXCHANGEREL_MULTIBUCKETEXPRESSION._serialized_end = 8008 + _EXCHANGEREL_BROADCAST._serialized_start = 8010 + _EXCHANGEREL_BROADCAST._serialized_end = 8021 + _EXCHANGEREL_ROUNDROBIN._serialized_start = 8023 + _EXCHANGEREL_ROUNDROBIN._serialized_end = 8057 + _EXCHANGEREL_EXCHANGETARGET._serialized_start = 8060 + _EXCHANGEREL_EXCHANGETARGET._serialized_end = 8198 + _EXPANDREL._serialized_start = 8218 + _EXPANDREL._serialized_end = 8598 + _EXPANDREL_EXPANDFIELD._serialized_start = 8362 + _EXPANDREL_EXPANDFIELD._serialized_end = 8529 + _EXPANDREL_SWITCHINGFIELD._serialized_start = 8531 + _EXPANDREL_SWITCHINGFIELD._serialized_end = 8598 + _RELROOT._serialized_start = 8600 + _RELROOT._serialized_end = 8665 + _REL._serialized_start = 8668 + _REL._serialized_end = 9728 + _NAMEDOBJECTWRITE._serialized_start = 9730 + _NAMEDOBJECTWRITE._serialized_end = 9854 + _EXTENSIONOBJECT._serialized_start = 9856 + _EXTENSIONOBJECT._serialized_end = 9919 + _DDLREL._serialized_start = 9922 + _DDLREL._serialized_end = 10612 + _DDLREL_DDLOBJECT._serialized_start = 10372 + _DDLREL_DDLOBJECT._serialized_end = 10454 + _DDLREL_DDLOP._serialized_start = 10457 + _DDLREL_DDLOP._serialized_end = 10598 + _WRITEREL._serialized_start = 10615 + _WRITEREL._serialized_end = 11213 + _WRITEREL_WRITEOP._serialized_start = 10978 + _WRITEREL_WRITEOP._serialized_end = 11095 + _WRITEREL_OUTPUTMODE._serialized_start = 11097 + _WRITEREL_OUTPUTMODE._serialized_end = 11199 + _COMPARISONJOINKEY._serialized_start = 11216 + _COMPARISONJOINKEY._serialized_end = 11771 + _COMPARISONJOINKEY_COMPARISONTYPE._serialized_start = 11421 + _COMPARISONJOINKEY_COMPARISONTYPE._serialized_end = 11586 + _COMPARISONJOINKEY_SIMPLECOMPARISONTYPE._serialized_start = 11589 + _COMPARISONJOINKEY_SIMPLECOMPARISONTYPE._serialized_end = 11771 + _HASHJOINREL._serialized_start = 11774 + _HASHJOINREL._serialized_end = 12551 + _HASHJOINREL_JOINTYPE._serialized_start = 12274 + _HASHJOINREL_JOINTYPE._serialized_end = 12551 + _MERGEJOINREL._serialized_start = 12554 + _MERGEJOINREL._serialized_end = 13333 + _MERGEJOINREL_JOINTYPE._serialized_start = 12274 + _MERGEJOINREL_JOINTYPE._serialized_end = 12551 + _NESTEDLOOPJOINREL._serialized_start = 13336 + _NESTEDLOOPJOINREL._serialized_end = 13933 + _NESTEDLOOPJOINREL_JOINTYPE._serialized_start = 12274 + _NESTEDLOOPJOINREL_JOINTYPE._serialized_end = 12551 + _FUNCTIONARGUMENT._serialized_start = 13936 + _FUNCTIONARGUMENT._serialized_end = 14066 + _FUNCTIONOPTION._serialized_start = 14068 + _FUNCTIONOPTION._serialized_end = 14136 + _EXPRESSION._serialized_start = 14139 + _EXPRESSION._serialized_end = 25147 + _EXPRESSION_ENUM._serialized_start = 14918 + _EXPRESSION_ENUM._serialized_end = 15052 + _EXPRESSION_ENUM_EMPTY._serialized_start = 15024 + _EXPRESSION_ENUM_EMPTY._serialized_end = 15035 + _EXPRESSION_LITERAL._serialized_start = 15055 + _EXPRESSION_LITERAL._serialized_end = 17814 + _EXPRESSION_LITERAL_VARCHAR._serialized_start = 16563 + _EXPRESSION_LITERAL_VARCHAR._serialized_end = 16618 + _EXPRESSION_LITERAL_DECIMAL._serialized_start = 16620 + _EXPRESSION_LITERAL_DECIMAL._serialized_end = 16703 + _EXPRESSION_LITERAL_PRECISIONTIMESTAMP._serialized_start = 16705 + _EXPRESSION_LITERAL_PRECISIONTIMESTAMP._serialized_end = 16777 + _EXPRESSION_LITERAL_MAP._serialized_start = 16780 + _EXPRESSION_LITERAL_MAP._serialized_end = 16962 + _EXPRESSION_LITERAL_MAP_KEYVALUE._serialized_start = 16858 + _EXPRESSION_LITERAL_MAP_KEYVALUE._serialized_end = 16962 + _EXPRESSION_LITERAL_INTERVALYEARTOMONTH._serialized_start = 16964 + _EXPRESSION_LITERAL_INTERVALYEARTOMONTH._serialized_end = 17031 + _EXPRESSION_LITERAL_INTERVALDAYTOSECOND._serialized_start = 17034 + _EXPRESSION_LITERAL_INTERVALDAYTOSECOND._serialized_end = 17225 + _EXPRESSION_LITERAL_INTERVALCOMPOUND._serialized_start = 17228 + _EXPRESSION_LITERAL_INTERVALCOMPOUND._serialized_end = 17446 + _EXPRESSION_LITERAL_STRUCT._serialized_start = 17448 + _EXPRESSION_LITERAL_STRUCT._serialized_end = 17507 + _EXPRESSION_LITERAL_LIST._serialized_start = 17509 + _EXPRESSION_LITERAL_LIST._serialized_end = 17566 + _EXPRESSION_LITERAL_USERDEFINED._serialized_start = 17569 + _EXPRESSION_LITERAL_USERDEFINED._serialized_end = 17798 + _EXPRESSION_NESTED._serialized_start = 17817 + _EXPRESSION_NESTED._serialized_end = 18360 + _EXPRESSION_NESTED_MAP._serialized_start = 18076 + _EXPRESSION_NESTED_MAP._serialized_end = 18241 + _EXPRESSION_NESTED_MAP_KEYVALUE._serialized_start = 18153 + _EXPRESSION_NESTED_MAP_KEYVALUE._serialized_end = 18241 + _EXPRESSION_NESTED_STRUCT._serialized_start = 18243 + _EXPRESSION_NESTED_STRUCT._serialized_end = 18294 + _EXPRESSION_NESTED_LIST._serialized_start = 18296 + _EXPRESSION_NESTED_LIST._serialized_end = 18345 + _EXPRESSION_SCALARFUNCTION._serialized_start = 18363 + _EXPRESSION_SCALARFUNCTION._serialized_end = 18619 + _EXPRESSION_WINDOWFUNCTION._serialized_start = 18622 + _EXPRESSION_WINDOWFUNCTION._serialized_end = 19859 + _EXPRESSION_WINDOWFUNCTION_BOUND._serialized_start = 19323 + _EXPRESSION_WINDOWFUNCTION_BOUND._serialized_end = 19771 + _EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING._serialized_start = 19664 + _EXPRESSION_WINDOWFUNCTION_BOUND_PRECEDING._serialized_end = 19699 + _EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING._serialized_start = 19701 + _EXPRESSION_WINDOWFUNCTION_BOUND_FOLLOWING._serialized_end = 19736 + _EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW._serialized_start = 19738 + _EXPRESSION_WINDOWFUNCTION_BOUND_CURRENTROW._serialized_end = 19750 + _EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED._serialized_start = 19752 + _EXPRESSION_WINDOWFUNCTION_BOUND_UNBOUNDED._serialized_end = 19763 + _EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE._serialized_start = 19773 + _EXPRESSION_WINDOWFUNCTION_BOUNDSTYPE._serialized_end = 19859 + _EXPRESSION_IFTHEN._serialized_start = 19862 + _EXPRESSION_IFTHEN._serialized_end = 20048 + _EXPRESSION_IFTHEN_IFCLAUSE._serialized_start = 19964 + _EXPRESSION_IFTHEN_IFCLAUSE._serialized_end = 20048 + _EXPRESSION_CAST._serialized_start = 20051 + _EXPRESSION_CAST._serialized_end = 20339 + _EXPRESSION_CAST_FAILUREBEHAVIOR._serialized_start = 20216 + _EXPRESSION_CAST_FAILUREBEHAVIOR._serialized_end = 20339 + _EXPRESSION_SWITCHEXPRESSION._serialized_start = 20342 + _EXPRESSION_SWITCHEXPRESSION._serialized_end = 20595 + _EXPRESSION_SWITCHEXPRESSION_IFVALUE._serialized_start = 20504 + _EXPRESSION_SWITCHEXPRESSION_IFVALUE._serialized_end = 20595 + _EXPRESSION_SINGULARORLIST._serialized_start = 20597 + _EXPRESSION_SINGULARORLIST._serialized_end = 20699 + _EXPRESSION_MULTIORLIST._serialized_start = 20702 + _EXPRESSION_MULTIORLIST._serialized_end = 20873 + _EXPRESSION_MULTIORLIST_RECORD._serialized_start = 20822 + _EXPRESSION_MULTIORLIST_RECORD._serialized_end = 20873 + _EXPRESSION_EMBEDDEDFUNCTION._serialized_start = 20876 + _EXPRESSION_EMBEDDEDFUNCTION._serialized_end = 21391 + _EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION._serialized_start = 21214 + _EXPRESSION_EMBEDDEDFUNCTION_PYTHONPICKLEFUNCTION._serialized_end = 21300 + _EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION._serialized_start = 21302 + _EXPRESSION_EMBEDDEDFUNCTION_WEBASSEMBLYFUNCTION._serialized_end = 21383 + _EXPRESSION_REFERENCESEGMENT._serialized_start = 21394 + _EXPRESSION_REFERENCESEGMENT._serialized_end = 21982 + _EXPRESSION_REFERENCESEGMENT_MAPKEY._serialized_start = 21654 + _EXPRESSION_REFERENCESEGMENT_MAPKEY._serialized_end = 21772 + _EXPRESSION_REFERENCESEGMENT_STRUCTFIELD._serialized_start = 21774 + _EXPRESSION_REFERENCESEGMENT_STRUCTFIELD._serialized_end = 21867 + _EXPRESSION_REFERENCESEGMENT_LISTELEMENT._serialized_start = 21869 + _EXPRESSION_REFERENCESEGMENT_LISTELEMENT._serialized_end = 21964 + _EXPRESSION_MASKEXPRESSION._serialized_start = 21985 + _EXPRESSION_MASKEXPRESSION._serialized_end = 23375 + _EXPRESSION_MASKEXPRESSION_SELECT._serialized_start = 22133 + _EXPRESSION_MASKEXPRESSION_SELECT._serialized_end = 22353 + _EXPRESSION_MASKEXPRESSION_STRUCTSELECT._serialized_start = 22355 + _EXPRESSION_MASKEXPRESSION_STRUCTSELECT._serialized_end = 22449 + _EXPRESSION_MASKEXPRESSION_STRUCTITEM._serialized_start = 22451 + _EXPRESSION_MASKEXPRESSION_STRUCTITEM._serialized_end = 22548 + _EXPRESSION_MASKEXPRESSION_LISTSELECT._serialized_start = 22551 + _EXPRESSION_MASKEXPRESSION_LISTSELECT._serialized_end = 23021 + _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM._serialized_start = 22719 + _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM._serialized_end = 23021 + _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT._serialized_start = 22925 + _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTELEMENT._serialized_end = 22960 + _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE._serialized_start = 22962 + _EXPRESSION_MASKEXPRESSION_LISTSELECT_LISTSELECTITEM_LISTSLICE._serialized_end = 23013 + _EXPRESSION_MASKEXPRESSION_MAPSELECT._serialized_start = 23024 + _EXPRESSION_MASKEXPRESSION_MAPSELECT._serialized_end = 23375 + _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY._serialized_start = 23266 + _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEY._serialized_end = 23299 + _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION._serialized_start = 23301 + _EXPRESSION_MASKEXPRESSION_MAPSELECT_MAPKEYEXPRESSION._serialized_end = 23365 + _EXPRESSION_FIELDREFERENCE._serialized_start = 23378 + _EXPRESSION_FIELDREFERENCE._serialized_end = 23883 + _EXPRESSION_FIELDREFERENCE_ROOTREFERENCE._serialized_start = 23790 + _EXPRESSION_FIELDREFERENCE_ROOTREFERENCE._serialized_end = 23805 + _EXPRESSION_FIELDREFERENCE_OUTERREFERENCE._serialized_start = 23807 + _EXPRESSION_FIELDREFERENCE_OUTERREFERENCE._serialized_end = 23852 + _EXPRESSION_SUBQUERY._serialized_start = 23886 + _EXPRESSION_SUBQUERY._serialized_end = 25135 + _EXPRESSION_SUBQUERY_SCALAR._serialized_start = 24199 + _EXPRESSION_SUBQUERY_SCALAR._serialized_end = 24241 + _EXPRESSION_SUBQUERY_INPREDICATE._serialized_start = 24243 + _EXPRESSION_SUBQUERY_INPREDICATE._serialized_end = 24341 + _EXPRESSION_SUBQUERY_SETPREDICATE._serialized_start = 24344 + _EXPRESSION_SUBQUERY_SETPREDICATE._serialized_end = 24577 + _EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP._serialized_start = 24484 + _EXPRESSION_SUBQUERY_SETPREDICATE_PREDICATEOP._serialized_end = 24577 + _EXPRESSION_SUBQUERY_SETCOMPARISON._serialized_start = 24580 + _EXPRESSION_SUBQUERY_SETCOMPARISON._serialized_end = 25118 + _EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP._serialized_start = 24852 + _EXPRESSION_SUBQUERY_SETCOMPARISON_COMPARISONOP._serialized_end = 25029 + _EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP._serialized_start = 25031 + _EXPRESSION_SUBQUERY_SETCOMPARISON_REDUCTIONOP._serialized_end = 25118 + _SORTFIELD._serialized_start = 25150 + _SORTFIELD._serialized_end = 25571 + _SORTFIELD_SORTDIRECTION._serialized_start = 25337 + _SORTFIELD_SORTDIRECTION._serialized_end = 25558 + _AGGREGATEFUNCTION._serialized_start = 25574 + _AGGREGATEFUNCTION._serialized_end = 26135 + _AGGREGATEFUNCTION_AGGREGATIONINVOCATION._serialized_start = 26003 + _AGGREGATEFUNCTION_AGGREGATIONINVOCATION._serialized_end = 26135 + _REFERENCEREL._serialized_start = 26137 + _REFERENCEREL._serialized_end = 26192 \ 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 348ee22..96b4af9 100644 --- a/src/substrait/gen/proto/algebra_pb2.pyi +++ b/src/substrait/gen/proto/algebra_pb2.pyi @@ -299,6 +299,43 @@ class ReadRel(google.protobuf.message.Message): def __init__(self) -> None: ... + + @typing_extensions.final + class DelimiterSeparatedTextReadOptions(google.protobuf.message.Message): + """Delimiter separated files may be compressed. The reader should + autodetect this and decompress as needed. + """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor + FIELD_DELIMITER_FIELD_NUMBER: builtins.int + MAX_LINE_SIZE_FIELD_NUMBER: builtins.int + QUOTE_FIELD_NUMBER: builtins.int + HEADER_LINES_TO_SKIP_FIELD_NUMBER: builtins.int + ESCAPE_FIELD_NUMBER: builtins.int + VALUE_TREATED_AS_NULL_FIELD_NUMBER: builtins.int + field_delimiter: builtins.str + 'The character(s) used to separate fields. Common values are comma,\n tab, and pipe. Multiple characters are allowed.\n ' + max_line_size: builtins.int + 'The maximum number of bytes to read from a single line. If a line\n exceeds this limit the resulting behavior is undefined.\n ' + quote: builtins.str + 'The character(s) used to quote strings. Common values are single\n and double quotation marks.\n ' + header_lines_to_skip: builtins.int + 'The number of lines to skip at the beginning of the file.' + escape: builtins.str + 'The character used to escape characters in strings. Backslash is\n a common value. Note that a double quote mark can also be used as an\n escape character but the external quotes should be removed first.\n ' + value_treated_as_null: builtins.str + 'If this value is encountered (including empty string), the resulting\n value is null instead. Leave unset to disable. If this value is\n provided, the effective schema of this file is comprised entirely of\n nullable strings. If not provided, the effective schema is instead\n made up of non-nullable strings.\n ' + + def __init__(self, *, field_delimiter: builtins.str=..., max_line_size: builtins.int=..., quote: builtins.str=..., header_lines_to_skip: builtins.int=..., escape: builtins.str=..., value_treated_as_null: builtins.str | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['_value_treated_as_null', b'_value_treated_as_null', 'value_treated_as_null', b'value_treated_as_null']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['_value_treated_as_null', b'_value_treated_as_null', 'escape', b'escape', 'field_delimiter', b'field_delimiter', 'header_lines_to_skip', b'header_lines_to_skip', 'max_line_size', b'max_line_size', 'quote', b'quote', 'value_treated_as_null', b'value_treated_as_null']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['_value_treated_as_null', b'_value_treated_as_null']) -> typing_extensions.Literal['value_treated_as_null'] | None: + ... URI_PATH_FIELD_NUMBER: builtins.int URI_PATH_GLOB_FIELD_NUMBER: builtins.int URI_FILE_FIELD_NUMBER: builtins.int @@ -311,6 +348,7 @@ class ReadRel(google.protobuf.message.Message): ORC_FIELD_NUMBER: builtins.int EXTENSION_FIELD_NUMBER: builtins.int DWRF_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int uri_path: builtins.str 'A URI that can refer to either a single folder or a single file' uri_path_glob: builtins.str @@ -346,17 +384,21 @@ class ReadRel(google.protobuf.message.Message): def dwrf(self) -> global___ReadRel.LocalFiles.FileOrFiles.DwrfReadOptions: ... - def __init__(self, *, uri_path: builtins.str=..., uri_path_glob: builtins.str=..., uri_file: builtins.str=..., uri_folder: builtins.str=..., partition_index: builtins.int=..., start: builtins.int=..., length: builtins.int=..., parquet: global___ReadRel.LocalFiles.FileOrFiles.ParquetReadOptions | None=..., arrow: global___ReadRel.LocalFiles.FileOrFiles.ArrowReadOptions | None=..., orc: global___ReadRel.LocalFiles.FileOrFiles.OrcReadOptions | None=..., extension: google.protobuf.any_pb2.Any | None=..., dwrf: global___ReadRel.LocalFiles.FileOrFiles.DwrfReadOptions | None=...) -> None: + @property + def text(self) -> global___ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptions: ... - def HasField(self, field_name: typing_extensions.Literal['arrow', b'arrow', 'dwrf', b'dwrf', 'extension', b'extension', 'file_format', b'file_format', 'orc', b'orc', 'parquet', b'parquet', 'path_type', b'path_type', 'uri_file', b'uri_file', 'uri_folder', b'uri_folder', 'uri_path', b'uri_path', 'uri_path_glob', b'uri_path_glob']) -> builtins.bool: + def __init__(self, *, uri_path: builtins.str=..., uri_path_glob: builtins.str=..., uri_file: builtins.str=..., uri_folder: builtins.str=..., partition_index: builtins.int=..., start: builtins.int=..., length: builtins.int=..., parquet: global___ReadRel.LocalFiles.FileOrFiles.ParquetReadOptions | None=..., arrow: global___ReadRel.LocalFiles.FileOrFiles.ArrowReadOptions | None=..., orc: global___ReadRel.LocalFiles.FileOrFiles.OrcReadOptions | None=..., extension: google.protobuf.any_pb2.Any | None=..., dwrf: global___ReadRel.LocalFiles.FileOrFiles.DwrfReadOptions | None=..., text: global___ReadRel.LocalFiles.FileOrFiles.DelimiterSeparatedTextReadOptions | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['arrow', b'arrow', 'dwrf', b'dwrf', 'extension', b'extension', 'file_format', b'file_format', 'length', b'length', 'orc', b'orc', 'parquet', b'parquet', 'partition_index', b'partition_index', 'path_type', b'path_type', 'start', b'start', 'uri_file', b'uri_file', 'uri_folder', b'uri_folder', 'uri_path', b'uri_path', 'uri_path_glob', b'uri_path_glob']) -> None: + def HasField(self, field_name: typing_extensions.Literal['arrow', b'arrow', 'dwrf', b'dwrf', 'extension', b'extension', 'file_format', b'file_format', 'orc', b'orc', 'parquet', b'parquet', 'path_type', b'path_type', 'text', b'text', 'uri_file', b'uri_file', 'uri_folder', b'uri_folder', 'uri_path', b'uri_path', 'uri_path_glob', b'uri_path_glob']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['arrow', b'arrow', 'dwrf', b'dwrf', 'extension', b'extension', 'file_format', b'file_format', 'length', b'length', 'orc', b'orc', 'parquet', b'parquet', 'partition_index', b'partition_index', 'path_type', b'path_type', 'start', b'start', 'text', b'text', 'uri_file', b'uri_file', 'uri_folder', b'uri_folder', 'uri_path', b'uri_path', 'uri_path_glob', b'uri_path_glob']) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['file_format', b'file_format']) -> typing_extensions.Literal['parquet', 'arrow', 'orc', 'extension', 'dwrf'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['file_format', b'file_format']) -> typing_extensions.Literal['parquet', 'arrow', 'orc', 'extension', 'dwrf', 'text'] | None: ... @typing.overload @@ -496,10 +538,12 @@ class JoinRel(google.protobuf.message.Message): JOIN_TYPE_OUTER: JoinRel._JoinType.ValueType JOIN_TYPE_LEFT: JoinRel._JoinType.ValueType JOIN_TYPE_RIGHT: JoinRel._JoinType.ValueType - JOIN_TYPE_SEMI: JoinRel._JoinType.ValueType - JOIN_TYPE_ANTI: JoinRel._JoinType.ValueType - JOIN_TYPE_SINGLE: JoinRel._JoinType.ValueType - 'This join is useful for nested sub-queries where we need exactly one record in output (or throw exception)\n See Section 3.2 of https://15721.courses.cs.cmu.edu/spring2018/papers/16-optimizer2/hyperjoins-btw2017.pdf\n ' + JOIN_TYPE_LEFT_SEMI: JoinRel._JoinType.ValueType + JOIN_TYPE_LEFT_ANTI: JoinRel._JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: JoinRel._JoinType.ValueType + JOIN_TYPE_RIGHT_SEMI: JoinRel._JoinType.ValueType + JOIN_TYPE_RIGHT_ANTI: JoinRel._JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: JoinRel._JoinType.ValueType class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... @@ -508,10 +552,12 @@ class JoinRel(google.protobuf.message.Message): JOIN_TYPE_OUTER: JoinRel.JoinType.ValueType JOIN_TYPE_LEFT: JoinRel.JoinType.ValueType JOIN_TYPE_RIGHT: JoinRel.JoinType.ValueType - JOIN_TYPE_SEMI: JoinRel.JoinType.ValueType - JOIN_TYPE_ANTI: JoinRel.JoinType.ValueType - JOIN_TYPE_SINGLE: JoinRel.JoinType.ValueType - 'This join is useful for nested sub-queries where we need exactly one record in output (or throw exception)\n See Section 3.2 of https://15721.courses.cs.cmu.edu/spring2018/papers/16-optimizer2/hyperjoins-btw2017.pdf\n ' + JOIN_TYPE_LEFT_SEMI: JoinRel.JoinType.ValueType + JOIN_TYPE_LEFT_ANTI: JoinRel.JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: JoinRel.JoinType.ValueType + JOIN_TYPE_RIGHT_SEMI: JoinRel.JoinType.ValueType + JOIN_TYPE_RIGHT_ANTI: JoinRel.JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: JoinRel.JoinType.ValueType COMMON_FIELD_NUMBER: builtins.int LEFT_FIELD_NUMBER: builtins.int RIGHT_FIELD_NUMBER: builtins.int @@ -1801,6 +1847,8 @@ class HashJoinRel(google.protobuf.message.Message): JOIN_TYPE_RIGHT_SEMI: HashJoinRel._JoinType.ValueType JOIN_TYPE_LEFT_ANTI: HashJoinRel._JoinType.ValueType JOIN_TYPE_RIGHT_ANTI: HashJoinRel._JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: HashJoinRel._JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: HashJoinRel._JoinType.ValueType class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... @@ -1813,6 +1861,8 @@ class HashJoinRel(google.protobuf.message.Message): JOIN_TYPE_RIGHT_SEMI: HashJoinRel.JoinType.ValueType JOIN_TYPE_LEFT_ANTI: HashJoinRel.JoinType.ValueType JOIN_TYPE_RIGHT_ANTI: HashJoinRel.JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: HashJoinRel.JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: HashJoinRel.JoinType.ValueType COMMON_FIELD_NUMBER: builtins.int LEFT_FIELD_NUMBER: builtins.int RIGHT_FIELD_NUMBER: builtins.int @@ -1904,6 +1954,8 @@ class MergeJoinRel(google.protobuf.message.Message): JOIN_TYPE_RIGHT_SEMI: MergeJoinRel._JoinType.ValueType JOIN_TYPE_LEFT_ANTI: MergeJoinRel._JoinType.ValueType JOIN_TYPE_RIGHT_ANTI: MergeJoinRel._JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: MergeJoinRel._JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: MergeJoinRel._JoinType.ValueType class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... @@ -1916,6 +1968,8 @@ class MergeJoinRel(google.protobuf.message.Message): JOIN_TYPE_RIGHT_SEMI: MergeJoinRel.JoinType.ValueType JOIN_TYPE_LEFT_ANTI: MergeJoinRel.JoinType.ValueType JOIN_TYPE_RIGHT_ANTI: MergeJoinRel.JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: MergeJoinRel.JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: MergeJoinRel.JoinType.ValueType COMMON_FIELD_NUMBER: builtins.int LEFT_FIELD_NUMBER: builtins.int RIGHT_FIELD_NUMBER: builtins.int @@ -2009,6 +2063,8 @@ class NestedLoopJoinRel(google.protobuf.message.Message): JOIN_TYPE_RIGHT_SEMI: NestedLoopJoinRel._JoinType.ValueType JOIN_TYPE_LEFT_ANTI: NestedLoopJoinRel._JoinType.ValueType JOIN_TYPE_RIGHT_ANTI: NestedLoopJoinRel._JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: NestedLoopJoinRel._JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: NestedLoopJoinRel._JoinType.ValueType class JoinType(_JoinType, metaclass=_JoinTypeEnumTypeWrapper): ... @@ -2021,6 +2077,8 @@ class NestedLoopJoinRel(google.protobuf.message.Message): JOIN_TYPE_RIGHT_SEMI: NestedLoopJoinRel.JoinType.ValueType JOIN_TYPE_LEFT_ANTI: NestedLoopJoinRel.JoinType.ValueType JOIN_TYPE_RIGHT_ANTI: NestedLoopJoinRel.JoinType.ValueType + JOIN_TYPE_LEFT_SINGLE: NestedLoopJoinRel.JoinType.ValueType + JOIN_TYPE_RIGHT_SINGLE: NestedLoopJoinRel.JoinType.ValueType COMMON_FIELD_NUMBER: builtins.int LEFT_FIELD_NUMBER: builtins.int RIGHT_FIELD_NUMBER: builtins.int @@ -2262,14 +2320,50 @@ class Expression(google.protobuf.message.Message): DAYS_FIELD_NUMBER: builtins.int SECONDS_FIELD_NUMBER: builtins.int MICROSECONDS_FIELD_NUMBER: builtins.int + PRECISION_FIELD_NUMBER: builtins.int + SUBSECONDS_FIELD_NUMBER: builtins.int days: builtins.int seconds: builtins.int microseconds: builtins.int + 'use precision and subseconds below, they cover and replace microseconds.' + precision: builtins.int + 'Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds. Should be used with subseconds below.' + subseconds: builtins.int + 'the number of fractional seconds using 1e(-precision) units. Should only be used with precision field, not microseconds.' + + def __init__(self, *, days: builtins.int=..., seconds: builtins.int=..., microseconds: builtins.int=..., precision: builtins.int=..., subseconds: builtins.int=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['microseconds', b'microseconds', 'precision', b'precision', 'precision_mode', b'precision_mode']) -> builtins.bool: + ... - def __init__(self, *, days: builtins.int=..., seconds: builtins.int=..., microseconds: builtins.int=...) -> None: + def ClearField(self, field_name: typing_extensions.Literal['days', b'days', 'microseconds', b'microseconds', 'precision', b'precision', 'precision_mode', b'precision_mode', 'seconds', b'seconds', 'subseconds', b'subseconds']) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['days', b'days', 'microseconds', b'microseconds', 'seconds', b'seconds']) -> None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['precision_mode', b'precision_mode']) -> typing_extensions.Literal['microseconds', 'precision'] | None: + ... + + @typing_extensions.final + class IntervalCompound(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + INTERVAL_YEAR_TO_MONTH_FIELD_NUMBER: builtins.int + INTERVAL_DAY_TO_SECOND_FIELD_NUMBER: builtins.int + + @property + def interval_year_to_month(self) -> global___Expression.Literal.IntervalYearToMonth: + ... + + @property + def interval_day_to_second(self) -> global___Expression.Literal.IntervalDayToSecond: + ... + + def __init__(self, *, interval_year_to_month: global___Expression.Literal.IntervalYearToMonth | None=..., interval_day_to_second: global___Expression.Literal.IntervalDayToSecond | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['interval_day_to_second', b'interval_day_to_second', 'interval_year_to_month', b'interval_year_to_month']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['interval_day_to_second', b'interval_day_to_second', 'interval_year_to_month', b'interval_year_to_month']) -> None: ... @typing_extensions.final @@ -2351,6 +2445,7 @@ class Expression(google.protobuf.message.Message): TIME_FIELD_NUMBER: builtins.int INTERVAL_YEAR_TO_MONTH_FIELD_NUMBER: builtins.int INTERVAL_DAY_TO_SECOND_FIELD_NUMBER: builtins.int + INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int FIXED_CHAR_FIELD_NUMBER: builtins.int VAR_CHAR_FIELD_NUMBER: builtins.int FIXED_BINARY_FIELD_NUMBER: builtins.int @@ -2391,6 +2486,10 @@ class Expression(google.protobuf.message.Message): @property def interval_day_to_second(self) -> global___Expression.Literal.IntervalDayToSecond: ... + + @property + def interval_compound(self) -> global___Expression.Literal.IntervalCompound: + ... fixed_char: builtins.str @property @@ -2445,16 +2544,16 @@ class Expression(google.protobuf.message.Message): type_variation_reference: builtins.int 'optionally points to a type_variation_anchor defined in this plan.\n Applies to all members of union other than the Typed null (which should\n directly declare the type variation).\n ' - def __init__(self, *, boolean: builtins.bool=..., i8: builtins.int=..., i16: builtins.int=..., i32: builtins.int=..., i64: builtins.int=..., fp32: builtins.float=..., fp64: builtins.float=..., string: builtins.str=..., binary: builtins.bytes=..., timestamp: builtins.int=..., date: builtins.int=..., time: builtins.int=..., interval_year_to_month: global___Expression.Literal.IntervalYearToMonth | None=..., interval_day_to_second: global___Expression.Literal.IntervalDayToSecond | None=..., fixed_char: builtins.str=..., var_char: global___Expression.Literal.VarChar | None=..., fixed_binary: builtins.bytes=..., decimal: global___Expression.Literal.Decimal | None=..., precision_timestamp: global___Expression.Literal.PrecisionTimestamp | None=..., precision_timestamp_tz: global___Expression.Literal.PrecisionTimestamp | None=..., struct: global___Expression.Literal.Struct | None=..., map: global___Expression.Literal.Map | None=..., timestamp_tz: builtins.int=..., uuid: builtins.bytes=..., null: proto.type_pb2.Type | None=..., list: global___Expression.Literal.List | None=..., empty_list: proto.type_pb2.Type.List | None=..., empty_map: proto.type_pb2.Type.Map | None=..., user_defined: global___Expression.Literal.UserDefined | None=..., nullable: builtins.bool=..., type_variation_reference: builtins.int=...) -> None: + def __init__(self, *, boolean: builtins.bool=..., i8: builtins.int=..., i16: builtins.int=..., i32: builtins.int=..., i64: builtins.int=..., fp32: builtins.float=..., fp64: builtins.float=..., string: builtins.str=..., binary: builtins.bytes=..., timestamp: builtins.int=..., date: builtins.int=..., time: builtins.int=..., interval_year_to_month: global___Expression.Literal.IntervalYearToMonth | None=..., interval_day_to_second: global___Expression.Literal.IntervalDayToSecond | None=..., interval_compound: global___Expression.Literal.IntervalCompound | None=..., fixed_char: builtins.str=..., var_char: global___Expression.Literal.VarChar | None=..., fixed_binary: builtins.bytes=..., decimal: global___Expression.Literal.Decimal | None=..., precision_timestamp: global___Expression.Literal.PrecisionTimestamp | None=..., precision_timestamp_tz: global___Expression.Literal.PrecisionTimestamp | None=..., struct: global___Expression.Literal.Struct | None=..., map: global___Expression.Literal.Map | None=..., timestamp_tz: builtins.int=..., uuid: builtins.bytes=..., null: proto.type_pb2.Type | None=..., list: global___Expression.Literal.List | None=..., empty_list: proto.type_pb2.Type.List | None=..., empty_map: proto.type_pb2.Type.Map | None=..., user_defined: global___Expression.Literal.UserDefined | None=..., nullable: builtins.bool=..., type_variation_reference: builtins.int=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'boolean', b'boolean', 'date', b'date', 'decimal', b'decimal', 'empty_list', b'empty_list', 'empty_map', b'empty_map', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_day_to_second', b'interval_day_to_second', 'interval_year_to_month', b'interval_year_to_month', 'list', b'list', 'literal_type', b'literal_type', 'map', b'map', 'null', b'null', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'user_defined', b'user_defined', 'uuid', b'uuid', 'var_char', b'var_char']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'boolean', b'boolean', 'date', b'date', 'decimal', b'decimal', 'empty_list', b'empty_list', 'empty_map', b'empty_map', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_compound', b'interval_compound', 'interval_day_to_second', b'interval_day_to_second', 'interval_year_to_month', b'interval_year_to_month', 'list', b'list', 'literal_type', b'literal_type', 'map', b'map', 'null', b'null', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'user_defined', b'user_defined', 'uuid', b'uuid', 'var_char', b'var_char']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'boolean', b'boolean', 'date', b'date', 'decimal', b'decimal', 'empty_list', b'empty_list', 'empty_map', b'empty_map', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_day_to_second', b'interval_day_to_second', 'interval_year_to_month', b'interval_year_to_month', 'list', b'list', 'literal_type', b'literal_type', 'map', b'map', 'null', b'null', 'nullable', b'nullable', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_variation_reference', b'type_variation_reference', 'user_defined', b'user_defined', 'uuid', b'uuid', 'var_char', b'var_char']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'boolean', b'boolean', 'date', b'date', 'decimal', b'decimal', 'empty_list', b'empty_list', 'empty_map', b'empty_map', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_compound', b'interval_compound', 'interval_day_to_second', b'interval_day_to_second', 'interval_year_to_month', b'interval_year_to_month', 'list', b'list', 'literal_type', b'literal_type', 'map', b'map', 'null', b'null', 'nullable', b'nullable', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_variation_reference', b'type_variation_reference', 'user_defined', b'user_defined', 'uuid', b'uuid', 'var_char', b'var_char']) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['literal_type', b'literal_type']) -> typing_extensions.Literal['boolean', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year_to_month', 'interval_day_to_second', 'fixed_char', 'var_char', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'map', 'timestamp_tz', 'uuid', 'null', 'list', 'empty_list', 'empty_map', 'user_defined'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['literal_type', b'literal_type']) -> typing_extensions.Literal['boolean', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year_to_month', 'interval_day_to_second', 'interval_compound', 'fixed_char', 'var_char', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'map', 'timestamp_tz', 'uuid', 'null', 'list', 'empty_list', 'empty_map', 'user_defined'] | None: ... @typing_extensions.final diff --git a/src/substrait/gen/proto/parameterized_types_pb2.py b/src/substrait/gen/proto/parameterized_types_pb2.py index d97cbf2..6796b1f 100644 --- a/src/substrait/gen/proto/parameterized_types_pb2.py +++ b/src/substrait/gen/proto/parameterized_types_pb2.py @@ -5,7 +5,7 @@ from google.protobuf import symbol_database as _symbol_database _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"\xf5!\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\x12<\n\x0cinterval_day\x18\x14 \x01(\x0b2\x17.proto.Type.IntervalDayH\x00R\x0bintervalDay\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\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') +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()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -18,34 +18,38 @@ _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 = 4402 - _PARAMETERIZEDTYPE_TYPEPARAMETER._serialized_start = 1785 - _PARAMETERIZEDTYPE_TYPEPARAMETER._serialized_end = 1870 - _PARAMETERIZEDTYPE_INTEGERPARAMETER._serialized_start = 1873 - _PARAMETERIZEDTYPE_INTEGERPARAMETER._serialized_end = 2095 - _PARAMETERIZEDTYPE_NULLABLEINTEGER._serialized_start = 2097 - _PARAMETERIZEDTYPE_NULLABLEINTEGER._serialized_end = 2136 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR._serialized_start = 2139 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDCHAR._serialized_end = 2331 - _PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR._serialized_start = 2334 - _PARAMETERIZEDTYPE_PARAMETERIZEDVARCHAR._serialized_end = 2524 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY._serialized_start = 2527 - _PARAMETERIZEDTYPE_PARAMETERIZEDFIXEDBINARY._serialized_end = 2721 - _PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL._serialized_start = 2724 - _PARAMETERIZEDTYPE_PARAMETERIZEDDECIMAL._serialized_end = 2982 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP._serialized_start = 2985 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMP._serialized_end = 3192 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ._serialized_start = 3195 - _PARAMETERIZEDTYPE_PARAMETERIZEDPRECISIONTIMESTAMPTZ._serialized_end = 3404 - _PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT._serialized_start = 3407 - _PARAMETERIZEDTYPE_PARAMETERIZEDSTRUCT._serialized_end = 3580 - _PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT._serialized_start = 3582 - _PARAMETERIZEDTYPE_PARAMETERIZEDNAMEDSTRUCT._serialized_end = 3700 - _PARAMETERIZEDTYPE_PARAMETERIZEDLIST._serialized_start = 3703 - _PARAMETERIZEDTYPE_PARAMETERIZEDLIST._serialized_end = 3872 - _PARAMETERIZEDTYPE_PARAMETERIZEDMAP._serialized_start = 3875 - _PARAMETERIZEDTYPE_PARAMETERIZEDMAP._serialized_end = 4089 - _PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED._serialized_start = 4092 - _PARAMETERIZEDTYPE_PARAMETERIZEDUSERDEFINED._serialized_end = 4257 - _PARAMETERIZEDTYPE_INTEGEROPTION._serialized_start = 4260 - _PARAMETERIZEDTYPE_INTEGEROPTION._serialized_end = 4394 \ No newline at end of file + _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 diff --git a/src/substrait/gen/proto/parameterized_types_pb2.pyi b/src/substrait/gen/proto/parameterized_types_pb2.pyi index f929887..363a54d 100644 --- a/src/substrait/gen/proto/parameterized_types_pb2.pyi +++ b/src/substrait/gen/proto/parameterized_types_pb2.pyi @@ -166,6 +166,50 @@ class ParameterizedType(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'scale', b'scale', 'variation_pointer', b'variation_pointer']) -> None: ... + @typing_extensions.final + class ParameterizedIntervalDay(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PRECISION_FIELD_NUMBER: builtins.int + VARIATION_POINTER_FIELD_NUMBER: builtins.int + NULLABILITY_FIELD_NUMBER: builtins.int + + @property + def precision(self) -> global___ParameterizedType.IntegerOption: + ... + variation_pointer: builtins.int + nullability: proto.type_pb2.Type.Nullability.ValueType + + def __init__(self, *, precision: global___ParameterizedType.IntegerOption | None=..., variation_pointer: builtins.int=..., nullability: proto.type_pb2.Type.Nullability.ValueType=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['precision', b'precision']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'variation_pointer', b'variation_pointer']) -> None: + ... + + @typing_extensions.final + class ParameterizedIntervalCompound(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PRECISION_FIELD_NUMBER: builtins.int + VARIATION_POINTER_FIELD_NUMBER: builtins.int + NULLABILITY_FIELD_NUMBER: builtins.int + + @property + def precision(self) -> global___ParameterizedType.IntegerOption: + ... + variation_pointer: builtins.int + nullability: proto.type_pb2.Type.Nullability.ValueType + + def __init__(self, *, precision: global___ParameterizedType.IntegerOption | None=..., variation_pointer: builtins.int=..., nullability: proto.type_pb2.Type.Nullability.ValueType=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['precision', b'precision']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'variation_pointer', b'variation_pointer']) -> None: + ... + @typing_extensions.final class ParameterizedPrecisionTimestamp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -353,6 +397,7 @@ class ParameterizedType(google.protobuf.message.Message): TIME_FIELD_NUMBER: builtins.int INTERVAL_YEAR_FIELD_NUMBER: builtins.int INTERVAL_DAY_FIELD_NUMBER: builtins.int + INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int TIMESTAMP_TZ_FIELD_NUMBER: builtins.int UUID_FIELD_NUMBER: builtins.int FIXED_CHAR_FIELD_NUMBER: builtins.int @@ -421,7 +466,11 @@ class ParameterizedType(google.protobuf.message.Message): ... @property - def interval_day(self) -> proto.type_pb2.Type.IntervalDay: + def interval_day(self) -> global___ParameterizedType.ParameterizedIntervalDay: + ... + + @property + def interval_compound(self) -> global___ParameterizedType.ParameterizedIntervalCompound: ... @property @@ -478,15 +527,15 @@ class ParameterizedType(google.protobuf.message.Message): def type_parameter(self) -> global___ParameterizedType.TypeParameter: ... - def __init__(self, *, bool: proto.type_pb2.Type.Boolean | None=..., i8: proto.type_pb2.Type.I8 | None=..., i16: proto.type_pb2.Type.I16 | None=..., i32: proto.type_pb2.Type.I32 | None=..., i64: proto.type_pb2.Type.I64 | None=..., fp32: proto.type_pb2.Type.FP32 | None=..., fp64: proto.type_pb2.Type.FP64 | None=..., string: proto.type_pb2.Type.String | None=..., binary: proto.type_pb2.Type.Binary | None=..., timestamp: proto.type_pb2.Type.Timestamp | None=..., date: proto.type_pb2.Type.Date | None=..., time: proto.type_pb2.Type.Time | None=..., interval_year: proto.type_pb2.Type.IntervalYear | None=..., interval_day: proto.type_pb2.Type.IntervalDay | None=..., timestamp_tz: proto.type_pb2.Type.TimestampTZ | None=..., uuid: proto.type_pb2.Type.UUID | None=..., fixed_char: global___ParameterizedType.ParameterizedFixedChar | None=..., varchar: global___ParameterizedType.ParameterizedVarChar | None=..., fixed_binary: global___ParameterizedType.ParameterizedFixedBinary | None=..., decimal: global___ParameterizedType.ParameterizedDecimal | None=..., precision_timestamp: global___ParameterizedType.ParameterizedPrecisionTimestamp | None=..., precision_timestamp_tz: global___ParameterizedType.ParameterizedPrecisionTimestampTZ | None=..., struct: global___ParameterizedType.ParameterizedStruct | None=..., list: global___ParameterizedType.ParameterizedList | None=..., map: global___ParameterizedType.ParameterizedMap | None=..., user_defined: global___ParameterizedType.ParameterizedUserDefined | None=..., user_defined_pointer: builtins.int=..., type_parameter: global___ParameterizedType.TypeParameter | None=...) -> None: + def __init__(self, *, bool: proto.type_pb2.Type.Boolean | None=..., i8: proto.type_pb2.Type.I8 | None=..., i16: proto.type_pb2.Type.I16 | None=..., i32: proto.type_pb2.Type.I32 | None=..., i64: proto.type_pb2.Type.I64 | None=..., fp32: proto.type_pb2.Type.FP32 | None=..., fp64: proto.type_pb2.Type.FP64 | None=..., string: proto.type_pb2.Type.String | None=..., binary: proto.type_pb2.Type.Binary | None=..., timestamp: proto.type_pb2.Type.Timestamp | None=..., date: proto.type_pb2.Type.Date | None=..., time: proto.type_pb2.Type.Time | None=..., interval_year: proto.type_pb2.Type.IntervalYear | None=..., interval_day: global___ParameterizedType.ParameterizedIntervalDay | None=..., interval_compound: global___ParameterizedType.ParameterizedIntervalCompound | None=..., timestamp_tz: proto.type_pb2.Type.TimestampTZ | None=..., uuid: proto.type_pb2.Type.UUID | None=..., fixed_char: global___ParameterizedType.ParameterizedFixedChar | None=..., varchar: global___ParameterizedType.ParameterizedVarChar | None=..., fixed_binary: global___ParameterizedType.ParameterizedFixedBinary | None=..., decimal: global___ParameterizedType.ParameterizedDecimal | None=..., precision_timestamp: global___ParameterizedType.ParameterizedPrecisionTimestamp | None=..., precision_timestamp_tz: global___ParameterizedType.ParameterizedPrecisionTimestampTZ | None=..., struct: global___ParameterizedType.ParameterizedStruct | None=..., list: global___ParameterizedType.ParameterizedList | None=..., map: global___ParameterizedType.ParameterizedMap | None=..., user_defined: global___ParameterizedType.ParameterizedUserDefined | None=..., user_defined_pointer: builtins.int=..., type_parameter: global___ParameterizedType.TypeParameter | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter', b'type_parameter', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_compound', b'interval_compound', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter', b'type_parameter', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter', b'type_parameter', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_compound', b'interval_compound', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter', b'type_parameter', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['kind', b'kind']) -> typing_extensions.Literal['bool', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year', 'interval_day', 'timestamp_tz', 'uuid', 'fixed_char', 'varchar', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'list', 'map', 'user_defined', 'user_defined_pointer', 'type_parameter'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['kind', b'kind']) -> typing_extensions.Literal['bool', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year', 'interval_day', 'interval_compound', 'timestamp_tz', 'uuid', 'fixed_char', 'varchar', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'list', 'map', 'user_defined', 'user_defined_pointer', 'type_parameter'] | None: ... global___ParameterizedType = ParameterizedType \ 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 9f2cce9..d4ffd9a 100644 --- a/src/substrait/gen/proto/type_expressions_pb2.py +++ b/src/substrait/gen/proto/type_expressions_pb2.py @@ -5,7 +5,7 @@ from google.protobuf import symbol_database as _symbol_database _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\x0cinterval_day\x18\x14 \x01(\x0b2\x17.proto.Type.IntervalDayH\x00R\x0bintervalDay\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.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\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') +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()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -18,40 +18,44 @@ _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 = 5397 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR._serialized_start = 2136 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDCHAR._serialized_end = 2314 - _DERIVATIONEXPRESSION_EXPRESSIONVARCHAR._serialized_start = 2317 - _DERIVATIONEXPRESSION_EXPRESSIONVARCHAR._serialized_end = 2493 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY._serialized_start = 2496 - _DERIVATIONEXPRESSION_EXPRESSIONFIXEDBINARY._serialized_end = 2676 - _DERIVATIONEXPRESSION_EXPRESSIONDECIMAL._serialized_start = 2679 - _DERIVATIONEXPRESSION_EXPRESSIONDECIMAL._serialized_end = 2912 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP._serialized_start = 2915 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMP._serialized_end = 3108 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ._serialized_start = 3111 - _DERIVATIONEXPRESSION_EXPRESSIONPRECISIONTIMESTAMPTZ._serialized_end = 3306 - _DERIVATIONEXPRESSION_EXPRESSIONSTRUCT._serialized_start = 3309 - _DERIVATIONEXPRESSION_EXPRESSIONSTRUCT._serialized_end = 3482 - _DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT._serialized_start = 3484 - _DERIVATIONEXPRESSION_EXPRESSIONNAMEDSTRUCT._serialized_end = 3599 - _DERIVATIONEXPRESSION_EXPRESSIONLIST._serialized_start = 3602 - _DERIVATIONEXPRESSION_EXPRESSIONLIST._serialized_end = 3771 - _DERIVATIONEXPRESSION_EXPRESSIONMAP._serialized_start = 3774 - _DERIVATIONEXPRESSION_EXPRESSIONMAP._serialized_end = 3991 - _DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED._serialized_start = 3994 - _DERIVATIONEXPRESSION_EXPRESSIONUSERDEFINED._serialized_end = 4156 - _DERIVATIONEXPRESSION_IFELSE._serialized_start = 4159 - _DERIVATIONEXPRESSION_IFELSE._serialized_end = 4351 - _DERIVATIONEXPRESSION_UNARYOP._serialized_start = 4354 - _DERIVATIONEXPRESSION_UNARYOP._serialized_end = 4561 - _DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE._serialized_start = 4486 - _DERIVATIONEXPRESSION_UNARYOP_UNARYOPTYPE._serialized_end = 4561 - _DERIVATIONEXPRESSION_BINARYOP._serialized_start = 4564 - _DERIVATIONEXPRESSION_BINARYOP._serialized_end = 5116 - _DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE._serialized_start = 4751 - _DERIVATIONEXPRESSION_BINARYOP_BINARYOPTYPE._serialized_end = 5116 - _DERIVATIONEXPRESSION_RETURNPROGRAM._serialized_start = 5119 - _DERIVATIONEXPRESSION_RETURNPROGRAM._serialized_end = 5389 - _DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT._serialized_start = 5296 - _DERIVATIONEXPRESSION_RETURNPROGRAM_ASSIGNMENT._serialized_end = 5389 \ No newline at end of file + _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 diff --git a/src/substrait/gen/proto/type_expressions_pb2.pyi b/src/substrait/gen/proto/type_expressions_pb2.pyi index d6504b1..d4a3dda 100644 --- a/src/substrait/gen/proto/type_expressions_pb2.pyi +++ b/src/substrait/gen/proto/type_expressions_pb2.pyi @@ -136,6 +136,50 @@ class DerivationExpression(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'variation_pointer', b'variation_pointer']) -> None: ... + @typing_extensions.final + class ExpressionIntervalDay(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PRECISION_FIELD_NUMBER: builtins.int + VARIATION_POINTER_FIELD_NUMBER: builtins.int + NULLABILITY_FIELD_NUMBER: builtins.int + + @property + def precision(self) -> global___DerivationExpression: + ... + variation_pointer: builtins.int + nullability: proto.type_pb2.Type.Nullability.ValueType + + def __init__(self, *, precision: global___DerivationExpression | None=..., variation_pointer: builtins.int=..., nullability: proto.type_pb2.Type.Nullability.ValueType=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['precision', b'precision']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'variation_pointer', b'variation_pointer']) -> None: + ... + + @typing_extensions.final + class ExpressionIntervalCompound(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PRECISION_FIELD_NUMBER: builtins.int + VARIATION_POINTER_FIELD_NUMBER: builtins.int + NULLABILITY_FIELD_NUMBER: builtins.int + + @property + def precision(self) -> global___DerivationExpression: + ... + variation_pointer: builtins.int + nullability: proto.type_pb2.Type.Nullability.ValueType + + def __init__(self, *, precision: global___DerivationExpression | None=..., variation_pointer: builtins.int=..., nullability: proto.type_pb2.Type.Nullability.ValueType=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['precision', b'precision']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'variation_pointer', b'variation_pointer']) -> None: + ... + @typing_extensions.final class ExpressionPrecisionTimestampTZ(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -443,9 +487,10 @@ class DerivationExpression(google.protobuf.message.Message): DATE_FIELD_NUMBER: builtins.int TIME_FIELD_NUMBER: builtins.int INTERVAL_YEAR_FIELD_NUMBER: builtins.int - INTERVAL_DAY_FIELD_NUMBER: builtins.int TIMESTAMP_TZ_FIELD_NUMBER: builtins.int UUID_FIELD_NUMBER: builtins.int + INTERVAL_DAY_FIELD_NUMBER: builtins.int + INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int FIXED_CHAR_FIELD_NUMBER: builtins.int VARCHAR_FIELD_NUMBER: builtins.int FIXED_BINARY_FIELD_NUMBER: builtins.int @@ -517,10 +562,6 @@ class DerivationExpression(google.protobuf.message.Message): def interval_year(self) -> proto.type_pb2.Type.IntervalYear: ... - @property - def interval_day(self) -> proto.type_pb2.Type.IntervalDay: - ... - @property def timestamp_tz(self) -> proto.type_pb2.Type.TimestampTZ: """Deprecated in favor of `ExpressionPrecisionTimestampTZ precision_timestamp_tz`""" @@ -529,6 +570,14 @@ class DerivationExpression(google.protobuf.message.Message): def uuid(self) -> proto.type_pb2.Type.UUID: ... + @property + def interval_day(self) -> global___DerivationExpression.ExpressionIntervalDay: + ... + + @property + def interval_compound(self) -> global___DerivationExpression.ExpressionIntervalCompound: + ... + @property def fixed_char(self) -> global___DerivationExpression.ExpressionFixedChar: ... @@ -590,15 +639,15 @@ class DerivationExpression(google.protobuf.message.Message): def return_program(self) -> global___DerivationExpression.ReturnProgram: ... - def __init__(self, *, bool: proto.type_pb2.Type.Boolean | None=..., i8: proto.type_pb2.Type.I8 | None=..., i16: proto.type_pb2.Type.I16 | None=..., i32: proto.type_pb2.Type.I32 | None=..., i64: proto.type_pb2.Type.I64 | None=..., fp32: proto.type_pb2.Type.FP32 | None=..., fp64: proto.type_pb2.Type.FP64 | None=..., string: proto.type_pb2.Type.String | None=..., binary: proto.type_pb2.Type.Binary | None=..., timestamp: proto.type_pb2.Type.Timestamp | None=..., date: proto.type_pb2.Type.Date | None=..., time: proto.type_pb2.Type.Time | None=..., interval_year: proto.type_pb2.Type.IntervalYear | None=..., interval_day: proto.type_pb2.Type.IntervalDay | None=..., timestamp_tz: proto.type_pb2.Type.TimestampTZ | None=..., uuid: proto.type_pb2.Type.UUID | None=..., fixed_char: global___DerivationExpression.ExpressionFixedChar | None=..., varchar: global___DerivationExpression.ExpressionVarChar | None=..., fixed_binary: global___DerivationExpression.ExpressionFixedBinary | None=..., decimal: global___DerivationExpression.ExpressionDecimal | None=..., precision_timestamp: global___DerivationExpression.ExpressionPrecisionTimestamp | None=..., precision_timestamp_tz: global___DerivationExpression.ExpressionPrecisionTimestampTZ | None=..., struct: global___DerivationExpression.ExpressionStruct | None=..., list: global___DerivationExpression.ExpressionList | None=..., map: global___DerivationExpression.ExpressionMap | None=..., user_defined: global___DerivationExpression.ExpressionUserDefined | None=..., user_defined_pointer: builtins.int=..., type_parameter_name: builtins.str=..., integer_parameter_name: builtins.str=..., integer_literal: builtins.int=..., unary_op: global___DerivationExpression.UnaryOp | None=..., binary_op: global___DerivationExpression.BinaryOp | None=..., if_else: global___DerivationExpression.IfElse | None=..., return_program: global___DerivationExpression.ReturnProgram | None=...) -> None: + def __init__(self, *, bool: proto.type_pb2.Type.Boolean | None=..., i8: proto.type_pb2.Type.I8 | None=..., i16: proto.type_pb2.Type.I16 | None=..., i32: proto.type_pb2.Type.I32 | None=..., i64: proto.type_pb2.Type.I64 | None=..., fp32: proto.type_pb2.Type.FP32 | None=..., fp64: proto.type_pb2.Type.FP64 | None=..., string: proto.type_pb2.Type.String | None=..., binary: proto.type_pb2.Type.Binary | None=..., timestamp: proto.type_pb2.Type.Timestamp | None=..., date: proto.type_pb2.Type.Date | None=..., time: proto.type_pb2.Type.Time | None=..., interval_year: proto.type_pb2.Type.IntervalYear | None=..., timestamp_tz: proto.type_pb2.Type.TimestampTZ | None=..., uuid: proto.type_pb2.Type.UUID | None=..., interval_day: global___DerivationExpression.ExpressionIntervalDay | None=..., interval_compound: global___DerivationExpression.ExpressionIntervalCompound | None=..., fixed_char: global___DerivationExpression.ExpressionFixedChar | None=..., varchar: global___DerivationExpression.ExpressionVarChar | None=..., fixed_binary: global___DerivationExpression.ExpressionFixedBinary | None=..., decimal: global___DerivationExpression.ExpressionDecimal | None=..., precision_timestamp: global___DerivationExpression.ExpressionPrecisionTimestamp | None=..., precision_timestamp_tz: global___DerivationExpression.ExpressionPrecisionTimestampTZ | None=..., struct: global___DerivationExpression.ExpressionStruct | None=..., list: global___DerivationExpression.ExpressionList | None=..., map: global___DerivationExpression.ExpressionMap | None=..., user_defined: global___DerivationExpression.ExpressionUserDefined | None=..., user_defined_pointer: builtins.int=..., type_parameter_name: builtins.str=..., integer_parameter_name: builtins.str=..., integer_literal: builtins.int=..., unary_op: global___DerivationExpression.UnaryOp | None=..., binary_op: global___DerivationExpression.BinaryOp | None=..., if_else: global___DerivationExpression.IfElse | None=..., return_program: global___DerivationExpression.ReturnProgram | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'binary_op', b'binary_op', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'if_else', b'if_else', 'integer_literal', b'integer_literal', 'integer_parameter_name', b'integer_parameter_name', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'return_program', b'return_program', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter_name', b'type_parameter_name', 'unary_op', b'unary_op', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'binary_op', b'binary_op', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'if_else', b'if_else', 'integer_literal', b'integer_literal', 'integer_parameter_name', b'integer_parameter_name', 'interval_compound', b'interval_compound', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'return_program', b'return_program', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter_name', b'type_parameter_name', 'unary_op', b'unary_op', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'binary_op', b'binary_op', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'if_else', b'if_else', 'integer_literal', b'integer_literal', 'integer_parameter_name', b'integer_parameter_name', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'return_program', b'return_program', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter_name', b'type_parameter_name', 'unary_op', b'unary_op', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'binary_op', b'binary_op', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'if_else', b'if_else', 'integer_literal', b'integer_literal', 'integer_parameter_name', b'integer_parameter_name', 'interval_compound', b'interval_compound', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'return_program', b'return_program', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'type_parameter_name', b'type_parameter_name', 'unary_op', b'unary_op', 'user_defined', b'user_defined', 'user_defined_pointer', b'user_defined_pointer', 'uuid', b'uuid', 'varchar', b'varchar']) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['kind', b'kind']) -> typing_extensions.Literal['bool', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year', 'interval_day', 'timestamp_tz', 'uuid', 'fixed_char', 'varchar', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'list', 'map', 'user_defined', 'user_defined_pointer', 'type_parameter_name', 'integer_parameter_name', 'integer_literal', 'unary_op', 'binary_op', 'if_else', 'return_program'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['kind', b'kind']) -> typing_extensions.Literal['bool', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year', 'timestamp_tz', 'uuid', 'interval_day', 'interval_compound', 'fixed_char', 'varchar', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'list', 'map', 'user_defined', 'user_defined_pointer', 'type_parameter_name', 'integer_parameter_name', 'integer_literal', 'unary_op', 'binary_op', 'if_else', 'return_program'] | None: ... global___DerivationExpression = DerivationExpression \ 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 592eb07..7b0c45b 100644 --- a/src/substrait/gen/proto/type_pb2.py +++ b/src/substrait/gen/proto/type_pb2.py @@ -5,7 +5,7 @@ from google.protobuf import symbol_database as _symbol_database _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"\xe4*\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\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\x82\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\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') +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()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -18,62 +18,64 @@ _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 = 5533 - _TYPE_BOOLEAN._serialized_start = 1440 - _TYPE_BOOLEAN._serialized_end = 1566 - _TYPE_I8._serialized_start = 1568 - _TYPE_I8._serialized_end = 1689 - _TYPE_I16._serialized_start = 1691 - _TYPE_I16._serialized_end = 1813 - _TYPE_I32._serialized_start = 1815 - _TYPE_I32._serialized_end = 1937 - _TYPE_I64._serialized_start = 1939 - _TYPE_I64._serialized_end = 2061 - _TYPE_FP32._serialized_start = 2063 - _TYPE_FP32._serialized_end = 2186 - _TYPE_FP64._serialized_start = 2188 - _TYPE_FP64._serialized_end = 2311 - _TYPE_STRING._serialized_start = 2313 - _TYPE_STRING._serialized_end = 2438 - _TYPE_BINARY._serialized_start = 2440 - _TYPE_BINARY._serialized_end = 2565 - _TYPE_TIMESTAMP._serialized_start = 2568 - _TYPE_TIMESTAMP._serialized_end = 2696 - _TYPE_DATE._serialized_start = 2698 - _TYPE_DATE._serialized_end = 2821 - _TYPE_TIME._serialized_start = 2823 - _TYPE_TIME._serialized_end = 2946 - _TYPE_TIMESTAMPTZ._serialized_start = 2949 - _TYPE_TIMESTAMPTZ._serialized_end = 3079 - _TYPE_INTERVALYEAR._serialized_start = 3082 - _TYPE_INTERVALYEAR._serialized_end = 3213 - _TYPE_INTERVALDAY._serialized_start = 3216 - _TYPE_INTERVALDAY._serialized_end = 3346 - _TYPE_UUID._serialized_start = 3348 - _TYPE_UUID._serialized_end = 3471 - _TYPE_FIXEDCHAR._serialized_start = 3474 - _TYPE_FIXEDCHAR._serialized_end = 3626 - _TYPE_VARCHAR._serialized_start = 3629 - _TYPE_VARCHAR._serialized_end = 3779 - _TYPE_FIXEDBINARY._serialized_start = 3782 - _TYPE_FIXEDBINARY._serialized_end = 3936 - _TYPE_DECIMAL._serialized_start = 3939 - _TYPE_DECIMAL._serialized_end = 4117 - _TYPE_PRECISIONTIMESTAMP._serialized_start = 4120 - _TYPE_PRECISIONTIMESTAMP._serialized_end = 4287 - _TYPE_PRECISIONTIMESTAMPTZ._serialized_start = 4290 - _TYPE_PRECISIONTIMESTAMPTZ._serialized_end = 4459 - _TYPE_STRUCT._serialized_start = 4462 - _TYPE_STRUCT._serialized_end = 4622 - _TYPE_LIST._serialized_start = 4625 - _TYPE_LIST._serialized_end = 4781 - _TYPE_MAP._serialized_start = 4784 - _TYPE_MAP._serialized_end = 4972 - _TYPE_USERDEFINED._serialized_start = 4975 - _TYPE_USERDEFINED._serialized_end = 5208 - _TYPE_PARAMETER._serialized_start = 5211 - _TYPE_PARAMETER._serialized_end = 5429 - _TYPE_NULLABILITY._serialized_start = 5431 - _TYPE_NULLABILITY._serialized_end = 5525 - _NAMEDSTRUCT._serialized_start = 5535 - _NAMEDSTRUCT._serialized_end = 5614 \ No newline at end of file + _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 diff --git a/src/substrait/gen/proto/type_pb2.pyi b/src/substrait/gen/proto/type_pb2.pyi index 9dd22e4..922e2fc 100644 --- a/src/substrait/gen/proto/type_pb2.pyi +++ b/src/substrait/gen/proto/type_pb2.pyi @@ -221,6 +221,7 @@ class Type(google.protobuf.message.Message): @typing_extensions.final class IntervalYear(google.protobuf.message.Message): + """An interval consisting of years and months""" DESCRIPTOR: google.protobuf.descriptor.Descriptor TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int NULLABILITY_FIELD_NUMBER: builtins.int @@ -235,16 +236,44 @@ class Type(google.protobuf.message.Message): @typing_extensions.final class IntervalDay(google.protobuf.message.Message): + """An interval consisting of days, seconds, and microseconds""" DESCRIPTOR: google.protobuf.descriptor.Descriptor TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int NULLABILITY_FIELD_NUMBER: builtins.int + PRECISION_FIELD_NUMBER: builtins.int type_variation_reference: builtins.int nullability: global___Type.Nullability.ValueType + precision: builtins.int + 'Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, etc.\n if unset, treat as 6.\n ' - def __init__(self, *, type_variation_reference: builtins.int=..., nullability: global___Type.Nullability.ValueType=...) -> None: + def __init__(self, *, type_variation_reference: builtins.int=..., nullability: global___Type.Nullability.ValueType=..., precision: builtins.int | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'type_variation_reference', b'type_variation_reference']) -> None: + def HasField(self, field_name: typing_extensions.Literal['_precision', b'_precision', 'precision', b'precision']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['_precision', b'_precision', 'nullability', b'nullability', 'precision', b'precision', 'type_variation_reference', b'type_variation_reference']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['_precision', b'_precision']) -> typing_extensions.Literal['precision'] | None: + ... + + @typing_extensions.final + class IntervalCompound(google.protobuf.message.Message): + """An interval consisting of the components of both IntervalMonth and IntervalDay""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + TYPE_VARIATION_REFERENCE_FIELD_NUMBER: builtins.int + NULLABILITY_FIELD_NUMBER: builtins.int + PRECISION_FIELD_NUMBER: builtins.int + type_variation_reference: builtins.int + nullability: global___Type.Nullability.ValueType + precision: builtins.int + 'Sub-second precision, 0 means the value given is in seconds, 3 is milliseconds, 6 microseconds, 9 is nanoseconds, etc.' + + def __init__(self, *, type_variation_reference: builtins.int=..., nullability: global___Type.Nullability.ValueType=..., precision: builtins.int=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['nullability', b'nullability', 'precision', b'precision', 'type_variation_reference', b'type_variation_reference']) -> None: ... @typing_extensions.final @@ -501,6 +530,7 @@ class Type(google.protobuf.message.Message): TIME_FIELD_NUMBER: builtins.int INTERVAL_YEAR_FIELD_NUMBER: builtins.int INTERVAL_DAY_FIELD_NUMBER: builtins.int + INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int TIMESTAMP_TZ_FIELD_NUMBER: builtins.int UUID_FIELD_NUMBER: builtins.int FIXED_CHAR_FIELD_NUMBER: builtins.int @@ -571,6 +601,10 @@ class Type(google.protobuf.message.Message): def interval_day(self) -> global___Type.IntervalDay: ... + @property + def interval_compound(self) -> global___Type.IntervalCompound: + ... + @property def timestamp_tz(self) -> global___Type.TimestampTZ: """Deprecated in favor of `PrecisionTimestampTZ precision_timestamp_tz`""" @@ -621,16 +655,16 @@ class Type(google.protobuf.message.Message): user_defined_type_reference: builtins.int 'Deprecated in favor of user_defined, which allows nullability and\n variations to be specified. If user_defined_type_reference is\n encountered, treat it as being non-nullable and having the default\n variation.\n ' - def __init__(self, *, bool: global___Type.Boolean | None=..., i8: global___Type.I8 | None=..., i16: global___Type.I16 | None=..., i32: global___Type.I32 | None=..., i64: global___Type.I64 | None=..., fp32: global___Type.FP32 | None=..., fp64: global___Type.FP64 | None=..., string: global___Type.String | None=..., binary: global___Type.Binary | None=..., timestamp: global___Type.Timestamp | None=..., date: global___Type.Date | None=..., time: global___Type.Time | None=..., interval_year: global___Type.IntervalYear | None=..., interval_day: global___Type.IntervalDay | None=..., timestamp_tz: global___Type.TimestampTZ | None=..., uuid: global___Type.UUID | None=..., fixed_char: global___Type.FixedChar | None=..., varchar: global___Type.VarChar | None=..., fixed_binary: global___Type.FixedBinary | None=..., decimal: global___Type.Decimal | None=..., precision_timestamp: global___Type.PrecisionTimestamp | None=..., precision_timestamp_tz: global___Type.PrecisionTimestampTZ | None=..., struct: global___Type.Struct | None=..., list: global___Type.List | None=..., map: global___Type.Map | None=..., user_defined: global___Type.UserDefined | None=..., user_defined_type_reference: builtins.int=...) -> None: + def __init__(self, *, bool: global___Type.Boolean | None=..., i8: global___Type.I8 | None=..., i16: global___Type.I16 | None=..., i32: global___Type.I32 | None=..., i64: global___Type.I64 | None=..., fp32: global___Type.FP32 | None=..., fp64: global___Type.FP64 | None=..., string: global___Type.String | None=..., binary: global___Type.Binary | None=..., timestamp: global___Type.Timestamp | None=..., date: global___Type.Date | None=..., time: global___Type.Time | None=..., interval_year: global___Type.IntervalYear | None=..., interval_day: global___Type.IntervalDay | None=..., interval_compound: global___Type.IntervalCompound | None=..., timestamp_tz: global___Type.TimestampTZ | None=..., uuid: global___Type.UUID | None=..., fixed_char: global___Type.FixedChar | None=..., varchar: global___Type.VarChar | None=..., fixed_binary: global___Type.FixedBinary | None=..., decimal: global___Type.Decimal | None=..., precision_timestamp: global___Type.PrecisionTimestamp | None=..., precision_timestamp_tz: global___Type.PrecisionTimestampTZ | None=..., struct: global___Type.Struct | None=..., list: global___Type.List | None=..., map: global___Type.Map | None=..., user_defined: global___Type.UserDefined | None=..., user_defined_type_reference: builtins.int=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'user_defined', b'user_defined', 'user_defined_type_reference', b'user_defined_type_reference', 'uuid', b'uuid', 'varchar', b'varchar']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_compound', b'interval_compound', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'user_defined', b'user_defined', 'user_defined_type_reference', b'user_defined_type_reference', 'uuid', b'uuid', 'varchar', b'varchar']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'user_defined', b'user_defined', 'user_defined_type_reference', b'user_defined_type_reference', 'uuid', b'uuid', 'varchar', b'varchar']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'bool', b'bool', 'date', b'date', 'decimal', b'decimal', 'fixed_binary', b'fixed_binary', 'fixed_char', b'fixed_char', 'fp32', b'fp32', 'fp64', b'fp64', 'i16', b'i16', 'i32', b'i32', 'i64', b'i64', 'i8', b'i8', 'interval_compound', b'interval_compound', 'interval_day', b'interval_day', 'interval_year', b'interval_year', 'kind', b'kind', 'list', b'list', 'map', b'map', 'precision_timestamp', b'precision_timestamp', 'precision_timestamp_tz', b'precision_timestamp_tz', 'string', b'string', 'struct', b'struct', 'time', b'time', 'timestamp', b'timestamp', 'timestamp_tz', b'timestamp_tz', 'user_defined', b'user_defined', 'user_defined_type_reference', b'user_defined_type_reference', 'uuid', b'uuid', 'varchar', b'varchar']) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['kind', b'kind']) -> typing_extensions.Literal['bool', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year', 'interval_day', 'timestamp_tz', 'uuid', 'fixed_char', 'varchar', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'list', 'map', 'user_defined', 'user_defined_type_reference'] | None: + def WhichOneof(self, oneof_group: typing_extensions.Literal['kind', b'kind']) -> typing_extensions.Literal['bool', 'i8', 'i16', 'i32', 'i64', 'fp32', 'fp64', 'string', 'binary', 'timestamp', 'date', 'time', 'interval_year', 'interval_day', 'interval_compound', 'timestamp_tz', 'uuid', 'fixed_char', 'varchar', 'fixed_binary', 'decimal', 'precision_timestamp', 'precision_timestamp_tz', 'struct', 'list', 'map', 'user_defined', 'user_defined_type_reference'] | None: ... global___Type = Type diff --git a/third_party/substrait b/third_party/substrait index a68c1ac..93c8339 160000 --- a/third_party/substrait +++ b/third_party/substrait @@ -1 +1 @@ -Subproject commit a68c1ac62f92d703da624cb8ac0cef854dd2b35f +Subproject commit 93c83396ff963b3eec184573e8141ac001750393