From 191c7b5f4e261a029443be8e2f6a95f8457ba2fd Mon Sep 17 00:00:00 2001 From: Ovidiu Platon Date: Thu, 31 Oct 2024 16:47:18 -0700 Subject: [PATCH] SNOW-1491199 Introduce ast.proto to the Snowpark client (#2549) 1. Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR. Fixes SNOW-1491199 2. Fill out the following pre-review checklist: - [ ] I am adding a new automated test(s) to verify correctness of my new code - [ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing - [ ] I am adding new logging messages - [ ] I am adding a new telemetry message - [ ] I am adding new credentials - [ ] I am adding a new dependency - [ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes. - [x] I acknowledge that I have ensured my changes to be thread-safe. Follow the link for more information: [Thread-safe Developer Guidelines](https://docs.google.com/document/d/162d_i4zZ2AfcGRXojj0jByt8EUq-DrSHPPnTa4QvwbA/edit#bookmark=id.e82u4nekq80k) 3. Please describe how your code solves the related issue. Introduce `ast.proto` under `src/snowflake/snowpark/_internal/proto` and `ast_pb2.py` under the `generated` subdirectory. `ast.proto` gets created from the contents of [Snowpark/ast](https://github.com/snowflakedb/snowflake/tree/snowpark-phase-0/Snowpark/ast), using `ir-dsl-c`. The chain is AST IR -> `ir-dsl-c` -> `ast.proto` -> Python `protoc` -> `ast_pb2.py`. We are merging both `ast.proto` and `ast_pb2.py` because the Snowpark repository is not fully equipped to generate the Python client stubs at packaging time. This change is a work in progress and blocked behind IT tickets for an indeterminate amount of time. A complete description of the AST model is too large to include here. We are currently working on an AST IR developer guide, as well. Co-authored-by: Arthur Zwiegincew Co-authored-by: Leonhard Spiegelberg Co-authored-by: Hemit Shah Co-authored-by: Varnika Budati Co-authored-by: Eric Vandenberg --- .pre-commit-config.yaml | 2 + .../snowpark/_internal/proto/ast.proto | 3275 +++++++++++++++++ .../_internal/proto/generated/ast_pb2.py | 742 ++++ 3 files changed, 4019 insertions(+) create mode 100644 src/snowflake/snowpark/_internal/proto/ast.proto create mode 100644 src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e33ee6f73d2..8d92cdbe64d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -81,6 +81,8 @@ repos: - flake8-print args: - --per-file-ignores=tests/*.py:T201 # prints are allowed in test files + # Ignore errors for generated protocol buffer stubs + - --exclude=src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py # Use mypy for static type checking. - repo: https://github.com/pre-commit/mirrors-mypy rev: 'v0.991' diff --git a/src/snowflake/snowpark/_internal/proto/ast.proto b/src/snowflake/snowpark/_internal/proto/ast.proto new file mode 100644 index 00000000000..77dd1c082d7 --- /dev/null +++ b/src/snowflake/snowpark/_internal/proto/ast.proto @@ -0,0 +1,3275 @@ +// N.B. This file is generated by `ir-dsl-c`. DO NOT EDIT! +// Generated from `{git@github.com:snowflakedb/snowflake.git}/Snowpark/ast`. + +syntax = "proto3"; + +option java_package = "com.snowflake.snowpark.proto"; + +package ast; + +import "google/protobuf/wrappers.proto"; + +enum __Version__ { + PROTO3_REQUIRES_THIS = 0; + MAX_VERSION = 1; +} + +message List_Expr { + repeated Expr list = 1; +} + +message List_SpDataType { + repeated SpDataType list = 1; +} + +message List_String { + repeated string list = 1; +} + +message Map_Expr_Expr { + repeated Tuple_Expr_Expr list = 1; +} + +message Map_String_Expr { + repeated Tuple_String_Expr list = 1; +} + +message Map_String_String { + repeated Tuple_String_String list = 1; +} + +message Tuple_Expr_Expr { + Expr _1 = 1; + Expr _2 = 2; +} + +message Tuple_Expr_Float { + Expr _1 = 1; + double _2 = 2; +} + +message Tuple_String_Expr { + string _1 = 1; + Expr _2 = 2; +} + +message Tuple_String_List_String { + string _1 = 1; + repeated string _2 = 2; +} + +message Tuple_String_SpVariant { + string _1 = 1; + SpVariant _2 = 2; +} + +message Tuple_String_String { + string _1 = 1; + string _2 = 2; +} + +// ast.ir:15 +message Language { + oneof sealed_value { + JavaLanguage java_language = 1; + PythonLanguage python_language = 2; + ScalaLanguage scala_language = 3; + } +} + +// ast.ir:16 +message PythonLanguage { + Version version = 1; +} + +// ast.ir:17 +message ScalaLanguage { + Version version = 1; +} + +// ast.ir:18 +message JavaLanguage { + Version version = 1; +} + +// ast.ir:21 +message Version { + string label = 1; + int64 major = 2; + int64 minor = 3; + int64 patch = 4; +} + +// const.ir:99 +message PythonTimeZone { + google.protobuf.StringValue name = 1; + int64 offset_seconds = 2; +} + +// expr-fn.ir:15 +message FnName { + oneof sealed_value { + FnNameFlat fn_name_flat = 1; + FnNameStructured fn_name_structured = 2; + } +} + +// expr-fn.ir:16 +message FnNameFlat { + string name = 1; +} + +// expr-fn.ir:17 +message FnNameStructured { + repeated string name = 1; +} + +// expr-fn.ir:89 +message UdtfSchema { + oneof sealed_value { + UdtfSchema_Names udtf_schema__names = 1; + UdtfSchema_Type udtf_schema__type = 2; + } +} + +// expr-fn.ir:90 +message UdtfSchema_Type { + SpDataType return_type = 1; +} + +// expr-fn.ir:91 +message UdtfSchema_Names { + repeated string schema = 1; +} + +// expr-window.ir:6 +message SpWindowRelativePosition { + oneof variant { + bool sp_window_relative_position__current_row = 1; + SpWindowRelativePosition_Position sp_window_relative_position__position = 2; + bool sp_window_relative_position__unbounded_following = 3; + bool sp_window_relative_position__unbounded_preceding = 4; + } +} + +// expr-window.ir:10 +message SpWindowRelativePosition_Position { + int64 n = 1; +} + +// pd-indexing.ir:2 +message PdIndexExpr { + oneof sealed_value { + FlexOrd flex_ord = 1; + Key key = 2; + Ord ord = 3; + } +} + +// pd-indexing.ir:3 +message Ord { + Expr v = 1; +} + +// pd-indexing.ir:4 +message FlexOrd { + Expr v = 1; +} + +// pd-indexing.ir:5 +message Key { + Expr v = 1; +} + +// pd-indexing.ir:9 +message PdProjectIndexExpr { + oneof sealed_value { + BoolFilterList bool_filter_list = 1; + FlexOrdList flex_ord_list = 2; + FlexOrdRange flex_ord_range = 3; + KeyList key_list = 4; + KeyRange key_range = 5; + OrdList ord_list = 6; + OrdRange ord_range = 7; + } +} + +// pd-indexing.ir:10 +message OrdRange { + Expr start = 1; + Expr step = 2; + Expr stop = 3; +} + +// pd-indexing.ir:11 +message FlexOrdRange { + Expr start = 1; + Expr step = 2; + Expr stop = 3; +} + +// pd-indexing.ir:12 +message KeyRange { + Expr start = 1; + Expr stop = 2; +} + +// pd-indexing.ir:13 +message OrdList { + Expr ords = 1; +} + +// pd-indexing.ir:14 +message FlexOrdList { + Expr ords = 1; +} + +// pd-indexing.ir:15 +message KeyList { + Expr keys = 1; +} + +// pd-indexing.ir:16 +message BoolFilterList { + Expr filter = 1; +} + +// sp-df-expr.ir:68 +message SpFlattenMode { + oneof variant { + bool sp_flatten_mode_array = 1; + bool sp_flatten_mode_both = 2; + bool sp_flatten_mode_object = 3; + } +} + +// sp-df-expr.ir:94 +message SpTableVariant { + oneof variant { + bool sp_session_table = 1; + bool sp_table_init = 2; + } +} + +// sp-df-io.ir:88 +message SpSaveMode { + oneof variant { + bool sp_save_mode_append = 1; + bool sp_save_mode_error_if_exists = 2; + bool sp_save_mode_ignore = 3; + bool sp_save_mode_overwrite = 4; + bool sp_save_mode_truncate = 5; + } +} + +// sp-misc.ir:1 +message SpJoinType { + oneof variant { + bool sp_join_type__asof = 1; + bool sp_join_type__cross = 2; + bool sp_join_type__full_outer = 3; + bool sp_join_type__inner = 4; + bool sp_join_type__left_anti = 5; + bool sp_join_type__left_outer = 6; + bool sp_join_type__left_semi = 7; + bool sp_join_type__right_outer = 8; + } +} + +// sp-type.ir:17 +message SpTimestampTimeZone { + oneof variant { + bool sp_timestamp_time_zone_default = 1; + bool sp_timestamp_time_zone_ltz = 2; + bool sp_timestamp_time_zone_ntz = 3; + bool sp_timestamp_time_zone_tz = 4; + } +} + +// sp-type.ir:24 +message SpDataType { + oneof variant { + SpArrayType sp_array_type = 1; + bool sp_binary_type = 2; + bool sp_boolean_type = 3; + bool sp_byte_type = 4; + SpColumnIdentifier sp_column_identifier = 5; + bool sp_date_type = 6; + SpDecimalType sp_decimal_type = 7; + bool sp_double_type = 8; + bool sp_float_type = 9; + bool sp_geography_type = 10; + bool sp_geometry_type = 11; + bool sp_integer_type = 12; + bool sp_long_type = 13; + SpMapType sp_map_type = 14; + bool sp_null_type = 15; + SpPandasDataFrameType sp_pandas_data_frame_type = 16; + SpPandasSeriesType sp_pandas_series_type = 17; + bool sp_short_type = 18; + SpStringType sp_string_type = 19; + SpStructField sp_struct_field = 20; + SpStructType sp_struct_type = 21; + bool sp_time_type = 22; + SpTimestampType sp_timestamp_type = 23; + bool sp_variant_type = 24; + SpVectorType sp_vector_type = 25; + } +} + +// sp-type.ir:25 +message SpArrayType { + bool structured = 1; + SpDataType ty = 2; +} + +// sp-type.ir:29 +message SpColumnIdentifier { + string name = 1; +} + +// sp-type.ir:31 +message SpDecimalType { + int64 precision = 1; + int64 scale = 2; +} + +// sp-type.ir:38 +message SpMapType { + SpDataType key_ty = 1; + bool structured = 2; + SpDataType value_ty = 3; +} + +// sp-type.ir:41 +message SpStringType { + google.protobuf.Int64Value length = 1; +} + +// sp-type.ir:42 +message SpStructField { + SpColumnIdentifier column_identifier = 1; + SpDataType data_type = 2; + bool nullable = 3; +} + +// sp-type.ir:43 +message SpStructType { + repeated SpStructField fields = 1; + bool structured = 2; +} + +// sp-type.ir:45 +message SpTimestampType { + SpTimestampTimeZone time_zone = 1; +} + +// sp-type.ir:47 +message SpVectorType { + int64 dimension = 1; + SpDataType ty = 2; +} + +// sp-type.ir:49 +message SpPandasSeriesType { + SpDataType el_ty = 1; +} + +// sp-type.ir:50 +message SpPandasDataFrameType { + repeated string col_names = 1; + repeated SpDataType col_types = 2; +} + +// sp-type.ir:54 +message SpVariant { + oneof sealed_value { + SpVariant_BigDecimal sp_variant__big_decimal = 1; + SpVariant_BigInt sp_variant__big_int = 2; + SpVariant_Bool sp_variant__bool = 3; + SpVariant_Bytes sp_variant__bytes = 4; + SpVariant_Date sp_variant__date = 5; + SpVariant_Double sp_variant__double = 6; + SpVariant_Float sp_variant__float = 7; + SpVariant_Int sp_variant__int = 8; + SpVariant_List sp_variant__list = 9; + SpVariant_Object sp_variant__object = 10; + SpVariant_String sp_variant__string = 11; + SpVariant_Time sp_variant__time = 12; + SpVariant_Timestamp sp_variant__timestamp = 13; + } +} + +// sp-type.ir:55 +message SpVariant_Object { + repeated Tuple_String_String v = 1; +} + +// sp-type.ir:56 +message SpVariant_List { + repeated Map_String_String v = 1; +} + +// sp-type.ir:57 +message SpVariant_Timestamp { + uint64 v = 1; +} + +// sp-type.ir:58 +message SpVariant_Date { + uint64 v = 1; +} + +// sp-type.ir:59 +message SpVariant_Time { + uint64 v = 1; +} + +// sp-type.ir:60 +message SpVariant_Bytes { + bytes v = 1; +} + +// sp-type.ir:61 +message SpVariant_String { + string v = 1; +} + +// sp-type.ir:62 +message SpVariant_Bool { + bool v = 1; +} + +// sp-type.ir:63 +message SpVariant_BigInt { + bytes v = 1; +} + +// sp-type.ir:64 +message SpVariant_BigDecimal { + bytes v = 1; +} + +// sp-type.ir:65 +message SpVariant_Int { + int64 v = 1; +} + +// sp-type.ir:66 +message SpVariant_Float { + uint64 v = 1; +} + +// sp-type.ir:67 +message SpVariant_Double { + uint64 v = 1; +} + +// sp-type.ir:73 +message SpTableName { + oneof sealed_value { + SpTableNameFlat sp_table_name_flat = 1; + SpTableNameStructured sp_table_name_structured = 2; + } +} + +// sp-type.ir:74 +message SpTableNameFlat { + string name = 1; +} + +// sp-type.ir:75 +message SpTableNameStructured { + repeated string name = 1; +} + +// sp-type.ir:78 +message StagedPandasDataframe { + SpTableName temp_table = 1; +} + +// sp-type.ir:82 +message SpDataframeData { + oneof sealed_value { + SpDataframeData_List sp_dataframe_data__list = 1; + SpDataframeData_Pandas sp_dataframe_data__pandas = 2; + SpDataframeData_Tuple sp_dataframe_data__tuple = 3; + } +} + +// sp-type.ir:83 +message SpDataframeData_List { + repeated Expr vs = 1; +} + +// sp-type.ir:84 +message SpDataframeData_Tuple { + repeated Expr vs = 1; +} + +// sp-type.ir:85 +message SpDataframeData_Pandas { + StagedPandasDataframe v = 1; +} + +// sp-type.ir:88 +message SpDataframeSchema { + oneof sealed_value { + SpDataframeSchema_List sp_dataframe_schema__list = 1; + SpDataframeSchema_Struct sp_dataframe_schema__struct = 2; + } +} + +// sp-type.ir:89 +message SpDataframeSchema_List { + repeated string vs = 1; +} + +// sp-type.ir:90 +message SpDataframeSchema_Struct { + SpStructType v = 1; +} + +// sp-type.ir:93 +message SpCallable { + int64 id = 1; + string name = 2; +} + +// sp-type.ir:104 +message SpPivotValue { + oneof sealed_value { + SpPivotValue_Dataframe sp_pivot_value__dataframe = 1; + SpPivotValue_Expr sp_pivot_value__expr = 2; + } +} + +// sp-type.ir:105 +message SpPivotValue_Expr { + Expr v = 1; +} + +// sp-type.ir:106 +message SpPivotValue_Dataframe { + SpDataframeRef v = 1; +} + +// src.ir:1 +message SrcPosition { + int64 end_column = 1; + int64 end_line = 2; + string file = 3; + int64 start_column = 4; + int64 start_line = 5; +} + +// stmt.ir:22 +message VarId { + uint64 bitfield1 = 1; +} + +// ast.ir:4 +message Request { + repeated Stmt body = 1; + int64 client_ast_version = 2; + Language client_language = 3; + Version client_version = 4; +} + +// ast.ir:11 +message Response { + repeated Result body = 1; +} + +message Const { + oneof variant { + BigDecimalVal big_decimal_val = 1; + BigIntVal big_int_val = 2; + BinaryVal binary_val = 3; + BoolVal bool_val = 4; + DateVal date_val = 5; + Float64Val float64_val = 6; + FnVal fn_val = 7; + Int32Val int32_val = 8; + Int64Val int64_val = 9; + NoneVal none_val = 10; + NullVal null_val = 11; + PythonDateVal python_date_val = 12; + PythonTimeVal python_time_val = 13; + PythonTimestampVal python_timestamp_val = 14; + SpDatatypeVal sp_datatype_val = 15; + StringVal string_val = 16; + TimeVal time_val = 17; + TimestampVal timestamp_val = 18; + } +} + +// const.ir:11 +message NoneVal { + SrcPosition src = 1; +} + +// const.ir:13 +message NullVal { + SrcPosition src = 1; +} + +// const.ir:19 +message BoolVal { + SrcPosition src = 1; + bool v = 2; +} + +// const.ir:23 +message Int32Val { + SrcPosition src = 1; + int64 v = 2; +} + +// const.ir:27 +message Int64Val { + SrcPosition src = 1; + int64 v = 2; +} + +// const.ir:31 +message Float64Val { + SrcPosition src = 1; + double v = 2; +} + +// const.ir:39 +message BigIntVal { + SrcPosition src = 1; + bytes v = 2; +} + +// const.ir:43 +message BigDecimalVal { + int64 scale = 1; + SrcPosition src = 2; + bytes unscaled_value = 3; +} + +// const.ir:48 +message StringVal { + SrcPosition src = 1; + string v = 2; +} + +// const.ir:52 +message BinaryVal { + SrcPosition src = 1; + bytes v = 2; +} + +// const.ir:60 +message TimestampVal { + SrcPosition src = 1; + int64 v = 2; +} + +// const.ir:64 +message DateVal { + SrcPosition src = 1; + int64 v = 2; +} + +// const.ir:68 +message TimeVal { + SrcPosition src = 1; + int64 v = 2; +} + +// const.ir:72 +message PythonTimestampVal { + int64 day = 1; + int64 hour = 2; + int64 microsecond = 3; + int64 minute = 4; + int64 month = 5; + int64 second = 6; + SrcPosition src = 7; + PythonTimeZone tz = 8; + int64 year = 9; +} + +// const.ir:83 +message PythonDateVal { + int64 day = 1; + int64 month = 2; + SrcPosition src = 3; + int64 year = 4; +} + +// const.ir:89 +message PythonTimeVal { + int64 hour = 1; + int64 microsecond = 2; + int64 minute = 3; + int64 second = 4; + SrcPosition src = 5; + PythonTimeZone tz = 6; +} + +// const.ir:105 +message FnVal { + Expr body = 1; + repeated string params = 2; + SrcPosition src = 3; +} + +// const.ir:111 +message SpDatatypeVal { + SpDataType datatype = 1; + SrcPosition src = 2; +} + +// expr-bool.ir:1 +message IfExpr { + Expr cond = 1; + Expr if_false = 2; + Expr if_true = 3; + SrcPosition src = 4; +} + +// expr-coll.ir:5 +message SomeVal { + SrcPosition src = 1; + Expr v = 2; +} + +// expr-coll.ir:13 +message TupleVal { + SrcPosition src = 1; + repeated Expr vs = 2; +} + +// expr-coll.ir:21 +message ListVal { + SrcPosition src = 1; + repeated Expr vs = 2; +} + +// expr-coll.ir:30 +message SeqMapVal { + repeated TupleVal kvs = 1; + SrcPosition src = 2; +} + +// expr-fn.ir:2 +message ApplyExpr { + FnRefExpr fn = 1; + repeated Tuple_String_Expr named_args = 2; + repeated Expr pos_args = 3; + SrcPosition src = 4; +} + +message FnRefExpr { + oneof variant { + FnIdRefExpr trait_fn_id_ref_expr = 1; + FnNameRefExpr trait_fn_name_ref_expr = 2; + BuiltinFn builtin_fn = 3; + CallTableFunctionExpr call_table_function_expr = 4; + IndirectTableFnIdRef indirect_table_fn_id_ref = 5; + IndirectTableFnNameRef indirect_table_fn_name_ref = 6; + SpFnRef sp_fn_ref = 7; + StoredProcedure stored_procedure = 8; + Udaf udaf = 9; + Udf udf = 10; + Udtf udtf = 11; + } +} + +message FnNameRefExpr { + oneof variant { + BuiltinFn builtin_fn = 1; + CallTableFunctionExpr call_table_function_expr = 2; + IndirectTableFnNameRef indirect_table_fn_name_ref = 3; + StoredProcedure stored_procedure = 4; + Udaf udaf = 5; + Udf udf = 6; + Udtf udtf = 7; + } +} + +message FnIdRefExpr { + oneof variant { + IndirectTableFnIdRef indirect_table_fn_id_ref = 1; + SpFnRef sp_fn_ref = 2; + } +} + +// expr-fn.ir:33 +message SpFnRef { + VarId id = 1; + SrcPosition src = 2; +} + +// expr-fn.ir:37 +message BuiltinFn { + FnName name = 1; + SrcPosition src = 2; +} + +// expr-fn.ir:40 +message StoredProcedure { + google.protobuf.StringValue comment = 1; + string execute_as = 2; + repeated string external_access_integrations = 3; + SpCallable func = 4; + bool if_not_exists = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + google.protobuf.BoolValue log_on_exception = 10; + FnName name = 11; + repeated string packages = 12; + int64 parallel = 13; + bool replace = 14; + SpDataType return_type = 15; + repeated Tuple_String_String secrets = 16; + bool source_code_display = 17; + SrcPosition src = 18; + string stage_location = 19; + repeated Tuple_String_String statement_params = 20; + bool strict = 21; +} + +// expr-fn.ir:64 +message Udf { + google.protobuf.StringValue comment = 1; + repeated string external_access_integrations = 2; + SpCallable func = 3; + bool if_not_exists = 4; + bool immutable = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + google.protobuf.Int64Value max_batch_size = 10; + FnName name = 11; + repeated string packages = 12; + int64 parallel = 13; + bool replace = 14; + SpDataType return_type = 15; + repeated Tuple_String_String secrets = 16; + bool secure = 17; + bool source_code_display = 18; + SrcPosition src = 19; + string stage_location = 20; + repeated Tuple_String_String statement_params = 21; + bool strict = 22; +} + +// expr-fn.ir:95 +message Udtf { + google.protobuf.StringValue comment = 1; + repeated string external_access_integrations = 2; + SpCallable handler = 3; + bool if_not_exists = 4; + bool immutable = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + FnName name = 10; + UdtfSchema output_schema = 11; + repeated string packages = 12; + int64 parallel = 13; + bool replace = 14; + repeated Tuple_String_String secrets = 15; + bool secure = 16; + SrcPosition src = 17; + string stage_location = 18; + repeated Tuple_String_String statement_params = 19; + bool strict = 20; +} + +// expr-fn.ir:118 +message Udaf { + google.protobuf.StringValue comment = 1; + repeated string external_access_integrations = 2; + SpCallable handler = 3; + bool if_not_exists = 4; + bool immutable = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + FnName name = 10; + repeated string packages = 11; + int64 parallel = 12; + bool replace = 13; + SpDataType return_type = 14; + repeated Tuple_String_String secrets = 15; + SrcPosition src = 16; + google.protobuf.StringValue stage_location = 17; + repeated Tuple_String_String statement_params = 18; +} + +// expr-fn.ir:139 +message IndirectTableFnNameRef { + FnName name = 1; + SrcPosition src = 2; +} + +// expr-fn.ir:144 +message IndirectTableFnIdRef { + VarId id = 1; + SrcPosition src = 2; +} + +// expr-fn.ir:148 +message CallTableFunctionExpr { + FnName name = 1; + SrcPosition src = 2; +} + +message UnaryOp { + oneof variant { + Neg neg = 1; + Not not = 2; + } +} + +message BinOp { + oneof variant { + Add add = 1; + And and = 2; + BitAnd bit_and = 3; + BitOr bit_or = 4; + BitXor bit_xor = 5; + Div div = 6; + Eq eq = 7; + Geq geq = 8; + Gt gt = 9; + Leq leq = 10; + Lt lt = 11; + Mod mod = 12; + Mul mul = 13; + Neq neq = 14; + Or or = 15; + Pow pow = 16; + Sub sub = 17; + } +} + +// expr-op.ir:14 +message Not { + Expr operand = 1; + SrcPosition src = 2; +} + +// expr-op.ir:16 +message And { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:18 +message Or { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:24 +message Eq { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:26 +message Neq { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:28 +message Lt { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:30 +message Leq { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:32 +message Gt { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:34 +message Geq { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:40 +message Neg { + Expr operand = 1; + SrcPosition src = 2; +} + +// expr-op.ir:42 +message Add { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:44 +message Sub { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:46 +message Mul { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:48 +message Div { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:50 +message Mod { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:52 +message Pow { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:58 +message BitAnd { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:60 +message BitOr { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-op.ir:62 +message BitXor { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// expr-range.ir:1 +message RangeVal { + SrcPosition src = 1; + Expr start = 2; + Expr step = 3; + Expr stop = 4; +} + +message SpWindowSpecExpr { + oneof variant { + SpWindowSpecEmpty sp_window_spec_empty = 1; + SpWindowSpecOrderBy sp_window_spec_order_by = 2; + SpWindowSpecPartitionBy sp_window_spec_partition_by = 3; + SpWindowSpecRangeBetween sp_window_spec_range_between = 4; + SpWindowSpecRowsBetween sp_window_spec_rows_between = 5; + } +} + +// expr-window.ir:18 +message SpWindowSpecEmpty { + SrcPosition src = 1; + SpWindowSpecExpr wnd = 2; +} + +// expr-window.ir:20 +message SpWindowSpecOrderBy { + repeated Expr cols = 1; + SrcPosition src = 2; + SpWindowSpecExpr wnd = 3; +} + +// expr-window.ir:24 +message SpWindowSpecPartitionBy { + repeated Expr cols = 1; + SrcPosition src = 2; + SpWindowSpecExpr wnd = 3; +} + +// expr-window.ir:28 +message SpWindowSpecRangeBetween { + SpWindowRelativePosition end = 1; + SrcPosition src = 2; + SpWindowRelativePosition start = 3; + SpWindowSpecExpr wnd = 4; +} + +// expr-window.ir:33 +message SpWindowSpecRowsBetween { + SpWindowRelativePosition end = 1; + SrcPosition src = 2; + SpWindowRelativePosition start = 3; + SpWindowSpecExpr wnd = 4; +} + +message Expr { + oneof variant { + BinOp trait_bin_op = 1; + Const trait_const = 2; + FnIdRefExpr trait_fn_id_ref_expr = 3; + FnNameRefExpr trait_fn_name_ref_expr = 4; + FnRefExpr trait_fn_ref_expr = 5; + SpColumnExpr trait_sp_column_expr = 6; + SpColumnFn trait_sp_column_fn = 7; + SpDataframeExpr trait_sp_dataframe_expr = 8; + SpDataframeWriter trait_sp_dataframe_writer = 9; + SpDataframeWriterOptions trait_sp_dataframe_writer_options = 10; + SpDataframeWriterSaveMode trait_sp_dataframe_writer_save_mode = 11; + SpMatchedClause trait_sp_matched_clause = 12; + SpRelationalGroupedDataframeExpr trait_sp_relational_grouped_dataframe_expr = 13; + SpWriteFile trait_sp_write_file = 14; + UnaryOp trait_unary_op = 15; + Add add = 16; + And and = 17; + ApplyExpr apply_expr = 18; + BigDecimalVal big_decimal_val = 19; + BigIntVal big_int_val = 20; + BinaryVal binary_val = 21; + BitAnd bit_and = 22; + BitOr bit_or = 23; + BitXor bit_xor = 24; + BoolVal bool_val = 25; + BuiltinFn builtin_fn = 26; + CallTableFunctionExpr call_table_function_expr = 27; + CastExpr cast_expr = 28; + DateVal date_val = 29; + Div div = 30; + Eq eq = 31; + Float64Val float64_val = 32; + FnVal fn_val = 33; + Geq geq = 34; + Gt gt = 35; + IfExpr if_expr = 36; + IndirectTableFnIdRef indirect_table_fn_id_ref = 37; + IndirectTableFnNameRef indirect_table_fn_name_ref = 38; + Int32Val int32_val = 39; + Int64Val int64_val = 40; + Leq leq = 41; + ListVal list_val = 42; + Lt lt = 43; + Mod mod = 44; + Mul mul = 45; + Neg neg = 46; + Neq neq = 47; + NoneVal none_val = 48; + Not not = 49; + NullVal null_val = 50; + ObjectGetItem object_get_item = 51; + Or or = 52; + PdDataframe pd_dataframe = 53; + PdDataframeGetItem pd_dataframe_get_item = 54; + PdDataframeILoc pd_dataframe_i_loc = 55; + PdDataframeLoc pd_dataframe_loc = 56; + PdDataframeSetItem pd_dataframe_set_item = 57; + PdDropNa pd_drop_na = 58; + PdRepr pd_repr = 59; + Pow pow = 60; + PythonDateVal python_date_val = 61; + PythonTimeVal python_time_val = 62; + PythonTimestampVal python_timestamp_val = 63; + RangeVal range_val = 64; + Ref ref = 65; + SeqMapVal seq_map_val = 66; + SomeVal some_val = 67; + SpColumnAlias sp_column_alias = 68; + SpColumnApply_Int sp_column_apply__int = 69; + SpColumnApply_String sp_column_apply__string = 70; + SpColumnAsc sp_column_asc = 71; + SpColumnBetween sp_column_between = 72; + SpColumnCaseWhen sp_column_case_when = 73; + SpColumnCast sp_column_cast = 74; + SpColumnDesc sp_column_desc = 75; + SpColumnEqualNan sp_column_equal_nan = 76; + SpColumnEqualNull sp_column_equal_null = 77; + SpColumnIn_Dataframe sp_column_in__dataframe = 78; + SpColumnIn_Seq sp_column_in__seq = 79; + SpColumnIsNotNull sp_column_is_not_null = 80; + SpColumnIsNull sp_column_is_null = 81; + SpColumnName sp_column_name = 82; + SpColumnOver sp_column_over = 83; + SpColumnRef sp_column_ref = 84; + SpColumnSqlExpr sp_column_sql_expr = 85; + SpColumnStringCollate sp_column_string_collate = 86; + SpColumnStringContains sp_column_string_contains = 87; + SpColumnStringEndsWith sp_column_string_ends_with = 88; + SpColumnStringLike sp_column_string_like = 89; + SpColumnStringRegexp sp_column_string_regexp = 90; + SpColumnStringStartsWith sp_column_string_starts_with = 91; + SpColumnStringSubstr sp_column_string_substr = 92; + SpColumnTryCast sp_column_try_cast = 93; + SpColumnWithinGroup sp_column_within_group = 94; + SpCreateDataframe sp_create_dataframe = 95; + SpDataframeAgg sp_dataframe_agg = 96; + SpDataframeAlias sp_dataframe_alias = 97; + SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 98; + SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 99; + SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 100; + SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 101; + SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 102; + SpDataframeApply sp_dataframe_apply = 103; + SpDataframeCacheResult sp_dataframe_cache_result = 104; + SpDataframeCol sp_dataframe_col = 105; + SpDataframeCollect sp_dataframe_collect = 106; + SpDataframeCopyIntoTable sp_dataframe_copy_into_table = 107; + SpDataframeCount sp_dataframe_count = 108; + SpDataframeCreateOrReplaceDynamicTable sp_dataframe_create_or_replace_dynamic_table = 109; + SpDataframeCreateOrReplaceView sp_dataframe_create_or_replace_view = 110; + SpDataframeCrossJoin sp_dataframe_cross_join = 111; + SpDataframeCube sp_dataframe_cube = 112; + SpDataframeDescribe sp_dataframe_describe = 113; + SpDataframeDistinct sp_dataframe_distinct = 114; + SpDataframeDrop sp_dataframe_drop = 115; + SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 116; + SpDataframeExcept sp_dataframe_except = 117; + SpDataframeFilter sp_dataframe_filter = 118; + SpDataframeFirst sp_dataframe_first = 119; + SpDataframeFlatten sp_dataframe_flatten = 120; + SpDataframeGroupBy sp_dataframe_group_by = 121; + SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 122; + SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 123; + SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 124; + SpDataframeIntersect sp_dataframe_intersect = 125; + SpDataframeJoin sp_dataframe_join = 126; + SpDataframeJoinTableFunction sp_dataframe_join_table_function = 127; + SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 128; + SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 129; + SpDataframeLimit sp_dataframe_limit = 130; + SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 131; + SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 132; + SpDataframeNaFill sp_dataframe_na_fill = 133; + SpDataframeNaReplace sp_dataframe_na_replace = 134; + SpDataframeNaturalJoin sp_dataframe_natural_join = 135; + SpDataframePivot sp_dataframe_pivot = 136; + SpDataframeRandomSplit sp_dataframe_random_split = 137; + SpDataframeRef sp_dataframe_ref = 138; + SpDataframeRename sp_dataframe_rename = 139; + SpDataframeRollup sp_dataframe_rollup = 140; + SpDataframeRollup_Columns sp_dataframe_rollup__columns = 141; + SpDataframeRollup_Strings sp_dataframe_rollup__strings = 142; + SpDataframeSample sp_dataframe_sample = 143; + SpDataframeSelect_Columns sp_dataframe_select__columns = 144; + SpDataframeSelect_Exprs sp_dataframe_select__exprs = 145; + SpDataframeShow sp_dataframe_show = 146; + SpDataframeSort sp_dataframe_sort = 147; + SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 148; + SpDataframeStatCorr sp_dataframe_stat_corr = 149; + SpDataframeStatCov sp_dataframe_stat_cov = 150; + SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 151; + SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 152; + SpDataframeToDf sp_dataframe_to_df = 153; + SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 154; + SpDataframeToPandas sp_dataframe_to_pandas = 155; + SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 156; + SpDataframeUnion sp_dataframe_union = 157; + SpDataframeUnionAll sp_dataframe_union_all = 158; + SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 159; + SpDataframeUnionByName sp_dataframe_union_by_name = 160; + SpDataframeUnpivot sp_dataframe_unpivot = 161; + SpDataframeWhere sp_dataframe_where = 162; + SpDataframeWithColumn sp_dataframe_with_column = 163; + SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 164; + SpDataframeWithColumns sp_dataframe_with_columns = 165; + SpDataframeWrite sp_dataframe_write = 166; + SpDatatypeVal sp_datatype_val = 167; + SpFlatten sp_flatten = 168; + SpFnRef sp_fn_ref = 169; + SpGenerator sp_generator = 170; + SpGroupingSets sp_grouping_sets = 171; + SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 172; + SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 173; + SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 174; + SpRange sp_range = 175; + SpReadAvro sp_read_avro = 176; + SpReadCsv sp_read_csv = 177; + SpReadJson sp_read_json = 178; + SpReadOrc sp_read_orc = 179; + SpReadParquet sp_read_parquet = 180; + SpReadTable sp_read_table = 181; + SpReadXml sp_read_xml = 182; + SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 183; + SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 184; + SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 185; + SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 186; + SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 187; + SpRow sp_row = 188; + SpSessionTableFunction sp_session_table_function = 189; + SpSql sp_sql = 190; + SpStoredProcedure sp_stored_procedure = 191; + SpTable sp_table = 192; + SpTableDelete sp_table_delete = 193; + SpTableDropTable sp_table_drop_table = 194; + SpTableFnCallAlias sp_table_fn_call_alias = 195; + SpTableFnCallOver sp_table_fn_call_over = 196; + SpTableMerge sp_table_merge = 197; + SpTableSample sp_table_sample = 198; + SpTableUpdate sp_table_update = 199; + SpWriteCopyIntoLocation sp_write_copy_into_location = 200; + SpWriteCsv sp_write_csv = 201; + SpWriteJson sp_write_json = 202; + SpWritePandas sp_write_pandas = 203; + SpWriteParquet sp_write_parquet = 204; + SpWriteTable sp_write_table = 205; + StoredProcedure stored_procedure = 206; + StringVal string_val = 207; + Sub sub = 208; + TimeVal time_val = 209; + TimestampVal timestamp_val = 210; + TupleVal tuple_val = 211; + Udaf udaf = 212; + Udf udf = 213; + Udtf udtf = 214; + } +} + +// expr.ir:4 +message Ref { + SrcPosition src = 1; + VarId var_id = 2; +} + +// expr.ir:9 +message CastExpr { + SrcPosition src = 1; + Type typ = 2; + Expr v = 3; +} + +// expr.ir:15 +message ObjectGetItem { + repeated Expr args = 1; + VarId obj = 2; + SrcPosition src = 3; +} + +// pd-dataframe.ir:2 +message PdDataframe { + Expr columns = 1; + Expr data = 2; + Type dtype = 3; + Expr index = 4; + SrcPosition src = 5; +} + +// pd-dataframe.ir:9 +message PdDropNa { + Expr axis = 1; + Ref df = 2; + SrcPosition src = 3; + Expr subset = 4; + Expr thresh = 5; +} + +// pd-indexing.ir:20 +message PdDataframeGetItem { + Ref df = 1; + Expr key_arg = 2; + SrcPosition src = 3; +} + +// pd-indexing.ir:26 +message PdDataframeSetItem { + Ref df = 1; + Expr key_arg = 2; + SrcPosition src = 3; + Expr v = 4; +} + +// pd-indexing.ir:32 +message PdDataframeLoc { + Expr columns = 1; + Ref df = 2; + Expr rows = 3; + SrcPosition src = 4; +} + +// pd-indexing.ir:38 +message PdDataframeILoc { + Expr columns = 1; + Ref df = 2; + Expr rows = 3; + SrcPosition src = 4; +} + +// pd-repr.ir:1 +message PdRepr { + bool async = 1; + int64 max_columns = 2; + int64 max_rows = 3; + SrcPosition src = 4; + Ref v = 5; +} + +// pd-repr.ir:11 +message PdReprResult { + int64 num_columns = 1; + int64 num_head_columns = 2; + int64 num_head_rows = 3; + int64 num_rows = 4; + bytes value = 5; +} + +message Result { + oneof variant { + Error trait_error = 1; + EvalOk eval_ok = 2; + SessionResetRequiredError session_reset_required_error = 3; + } +} + +message EvalResult { + oneof variant { + Const trait_const = 1; + BigDecimalVal big_decimal_val = 2; + BigIntVal big_int_val = 3; + BinaryVal binary_val = 4; + BoolVal bool_val = 5; + DateVal date_val = 6; + Float64Val float64_val = 7; + FnVal fn_val = 8; + Int32Val int32_val = 9; + Int64Val int64_val = 10; + NoneVal none_val = 11; + NullVal null_val = 12; + PdReprResult pd_repr_result = 13; + PythonDateVal python_date_val = 14; + PythonTimeVal python_time_val = 15; + PythonTimestampVal python_timestamp_val = 16; + SpDatatypeVal sp_datatype_val = 17; + StringVal string_val = 18; + TimeVal time_val = 19; + TimestampVal timestamp_val = 20; + } +} + +// result.ir:5 +message EvalOk { + EvalResult data = 1; + int64 uid = 2; + VarId var_id = 3; +} + +message Error { + oneof variant { + SessionResetRequiredError session_reset_required_error = 1; + } +} + +// result.ir:17 +message SessionResetRequiredError { + int64 uid = 1; + VarId var_id = 2; +} + +message SpColumnExpr { + oneof variant { + SpColumnCaseWhen sp_column_case_when = 1; + SpColumnEqualNull sp_column_equal_null = 2; + SpColumnRef sp_column_ref = 3; + SpColumnSqlExpr sp_column_sql_expr = 4; + SpDataframeApply sp_dataframe_apply = 5; + SpDataframeCol sp_dataframe_col = 6; + } +} + +// sp-col-expr.ir:5 +message SpColumnRef { + string id = 1; + SrcPosition src = 2; +} + +// sp-col-expr.ir:10 +message SpColumnSqlExpr { + google.protobuf.StringValue df_alias = 1; + string sql = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:17 +message SpCaseExpr { + Expr condition = 1; + SrcPosition src = 2; + Expr value = 3; +} + +// sp-col-expr.ir:22 +message SpColumnCaseWhen { + repeated SpCaseExpr cases = 1; + SrcPosition src = 2; +} + +message SpColumnFn { + oneof variant { + SpColumnAlias sp_column_alias = 1; + SpColumnApply_Int sp_column_apply__int = 2; + SpColumnApply_String sp_column_apply__string = 3; + SpColumnAsc sp_column_asc = 4; + SpColumnBetween sp_column_between = 5; + SpColumnCast sp_column_cast = 6; + SpColumnDesc sp_column_desc = 7; + SpColumnEqualNan sp_column_equal_nan = 8; + SpColumnIn_Dataframe sp_column_in__dataframe = 9; + SpColumnIn_Seq sp_column_in__seq = 10; + SpColumnIsNotNull sp_column_is_not_null = 11; + SpColumnIsNull sp_column_is_null = 12; + SpColumnName sp_column_name = 13; + SpColumnOver sp_column_over = 14; + SpColumnStringCollate sp_column_string_collate = 15; + SpColumnStringContains sp_column_string_contains = 16; + SpColumnStringEndsWith sp_column_string_ends_with = 17; + SpColumnStringLike sp_column_string_like = 18; + SpColumnStringRegexp sp_column_string_regexp = 19; + SpColumnStringStartsWith sp_column_string_starts_with = 20; + SpColumnStringSubstr sp_column_string_substr = 21; + SpColumnTryCast sp_column_try_cast = 22; + SpColumnWithinGroup sp_column_within_group = 23; + } +} + +// sp-col-expr.ir:34 +message SpColumnAlias { + Expr col = 1; + string name = 2; + SrcPosition src = 3; + google.protobuf.BoolValue variant_is_as = 4; +} + +// sp-col-expr.ir:39 +message SpColumnApply_Int { + Expr col = 1; + int64 idx = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:43 +message SpColumnApply_String { + Expr col = 1; + string field = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:47 +message SpColumnAsc { + Expr col = 1; + google.protobuf.BoolValue nulls_first = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:51 +message SpColumnBetween { + Expr col = 1; + Expr lower_bound = 2; + SrcPosition src = 3; + Expr upper_bound = 4; +} + +// sp-col-expr.ir:56 +message SpColumnCast { + Expr col = 1; + SrcPosition src = 2; + SpDataType to = 3; +} + +// sp-col-expr.ir:60 +message SpColumnTryCast { + Expr col = 1; + SrcPosition src = 2; + SpDataType to = 3; +} + +// sp-col-expr.ir:64 +message SpColumnDesc { + Expr col = 1; + google.protobuf.BoolValue nulls_first = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:68 +message SpColumnEqualNan { + Expr col = 1; + SrcPosition src = 2; +} + +// sp-col-expr.ir:70 +message SpColumnEqualNull { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:75 +message SpColumnIn_Dataframe { + Expr col = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:79 +message SpColumnIn_Seq { + Expr col = 1; + SrcPosition src = 2; + repeated Expr values = 3; +} + +// sp-col-expr.ir:83 +message SpColumnIsNotNull { + Expr col = 1; + SrcPosition src = 2; +} + +// sp-col-expr.ir:85 +message SpColumnIsNull { + Expr col = 1; + SrcPosition src = 2; +} + +// sp-col-expr.ir:87 +message SpColumnName { + string alias = 1; + Expr col = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:91 +message SpColumnOver { + Expr col = 1; + SrcPosition src = 2; + SpWindowSpecExpr window_spec = 3; +} + +// sp-col-expr.ir:95 +message SpColumnWithinGroup { + Expr col = 1; + ExprArgList cols = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:99 +message SpColumnStringLike { + Expr col = 1; + Expr pattern = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:103 +message SpColumnStringRegexp { + Expr col = 1; + Expr parameters = 2; + Expr pattern = 3; + SrcPosition src = 4; +} + +// sp-col-expr.ir:108 +message SpColumnStringStartsWith { + Expr col = 1; + Expr prefix = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:112 +message SpColumnStringEndsWith { + Expr col = 1; + SrcPosition src = 2; + Expr suffix = 3; +} + +// sp-col-expr.ir:116 +message SpColumnStringSubstr { + Expr col = 1; + Expr len = 2; + Expr pos = 3; + SrcPosition src = 4; +} + +// sp-col-expr.ir:121 +message SpColumnStringCollate { + Expr col = 1; + Expr collation_spec = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:125 +message SpColumnStringContains { + Expr col = 1; + Expr pattern = 2; + SrcPosition src = 3; +} + +message SpDataframeExpr { + oneof variant { + SpCreateDataframe sp_create_dataframe = 1; + SpDataframeAgg sp_dataframe_agg = 2; + SpDataframeAlias sp_dataframe_alias = 3; + SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 4; + SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 5; + SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 6; + SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 7; + SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 8; + SpDataframeCollect sp_dataframe_collect = 9; + SpDataframeCount sp_dataframe_count = 10; + SpDataframeCrossJoin sp_dataframe_cross_join = 11; + SpDataframeDescribe sp_dataframe_describe = 12; + SpDataframeDistinct sp_dataframe_distinct = 13; + SpDataframeDrop sp_dataframe_drop = 14; + SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 15; + SpDataframeExcept sp_dataframe_except = 16; + SpDataframeFilter sp_dataframe_filter = 17; + SpDataframeFirst sp_dataframe_first = 18; + SpDataframeFlatten sp_dataframe_flatten = 19; + SpDataframeIntersect sp_dataframe_intersect = 20; + SpDataframeJoin sp_dataframe_join = 21; + SpDataframeJoinTableFunction sp_dataframe_join_table_function = 22; + SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 23; + SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 24; + SpDataframeLimit sp_dataframe_limit = 25; + SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 26; + SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 27; + SpDataframeNaFill sp_dataframe_na_fill = 28; + SpDataframeNaReplace sp_dataframe_na_replace = 29; + SpDataframeNaturalJoin sp_dataframe_natural_join = 30; + SpDataframeRandomSplit sp_dataframe_random_split = 31; + SpDataframeRef sp_dataframe_ref = 32; + SpDataframeRename sp_dataframe_rename = 33; + SpDataframeSample sp_dataframe_sample = 34; + SpDataframeSelect_Columns sp_dataframe_select__columns = 35; + SpDataframeSelect_Exprs sp_dataframe_select__exprs = 36; + SpDataframeShow sp_dataframe_show = 37; + SpDataframeSort sp_dataframe_sort = 38; + SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 39; + SpDataframeStatCorr sp_dataframe_stat_corr = 40; + SpDataframeStatCov sp_dataframe_stat_cov = 41; + SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 42; + SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 43; + SpDataframeToDf sp_dataframe_to_df = 44; + SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 45; + SpDataframeToPandas sp_dataframe_to_pandas = 46; + SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 47; + SpDataframeUnion sp_dataframe_union = 48; + SpDataframeUnionAll sp_dataframe_union_all = 49; + SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 50; + SpDataframeUnionByName sp_dataframe_union_by_name = 51; + SpDataframeUnpivot sp_dataframe_unpivot = 52; + SpDataframeWhere sp_dataframe_where = 53; + SpDataframeWithColumn sp_dataframe_with_column = 54; + SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 55; + SpDataframeWithColumns sp_dataframe_with_columns = 56; + SpDataframeWrite sp_dataframe_write = 57; + SpFlatten sp_flatten = 58; + SpGenerator sp_generator = 59; + SpRange sp_range = 60; + SpReadAvro sp_read_avro = 61; + SpReadCsv sp_read_csv = 62; + SpReadJson sp_read_json = 63; + SpReadOrc sp_read_orc = 64; + SpReadParquet sp_read_parquet = 65; + SpReadTable sp_read_table = 66; + SpReadXml sp_read_xml = 67; + SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 68; + SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 69; + SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 70; + SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 71; + SpSessionTableFunction sp_session_table_function = 72; + SpSql sp_sql = 73; + SpStoredProcedure sp_stored_procedure = 74; + SpTable sp_table = 75; + SpTableDelete sp_table_delete = 76; + SpTableDropTable sp_table_drop_table = 77; + SpTableMerge sp_table_merge = 78; + SpTableSample sp_table_sample = 79; + SpTableUpdate sp_table_update = 80; + SpWritePandas sp_write_pandas = 81; + } +} + +// sp-df-expr.ir:6 +message SpDataframeRef { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:10 +message SpDataframeShow { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:14 +message SpDataframeCount { + bool block = 1; + VarId id = 2; + SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; +} + +// sp-df-expr.ir:20 +message SpDataframeCollect { + bool block = 1; + bool case_sensitive = 2; + VarId id = 3; + bool log_on_exception = 4; + bool no_wait = 5; + SrcPosition src = 6; + repeated Tuple_String_String statement_params = 7; +} + +// sp-df-expr.ir:29 +message SpDataframeToLocalIterator { + bool block = 1; + bool case_sensitive = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + +// sp-df-expr.ir:40 +message SpCreateDataframe { + SpDataframeData data = 1; + SpDataframeSchema schema = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:45 +message SpWritePandas { + bool auto_create_table = 1; + google.protobuf.Int64Value chunk_size = 2; + string compression = 3; + bool create_temp_table = 4; + SpDataframeData df = 5; + repeated Tuple_String_Expr kwargs = 6; + string on_error = 7; + bool overwrite = 8; + int64 parallel = 9; + bool quote_identifiers = 10; + SrcPosition src = 11; + SpTableName table_name = 12; + string table_type = 13; +} + +// sp-df-expr.ir:60 +message SpFlatten { + Expr input = 1; + SpFlattenMode mode = 2; + bool outer = 3; + google.protobuf.StringValue path = 4; + bool recursive = 5; + SrcPosition src = 6; +} + +// sp-df-expr.ir:70 +message SpGenerator { + repeated Expr columns = 1; + int64 row_count = 2; + SrcPosition src = 3; + int64 time_limit_seconds = 4; + bool variadic = 5; +} + +// sp-df-expr.ir:77 +message SpRange { + google.protobuf.Int64Value end = 1; + SrcPosition src = 2; + int64 start = 3; + google.protobuf.Int64Value step = 4; +} + +// sp-df-expr.ir:83 +message SpSql { + repeated Expr params = 1; + string query = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:88 +message SpStoredProcedure { + repeated SpVariant args = 1; + string sp_name = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:96 +message SpTable { + bool is_temp_table_for_cleanup = 1; + SpTableName name = 2; + SrcPosition src = 3; + SpTableVariant variant = 4; +} + +// sp-df-expr.ir:102 +message SpSessionTableFunction { + Expr fn = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:106 +message SpDataframeToPandas { + bool block = 1; + VarId id = 2; + SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; +} + +// sp-df-expr.ir:112 +message SpDataframeToPandasBatches { + bool block = 1; + VarId id = 2; + SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; +} + +// sp-df-expr.ir:118 +message SpDataframeToDf { + repeated string col_names = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:129 +message SpDataframeNaDrop_Scala { + repeated string cols = 1; + SpDataframeExpr df = 2; + int64 min_non_nulls_per_row = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:135 +message SpDataframeNaDrop_Python { + SpDataframeExpr df = 1; + string how = 2; + SrcPosition src = 3; + List_String subset = 4; + google.protobuf.Int64Value thresh = 5; +} + +// sp-df-expr.ir:142 +message SpDataframeNaFill { + SpDataframeExpr df = 1; + SrcPosition src = 2; + List_String subset = 3; + Expr value = 4; + Map_String_Expr value_map = 5; +} + +// sp-df-expr.ir:149 +message SpDataframeNaReplace { + SpDataframeExpr df = 1; + Map_Expr_Expr replacement_map = 2; + SrcPosition src = 3; + List_String subset = 4; + List_Expr to_replace_list = 5; + Expr to_replace_value = 6; + Expr value = 7; + List_Expr values = 8; +} + +// sp-df-expr.ir:163 +message SpDataframeAgg { + SpDataframeExpr df = 1; + ExprArgList exprs = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:168 +message SpDataframeAlias { + SpDataframeExpr df = 1; + string name = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:173 +message SpDataframeApply { + string col_name = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:178 +message SpDataframeCol { + string col_name = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:183 +message SpDataframeCrossJoin { + SpDataframeExpr lhs = 1; + google.protobuf.StringValue lsuffix = 2; + SpDataframeExpr rhs = 3; + google.protobuf.StringValue rsuffix = 4; + SrcPosition src = 5; +} + +// sp-df-expr.ir:190 +message SpDataframeCube { + ExprArgList cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:195 +message SpDataframeDescribe { + ExprArgList cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:200 +message SpDataframeDistinct { + SpDataframeExpr df = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:204 +message SpDataframeDrop { + ExprArgList cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:209 +message SpDataframeDropDuplicates { + repeated string cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:215 +message SpDataframeExcept { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:220 +message SpDataframeFilter { + Expr condition = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:225 +message SpDataframeFlatten { + SpDataframeExpr df = 1; + Expr input = 2; + SpFlattenMode mode = 3; + bool outer = 4; + google.protobuf.StringValue path = 5; + bool recursive = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:234 +message SpDataframeFirst { + bool block = 1; + SpDataframeExpr df = 2; + int64 num = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + +// sp-df-expr.ir:241 +message SpDataframeGroupBy_Columns { + repeated SpColumnExpr cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:247 +message SpDataframeGroupBy_Strings { + repeated string cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:253 +message SpDataframeGroupBy { + ExprArgList cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:258 +message SpDataframeIntersect { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:263 +message SpDataframeJoin { + Expr join_expr = 1; + SpJoinType join_type = 2; + SpDataframeExpr lhs = 3; + google.protobuf.StringValue lsuffix = 4; + Expr match_condition = 5; + SpDataframeExpr rhs = 6; + google.protobuf.StringValue rsuffix = 7; + SrcPosition src = 8; +} + +// sp-df-expr.ir:273 +message SpDataframeJoinTableFunction { + Expr fn = 1; + SpDataframeExpr lhs = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:278 +message SpDataframeJoin_Dataframe_JoinExprs { + SpDataframeExpr join_exprs = 1; + SpJoinType join_type = 2; + SpDataframeExpr lhs = 3; + SpDataframeExpr rhs = 4; + SrcPosition src = 5; +} + +// sp-df-expr.ir:285 +message SpDataframeJoin_Dataframe_UsingColumns { + SpJoinType join_type = 1; + SpDataframeExpr lhs = 2; + SpDataframeExpr rhs = 3; + SrcPosition src = 4; + List_String using_columns = 5; + bool variadic = 6; +} + +// sp-df-expr.ir:293 +message SpDataframeLimit { + SpDataframeExpr df = 1; + int64 n = 2; + int64 offset = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:299 +message SpDataframeNaturalJoin { + SpJoinType join_type = 1; + SpDataframeExpr lhs = 2; + SpDataframeExpr rhs = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:305 +message SpDataframePivot { + Expr default_on_null = 1; + SpDataframeExpr df = 2; + Expr pivot_col = 3; + SrcPosition src = 4; + SpPivotValue values = 5; +} + +// sp-df-expr.ir:312 +message SpDataframeUnpivot { + repeated Expr column_list = 1; + SpDataframeExpr df = 2; + string name_column = 3; + SrcPosition src = 4; + string value_column = 5; +} + +// sp-df-expr.ir:319 +message SpDataframeRandomSplit { + SpDataframeExpr df = 1; + google.protobuf.Int64Value seed = 2; + SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; + repeated double weights = 5; +} + +// sp-df-expr.ir:326 +message SpDataframeRename { + Expr col_or_mapper = 1; + SpDataframeExpr df = 2; + google.protobuf.StringValue new_column = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:332 +message SpDataframeRollup_Columns { + repeated SpColumnExpr cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:338 +message SpDataframeRollup_Strings { + repeated string cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:344 +message SpDataframeRollup { + ExprArgList cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:349 +message SpDataframeSample { + SpDataframeExpr df = 1; + google.protobuf.Int64Value num = 2; + google.protobuf.DoubleValue probability_fraction = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:355 +message SpDataframeSelect_Columns { + repeated Expr cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:361 +message SpDataframeSelect_Exprs { + SpDataframeExpr df = 1; + repeated string exprs = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:367 +message SpDataframeSort { + Expr ascending = 1; + repeated Expr cols = 2; + bool cols_variadic = 3; + SpDataframeExpr df = 4; + SrcPosition src = 5; +} + +// sp-df-expr.ir:374 +message SpDataframeUnion { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:379 +message SpDataframeUnionAll { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:384 +message SpDataframeUnionAllByName { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:389 +message SpDataframeUnionByName { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:394 +message SpDataframeWhere { + SpColumnExpr condition = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:399 +message SpDataframeWithColumn { + Expr col = 1; + string col_name = 2; + SpDataframeExpr df = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:405 +message SpDataframeWithColumnRenamed { + Expr col = 1; + SpDataframeExpr df = 2; + string new_name = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:411 +message SpDataframeWithColumns { + repeated string col_names = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + repeated Expr values = 4; +} + +// sp-df-expr.ir:417 +message SpDataframeGroupByGroupingSets { + SpDataframeExpr df = 1; + repeated SpGroupingSets grouping_sets = 2; + SrcPosition src = 3; + bool variadic = 4; +} + +// sp-df-expr.ir:423 +message SpGroupingSets { + ExprArgList sets = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:435 +message SpDataframeAnalyticsMovingAgg { + repeated Tuple_String_List_String aggs = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + repeated string order_by = 5; + SrcPosition src = 6; + repeated int64 window_sizes = 7; +} + +// sp-df-expr.ir:444 +message SpDataframeAnalyticsCumulativeAgg { + repeated Tuple_String_List_String aggs = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + bool is_forward = 5; + repeated string order_by = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:453 +message SpDataframeAnalyticsComputeLag { + repeated Expr cols = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + repeated int64 lags = 5; + repeated string order_by = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:462 +message SpDataframeAnalyticsComputeLead { + repeated Expr cols = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + repeated int64 leads = 5; + repeated string order_by = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:471 +message SpDataframeAnalyticsTimeSeriesAgg { + repeated Tuple_String_List_String aggs = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + string sliding_interval = 5; + SrcPosition src = 6; + string time_col = 7; + repeated string windows = 8; +} + +message SpMatchedClause { + oneof variant { + SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 1; + SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 2; + SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 3; + } +} + +// sp-df-expr.ir:483 +message SpMergeUpdateWhenMatchedClause { + Expr condition = 1; + SrcPosition src = 2; + Map_Expr_Expr update_assignments = 3; +} + +// sp-df-expr.ir:488 +message SpMergeDeleteWhenMatchedClause { + Expr condition = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:492 +message SpMergeInsertWhenNotMatchedClause { + Expr condition = 1; + List_Expr insert_keys = 2; + List_Expr insert_values = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:498 +message SpTableDelete { + bool block = 1; + Expr condition = 2; + VarId id = 3; + SpDataframeExpr source = 4; + SrcPosition src = 5; + repeated Tuple_String_String statement_params = 6; +} + +// sp-df-expr.ir:506 +message SpTableDropTable { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:510 +message SpTableMerge { + bool block = 1; + repeated SpMatchedClause clauses = 2; + VarId id = 3; + Expr join_expr = 4; + SpDataframeExpr source = 5; + SrcPosition src = 6; + repeated Tuple_String_String statement_params = 7; +} + +// sp-df-expr.ir:519 +message SpTableSample { + SpDataframeExpr df = 1; + google.protobuf.Int64Value num = 2; + google.protobuf.DoubleValue probability_fraction = 3; + google.protobuf.StringValue sampling_method = 4; + google.protobuf.Int64Value seed = 5; + SrcPosition src = 6; +} + +// sp-df-expr.ir:527 +message SpTableUpdate { + repeated Tuple_String_Expr assignments = 1; + bool block = 2; + Expr condition = 3; + VarId id = 4; + SpDataframeExpr source = 5; + SrcPosition src = 6; + repeated Tuple_String_String statement_params = 7; +} + +message SpDataframeReader { + oneof variant { + SpDataframeReaderInit sp_dataframe_reader_init = 1; + SpDataframeReaderOption sp_dataframe_reader_option = 2; + SpDataframeReaderOptions sp_dataframe_reader_options = 3; + SpDataframeReaderSchema sp_dataframe_reader_schema = 4; + SpDataframeReaderWithMetadata sp_dataframe_reader_with_metadata = 5; + } +} + +// sp-df-io.ir:11 +message SpDataframeReaderInit { + SrcPosition src = 1; +} + +// sp-df-io.ir:13 +message SpDataframeReaderOption { + string key = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; + Expr value = 4; +} + +// sp-df-io.ir:19 +message SpDataframeReaderOptions { + repeated Tuple_String_Expr configs = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:24 +message SpDataframeReaderSchema { + SpDataframeReader reader = 1; + SpStructType schema = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:29 +message SpDataframeReaderWithMetadata { + ExprArgList metadata_columns = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:34 +message SpReadTable { + SpTableName name = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:39 +message SpReadCsv { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:45 +message SpReadJson { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:50 +message SpReadAvro { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:55 +message SpReadOrc { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:60 +message SpReadParquet { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:65 +message SpReadXml { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +message SpDataframeWriter { + oneof variant { + SpDataframeWriterOptions trait_sp_dataframe_writer_options = 1; + SpDataframeWriterSaveMode trait_sp_dataframe_writer_save_mode = 2; + SpWriteFile trait_sp_write_file = 3; + SpWriteCopyIntoLocation sp_write_copy_into_location = 4; + SpWriteCsv sp_write_csv = 5; + SpWriteJson sp_write_json = 6; + SpWriteParquet sp_write_parquet = 7; + SpWriteTable sp_write_table = 8; + } +} + +message SpDataframeWriterSaveMode { + oneof variant { + bool dummy = 1; + } +} + +message SpDataframeWriterOptions { + oneof variant { + bool dummy = 1; + } +} + +// sp-df-io.ir:102 +message SpDataframeWrite { + SpDataframeExpr df = 1; + SpSaveMode save_mode = 2; + SrcPosition src = 3; +} + +message SpWriteFile { + oneof variant { + SpWriteCopyIntoLocation sp_write_copy_into_location = 1; + SpWriteCsv sp_write_csv = 2; + SpWriteJson sp_write_json = 3; + SpWriteParquet sp_write_parquet = 4; + } +} + +// sp-df-io.ir:119 +message SpWriteCsv { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + repeated Tuple_String_String format_type_options = 3; + bool header = 4; + VarId id = 5; + string location = 6; + Expr partition_by = 7; + SrcPosition src = 8; + repeated Tuple_String_String statement_params = 9; +} + +// sp-df-io.ir:123 +message SpWriteJson { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + repeated Tuple_String_String format_type_options = 3; + bool header = 4; + VarId id = 5; + string location = 6; + Expr partition_by = 7; + SrcPosition src = 8; + repeated Tuple_String_String statement_params = 9; +} + +// sp-df-io.ir:127 +message SpWriteParquet { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + repeated Tuple_String_String format_type_options = 3; + bool header = 4; + VarId id = 5; + string location = 6; + Expr partition_by = 7; + SrcPosition src = 8; + repeated Tuple_String_String statement_params = 9; +} + +// sp-df-io.ir:131 +message SpWriteTable { + bool block = 1; + google.protobuf.BoolValue change_tracking = 2; + List_Expr clustering_keys = 3; + string column_order = 4; + google.protobuf.StringValue comment = 5; + bool copy_grants = 6; + bool create_temp_table = 7; + google.protobuf.Int64Value data_retention_time = 8; + google.protobuf.BoolValue enable_schema_evolution = 9; + repeated Tuple_String_String iceberg_config = 10; + VarId id = 11; + google.protobuf.Int64Value max_data_extension_time = 12; + SpSaveMode mode = 13; + SrcPosition src = 14; + repeated Tuple_String_String statement_params = 15; + SpTableName table_name = 16; + string table_type = 17; +} + +// sp-df-io.ir:152 +message SpWriteCopyIntoLocation { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + google.protobuf.StringValue file_format_name = 3; + google.protobuf.StringValue file_format_type = 4; + repeated Tuple_String_String format_type_options = 5; + bool header = 6; + VarId id = 7; + string location = 8; + Expr partition_by = 9; + SrcPosition src = 10; + repeated Tuple_String_String statement_params = 11; +} + +// sp-df-io.ir:162 +message SpDataframeCreateOrReplaceView { + google.protobuf.StringValue comment = 1; + SpDataframeExpr df = 2; + bool is_temp = 3; + repeated string name = 4; + SrcPosition src = 5; + repeated Tuple_String_String statement_params = 6; +} + +// sp-df-io.ir:170 +message SpDataframeCreateOrReplaceDynamicTable { + List_Expr clustering_keys = 1; + google.protobuf.StringValue comment = 2; + google.protobuf.Int64Value data_retention_time = 3; + SpDataframeExpr df = 4; + google.protobuf.StringValue initialize = 5; + bool is_transient = 6; + string lag = 7; + google.protobuf.Int64Value max_data_extension_time = 8; + SpSaveMode mode = 9; + repeated string name = 10; + google.protobuf.StringValue refresh_mode = 11; + SrcPosition src = 12; + repeated Tuple_String_String statement_params = 13; + string warehouse = 14; +} + +// sp-df-io.ir:186 +message SpDataframeCopyIntoTable { + repeated Tuple_String_Expr copy_options = 1; + SpDataframeExpr df = 2; + repeated string files = 3; + repeated Tuple_String_Expr format_type_options = 4; + repeated Tuple_String_String iceberg_config = 5; + google.protobuf.StringValue pattern = 6; + SrcPosition src = 7; + repeated Tuple_String_String statement_params = 8; + repeated string table_name = 9; + repeated string target_columns = 10; + repeated Expr transformations = 11; + google.protobuf.StringValue validation_mode = 12; +} + +// sp-df-io.ir:204 +message SpDataframeCacheResult { + SpDataframeExpr df = 1; + SrcPosition src = 2; + repeated Tuple_String_String statement_params = 3; +} + +// sp-df-stat.ir:1 +message SpDataframeStatApproxQuantile { + repeated Expr cols = 1; + VarId id = 2; + repeated double percentile = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + +// sp-df-stat.ir:8 +message SpDataframeStatCorr { + Expr col1 = 1; + Expr col2 = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + +// sp-df-stat.ir:15 +message SpDataframeStatCov { + Expr col1 = 1; + Expr col2 = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + +// sp-df-stat.ir:22 +message SpDataframeStatCrossTab { + Expr col1 = 1; + Expr col2 = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + +// sp-df-stat.ir:30 +message SpDataframeStatSampleBy { + Expr col = 1; + SpDataframeExpr df = 2; + repeated Tuple_Expr_Float fractions = 3; + SrcPosition src = 4; +} + +message SpRelationalGroupedDataframeExpr { + oneof variant { + SpDataframeCube sp_dataframe_cube = 1; + SpDataframeGroupBy sp_dataframe_group_by = 2; + SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 3; + SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 4; + SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 5; + SpDataframePivot sp_dataframe_pivot = 6; + SpDataframeRollup sp_dataframe_rollup = 7; + SpDataframeRollup_Columns sp_dataframe_rollup__columns = 8; + SpDataframeRollup_Strings sp_dataframe_rollup__strings = 9; + SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 10; + } +} + +// sp-group.ir:4 +message SpRelationalGroupedDataframeRef { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-group.ir:8 +message SpRelationalGroupedDataframeAgg { + ExprArgList exprs = 1; + SpRelationalGroupedDataframeExpr grouped_df = 2; + SrcPosition src = 3; +} + +// sp-group.ir:14 +message SpRelationalGroupedDataframeBuiltin { + string agg_name = 1; + ExprArgList cols = 2; + SpRelationalGroupedDataframeExpr grouped_df = 3; + SrcPosition src = 4; +} + +// sp-group.ir:20 +message SpRelationalGroupedDataframeApplyInPandas { + SpCallable func = 1; + SpRelationalGroupedDataframeExpr grouped_df = 2; + repeated Tuple_String_Expr kwargs = 3; + SpStructType output_schema = 4; + SrcPosition src = 5; +} + +// sp-group.ir:27 +message SpRelationalGroupedDataframePivot { + Expr default_on_null = 1; + SpRelationalGroupedDataframeExpr grouped_df = 2; + Expr pivot_col = 3; + SrcPosition src = 4; + SpPivotValue values = 5; +} + +// sp-misc.ir:12 +message SpRow { + List_String names = 1; + SrcPosition src = 2; + repeated Expr vs = 3; +} + +// sp-misc.ir:17 +message ExprArgList { + repeated Expr args = 1; + bool variadic = 2; +} + +// sp-table-function-call.ir:9 +message SpTableFnCallOver { + Expr lhs = 1; + repeated Expr order_by = 2; + repeated Expr partition_by = 3; + SrcPosition src = 4; +} + +// sp-table-function-call.ir:15 +message SpTableFnCallAlias { + ExprArgList aliases = 1; + Expr lhs = 2; + SrcPosition src = 3; +} + +// sp-type.ir:1 +message SpDataframeType { + repeated string columns = 1; + repeated Type tys = 2; +} + +// sp-type.ir:6 +message SpGroupedDataframeType { + repeated string inner_columns = 1; + repeated string outer_columns = 2; +} + +// sp-type.ir:11 +message SpWindowType { +} + +// sp-type.ir:13 +message SpColExprType { + Type typ = 1; +} + +message HasSrcPosition { + oneof variant { + BinOp trait_bin_op = 1; + Const trait_const = 2; + Expr trait_expr = 3; + FnIdRefExpr trait_fn_id_ref_expr = 4; + FnNameRefExpr trait_fn_name_ref_expr = 5; + FnRefExpr trait_fn_ref_expr = 6; + SpColumnExpr trait_sp_column_expr = 7; + SpColumnFn trait_sp_column_fn = 8; + SpDataframeExpr trait_sp_dataframe_expr = 9; + SpDataframeReader trait_sp_dataframe_reader = 10; + SpDataframeWriter trait_sp_dataframe_writer = 11; + SpDataframeWriterOptions trait_sp_dataframe_writer_options = 12; + SpDataframeWriterSaveMode trait_sp_dataframe_writer_save_mode = 13; + SpMatchedClause trait_sp_matched_clause = 14; + SpRelationalGroupedDataframeExpr trait_sp_relational_grouped_dataframe_expr = 15; + SpWindowSpecExpr trait_sp_window_spec_expr = 16; + SpWriteFile trait_sp_write_file = 17; + UnaryOp trait_unary_op = 18; + Add add = 19; + And and = 20; + ApplyExpr apply_expr = 21; + BigDecimalVal big_decimal_val = 22; + BigIntVal big_int_val = 23; + BinaryVal binary_val = 24; + BitAnd bit_and = 25; + BitOr bit_or = 26; + BitXor bit_xor = 27; + BoolVal bool_val = 28; + BuiltinFn builtin_fn = 29; + CallTableFunctionExpr call_table_function_expr = 30; + CastExpr cast_expr = 31; + DateVal date_val = 32; + Div div = 33; + Eq eq = 34; + Float64Val float64_val = 35; + FnVal fn_val = 36; + Geq geq = 37; + Gt gt = 38; + IfExpr if_expr = 39; + IndirectTableFnIdRef indirect_table_fn_id_ref = 40; + IndirectTableFnNameRef indirect_table_fn_name_ref = 41; + Int32Val int32_val = 42; + Int64Val int64_val = 43; + Leq leq = 44; + ListVal list_val = 45; + Lt lt = 46; + Mod mod = 47; + Mul mul = 48; + Neg neg = 49; + Neq neq = 50; + NoneVal none_val = 51; + Not not = 52; + NullVal null_val = 53; + ObjectGetItem object_get_item = 54; + Or or = 55; + PdDataframe pd_dataframe = 56; + PdDataframeGetItem pd_dataframe_get_item = 57; + PdDataframeILoc pd_dataframe_i_loc = 58; + PdDataframeLoc pd_dataframe_loc = 59; + PdDataframeSetItem pd_dataframe_set_item = 60; + PdDropNa pd_drop_na = 61; + PdRepr pd_repr = 62; + Pow pow = 63; + PythonDateVal python_date_val = 64; + PythonTimeVal python_time_val = 65; + PythonTimestampVal python_timestamp_val = 66; + RangeVal range_val = 67; + Ref ref = 68; + SeqMapVal seq_map_val = 69; + SomeVal some_val = 70; + SpCaseExpr sp_case_expr = 71; + SpColumnAlias sp_column_alias = 72; + SpColumnApply_Int sp_column_apply__int = 73; + SpColumnApply_String sp_column_apply__string = 74; + SpColumnAsc sp_column_asc = 75; + SpColumnBetween sp_column_between = 76; + SpColumnCaseWhen sp_column_case_when = 77; + SpColumnCast sp_column_cast = 78; + SpColumnDesc sp_column_desc = 79; + SpColumnEqualNan sp_column_equal_nan = 80; + SpColumnEqualNull sp_column_equal_null = 81; + SpColumnIn_Dataframe sp_column_in__dataframe = 82; + SpColumnIn_Seq sp_column_in__seq = 83; + SpColumnIsNotNull sp_column_is_not_null = 84; + SpColumnIsNull sp_column_is_null = 85; + SpColumnName sp_column_name = 86; + SpColumnOver sp_column_over = 87; + SpColumnRef sp_column_ref = 88; + SpColumnSqlExpr sp_column_sql_expr = 89; + SpColumnStringCollate sp_column_string_collate = 90; + SpColumnStringContains sp_column_string_contains = 91; + SpColumnStringEndsWith sp_column_string_ends_with = 92; + SpColumnStringLike sp_column_string_like = 93; + SpColumnStringRegexp sp_column_string_regexp = 94; + SpColumnStringStartsWith sp_column_string_starts_with = 95; + SpColumnStringSubstr sp_column_string_substr = 96; + SpColumnTryCast sp_column_try_cast = 97; + SpColumnWithinGroup sp_column_within_group = 98; + SpCreateDataframe sp_create_dataframe = 99; + SpDataframeAgg sp_dataframe_agg = 100; + SpDataframeAlias sp_dataframe_alias = 101; + SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 102; + SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 103; + SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 104; + SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 105; + SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 106; + SpDataframeApply sp_dataframe_apply = 107; + SpDataframeCacheResult sp_dataframe_cache_result = 108; + SpDataframeCol sp_dataframe_col = 109; + SpDataframeCollect sp_dataframe_collect = 110; + SpDataframeCopyIntoTable sp_dataframe_copy_into_table = 111; + SpDataframeCount sp_dataframe_count = 112; + SpDataframeCreateOrReplaceDynamicTable sp_dataframe_create_or_replace_dynamic_table = 113; + SpDataframeCreateOrReplaceView sp_dataframe_create_or_replace_view = 114; + SpDataframeCrossJoin sp_dataframe_cross_join = 115; + SpDataframeCube sp_dataframe_cube = 116; + SpDataframeDescribe sp_dataframe_describe = 117; + SpDataframeDistinct sp_dataframe_distinct = 118; + SpDataframeDrop sp_dataframe_drop = 119; + SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 120; + SpDataframeExcept sp_dataframe_except = 121; + SpDataframeFilter sp_dataframe_filter = 122; + SpDataframeFirst sp_dataframe_first = 123; + SpDataframeFlatten sp_dataframe_flatten = 124; + SpDataframeGroupBy sp_dataframe_group_by = 125; + SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 126; + SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 127; + SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 128; + SpDataframeIntersect sp_dataframe_intersect = 129; + SpDataframeJoin sp_dataframe_join = 130; + SpDataframeJoinTableFunction sp_dataframe_join_table_function = 131; + SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 132; + SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 133; + SpDataframeLimit sp_dataframe_limit = 134; + SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 135; + SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 136; + SpDataframeNaFill sp_dataframe_na_fill = 137; + SpDataframeNaReplace sp_dataframe_na_replace = 138; + SpDataframeNaturalJoin sp_dataframe_natural_join = 139; + SpDataframePivot sp_dataframe_pivot = 140; + SpDataframeRandomSplit sp_dataframe_random_split = 141; + SpDataframeReaderInit sp_dataframe_reader_init = 142; + SpDataframeReaderOption sp_dataframe_reader_option = 143; + SpDataframeReaderOptions sp_dataframe_reader_options = 144; + SpDataframeReaderSchema sp_dataframe_reader_schema = 145; + SpDataframeReaderWithMetadata sp_dataframe_reader_with_metadata = 146; + SpDataframeRef sp_dataframe_ref = 147; + SpDataframeRename sp_dataframe_rename = 148; + SpDataframeRollup sp_dataframe_rollup = 149; + SpDataframeRollup_Columns sp_dataframe_rollup__columns = 150; + SpDataframeRollup_Strings sp_dataframe_rollup__strings = 151; + SpDataframeSample sp_dataframe_sample = 152; + SpDataframeSelect_Columns sp_dataframe_select__columns = 153; + SpDataframeSelect_Exprs sp_dataframe_select__exprs = 154; + SpDataframeShow sp_dataframe_show = 155; + SpDataframeSort sp_dataframe_sort = 156; + SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 157; + SpDataframeStatCorr sp_dataframe_stat_corr = 158; + SpDataframeStatCov sp_dataframe_stat_cov = 159; + SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 160; + SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 161; + SpDataframeToDf sp_dataframe_to_df = 162; + SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 163; + SpDataframeToPandas sp_dataframe_to_pandas = 164; + SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 165; + SpDataframeUnion sp_dataframe_union = 166; + SpDataframeUnionAll sp_dataframe_union_all = 167; + SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 168; + SpDataframeUnionByName sp_dataframe_union_by_name = 169; + SpDataframeUnpivot sp_dataframe_unpivot = 170; + SpDataframeWhere sp_dataframe_where = 171; + SpDataframeWithColumn sp_dataframe_with_column = 172; + SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 173; + SpDataframeWithColumns sp_dataframe_with_columns = 174; + SpDataframeWrite sp_dataframe_write = 175; + SpDatatypeVal sp_datatype_val = 176; + SpFlatten sp_flatten = 177; + SpFnRef sp_fn_ref = 178; + SpGenerator sp_generator = 179; + SpGroupingSets sp_grouping_sets = 180; + SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 181; + SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 182; + SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 183; + SpRange sp_range = 184; + SpReadAvro sp_read_avro = 185; + SpReadCsv sp_read_csv = 186; + SpReadJson sp_read_json = 187; + SpReadOrc sp_read_orc = 188; + SpReadParquet sp_read_parquet = 189; + SpReadTable sp_read_table = 190; + SpReadXml sp_read_xml = 191; + SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 192; + SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 193; + SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 194; + SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 195; + SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 196; + SpRow sp_row = 197; + SpSessionTableFunction sp_session_table_function = 198; + SpSql sp_sql = 199; + SpStoredProcedure sp_stored_procedure = 200; + SpTable sp_table = 201; + SpTableDelete sp_table_delete = 202; + SpTableDropTable sp_table_drop_table = 203; + SpTableFnCallAlias sp_table_fn_call_alias = 204; + SpTableFnCallOver sp_table_fn_call_over = 205; + SpTableMerge sp_table_merge = 206; + SpTableSample sp_table_sample = 207; + SpTableUpdate sp_table_update = 208; + SpWindowSpecEmpty sp_window_spec_empty = 209; + SpWindowSpecOrderBy sp_window_spec_order_by = 210; + SpWindowSpecPartitionBy sp_window_spec_partition_by = 211; + SpWindowSpecRangeBetween sp_window_spec_range_between = 212; + SpWindowSpecRowsBetween sp_window_spec_rows_between = 213; + SpWriteCopyIntoLocation sp_write_copy_into_location = 214; + SpWriteCsv sp_write_csv = 215; + SpWriteJson sp_write_json = 216; + SpWritePandas sp_write_pandas = 217; + SpWriteParquet sp_write_parquet = 218; + SpWriteTable sp_write_table = 219; + StoredProcedure stored_procedure = 220; + StringVal string_val = 221; + Sub sub = 222; + TimeVal time_val = 223; + TimestampVal timestamp_val = 224; + TupleVal tuple_val = 225; + Udaf udaf = 226; + Udf udf = 227; + Udtf udtf = 228; + } +} + +message Stmt { + oneof variant { + Assign assign = 1; + Eval eval = 2; + } +} + +// stmt.ir:3 +message Assign { + Expr expr = 1; + google.protobuf.StringValue symbol = 2; + int64 uid = 3; + VarId var_id = 4; +} + +// stmt.ir:11 +message Eval { + int64 uid = 1; + VarId var_id = 2; +} + +message Type { + oneof variant { + NumericType trait_numeric_type = 1; + ScalarType trait_scalar_type = 2; + AnyType any_type = 3; + BoolType bool_type = 4; + Float64Type float64_type = 5; + FnType fn_type = 6; + Int32Type int32_type = 7; + Int64Type int64_type = 8; + ListType list_type = 9; + MapType map_type = 10; + NothingType nothing_type = 11; + NumberType number_type = 12; + OptionType option_type = 13; + PdReprType pd_repr_type = 14; + SpColExprType sp_col_expr_type = 15; + SpDataframeType sp_dataframe_type = 16; + SpGroupedDataframeType sp_grouped_dataframe_type = 17; + SpWindowType sp_window_type = 18; + StringType string_type = 19; + TupleType tuple_type = 20; + TyVar ty_var = 21; + UnitType unit_type = 22; + UnknownType unknown_type = 23; + } +} + +// type.ir:3 +message UnknownType { +} + +// type.ir:5 +message AnyType { +} + +message ScalarType { + oneof variant { + NumericType trait_numeric_type = 1; + BoolType bool_type = 2; + Float64Type float64_type = 3; + Int32Type int32_type = 4; + Int64Type int64_type = 5; + NumberType number_type = 6; + UnitType unit_type = 7; + } +} + +message NumericType { + oneof variant { + Float64Type float64_type = 1; + Int32Type int32_type = 2; + Int64Type int64_type = 3; + NumberType number_type = 4; + } +} + +// type.ir:11 +message NumberType { +} + +// type.ir:13 +message NothingType { +} + +// type.ir:15 +message UnitType { +} + +// type.ir:17 +message BoolType { +} + +// type.ir:19 +message Int32Type { +} + +// type.ir:21 +message Int64Type { +} + +// type.ir:23 +message Float64Type { +} + +// type.ir:25 +message StringType { +} + +// type.ir:27 +message PdReprType { +} + +// type.ir:34 +message FnType { + repeated Type params = 1; + Type ret = 2; +} + +// type.ir:39 +message OptionType { + Type typ = 1; +} + +// type.ir:43 +message TupleType { + repeated Type tys = 1; +} + +// type.ir:47 +message ListType { + Type typ = 1; +} + +// type.ir:51 +message MapType { + Type k = 1; + Type v = 2; +} + +// type.ir:56 +message TyVar { + string id = 1; +} diff --git a/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py b/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py new file mode 100644 index 00000000000..917928b71a6 --- /dev/null +++ b/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py @@ -0,0 +1,742 @@ +# +# Copyright (c) 2012-2024 Snowflake Computing Inc. All rights reserved. +# + +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: proto/ast.proto +# Protobuf Python Version: 5.27.0 +"""Generated protocol buffer code.""" +from google.protobuf import ( + descriptor as _descriptor, + descriptor_pool as _descriptor_pool, + runtime_version as _runtime_version, + symbol_database as _symbol_database, +) +from google.protobuf.internal import builder as _builder + +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, 5, 27, 0, "", "proto/ast.proto" +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x0fproto/ast.proto\x12\x03\x61st\x1a\x1egoogle/protobuf/wrappers.proto"$\n\tList_Expr\x12\x17\n\x04list\x18\x01 \x03(\x0b\x32\t.ast.Expr"0\n\x0fList_SpDataType\x12\x1d\n\x04list\x18\x01 \x03(\x0b\x32\x0f.ast.SpDataType"\x1b\n\x0bList_String\x12\x0c\n\x04list\x18\x01 \x03(\t"3\n\rMap_Expr_Expr\x12"\n\x04list\x18\x01 \x03(\x0b\x32\x14.ast.Tuple_Expr_Expr"7\n\x0fMap_String_Expr\x12$\n\x04list\x18\x01 \x03(\x0b\x32\x16.ast.Tuple_String_Expr";\n\x11Map_String_String\x12&\n\x04list\x18\x01 \x03(\x0b\x32\x18.ast.Tuple_String_String"?\n\x0fTuple_Expr_Expr\x12\x15\n\x02_1\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x15\n\x02_2\x18\x02 \x01(\x0b\x32\t.ast.Expr"5\n\x10Tuple_Expr_Float\x12\x15\n\x02_1\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\n\n\x02_2\x18\x02 \x01(\x01"6\n\x11Tuple_String_Expr\x12\n\n\x02_1\x18\x01 \x01(\t\x12\x15\n\x02_2\x18\x02 \x01(\x0b\x32\t.ast.Expr"2\n\x18Tuple_String_List_String\x12\n\n\x02_1\x18\x01 \x01(\t\x12\n\n\x02_2\x18\x02 \x03(\t"@\n\x16Tuple_String_SpVariant\x12\n\n\x02_1\x18\x01 \x01(\t\x12\x1a\n\x02_2\x18\x02 \x01(\x0b\x32\x0e.ast.SpVariant"-\n\x13Tuple_String_String\x12\n\n\x02_1\x18\x01 \x01(\t\x12\n\n\x02_2\x18\x02 \x01(\t"\xa4\x01\n\x08Language\x12*\n\rjava_language\x18\x01 \x01(\x0b\x32\x11.ast.JavaLanguageH\x00\x12.\n\x0fpython_language\x18\x02 \x01(\x0b\x32\x13.ast.PythonLanguageH\x00\x12,\n\x0escala_language\x18\x03 \x01(\x0b\x32\x12.ast.ScalaLanguageH\x00\x42\x0e\n\x0csealed_value"/\n\x0ePythonLanguage\x12\x1d\n\x07version\x18\x01 \x01(\x0b\x32\x0c.ast.Version".\n\rScalaLanguage\x12\x1d\n\x07version\x18\x01 \x01(\x0b\x32\x0c.ast.Version"-\n\x0cJavaLanguage\x12\x1d\n\x07version\x18\x01 \x01(\x0b\x32\x0c.ast.Version"E\n\x07Version\x12\r\n\x05label\x18\x01 \x01(\t\x12\r\n\x05major\x18\x02 \x01(\x03\x12\r\n\x05minor\x18\x03 \x01(\x03\x12\r\n\x05patch\x18\x04 \x01(\x03"T\n\x0ePythonTimeZone\x12*\n\x04name\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x16\n\x0eoffset_seconds\x18\x02 \x01(\x03"v\n\x06\x46nName\x12\'\n\x0c\x66n_name_flat\x18\x01 \x01(\x0b\x32\x0f.ast.FnNameFlatH\x00\x12\x33\n\x12\x66n_name_structured\x18\x02 \x01(\x0b\x32\x15.ast.FnNameStructuredH\x00\x42\x0e\n\x0csealed_value"\x1a\n\nFnNameFlat\x12\x0c\n\x04name\x18\x01 \x01(\t" \n\x10\x46nNameStructured\x12\x0c\n\x04name\x18\x01 \x03(\t"\x84\x01\n\nUdtfSchema\x12\x33\n\x12udtf_schema__names\x18\x01 \x01(\x0b\x32\x15.ast.UdtfSchema_NamesH\x00\x12\x31\n\x11udtf_schema__type\x18\x02 \x01(\x0b\x32\x14.ast.UdtfSchema_TypeH\x00\x42\x0e\n\x0csealed_value"7\n\x0fUdtfSchema_Type\x12$\n\x0breturn_type\x18\x01 \x01(\x0b\x32\x0f.ast.SpDataType""\n\x10UdtfSchema_Names\x12\x0e\n\x06schema\x18\x01 \x03(\t"\xaa\x02\n\x18SpWindowRelativePosition\x12\x32\n(sp_window_relative_position__current_row\x18\x01 \x01(\x08H\x00\x12W\n%sp_window_relative_position__position\x18\x02 \x01(\x0b\x32&.ast.SpWindowRelativePosition_PositionH\x00\x12:\n0sp_window_relative_position__unbounded_following\x18\x03 \x01(\x08H\x00\x12:\n0sp_window_relative_position__unbounded_preceding\x18\x04 \x01(\x08H\x00\x42\t\n\x07variant".\n!SpWindowRelativePosition_Position\x12\t\n\x01n\x18\x01 \x01(\x03"q\n\x0bPdIndexExpr\x12 \n\x08\x66lex_ord\x18\x01 \x01(\x0b\x32\x0c.ast.FlexOrdH\x00\x12\x17\n\x03key\x18\x02 \x01(\x0b\x32\x08.ast.KeyH\x00\x12\x17\n\x03ord\x18\x03 \x01(\x0b\x32\x08.ast.OrdH\x00\x42\x0e\n\x0csealed_value"\x1b\n\x03Ord\x12\x14\n\x01v\x18\x01 \x01(\x0b\x32\t.ast.Expr"\x1f\n\x07\x46lexOrd\x12\x14\n\x01v\x18\x01 \x01(\x0b\x32\t.ast.Expr"\x1b\n\x03Key\x12\x14\n\x01v\x18\x01 \x01(\x0b\x32\t.ast.Expr"\xb9\x02\n\x12PdProjectIndexExpr\x12/\n\x10\x62ool_filter_list\x18\x01 \x01(\x0b\x32\x13.ast.BoolFilterListH\x00\x12)\n\rflex_ord_list\x18\x02 \x01(\x0b\x32\x10.ast.FlexOrdListH\x00\x12+\n\x0e\x66lex_ord_range\x18\x03 \x01(\x0b\x32\x11.ast.FlexOrdRangeH\x00\x12 \n\x08key_list\x18\x04 \x01(\x0b\x32\x0c.ast.KeyListH\x00\x12"\n\tkey_range\x18\x05 \x01(\x0b\x32\r.ast.KeyRangeH\x00\x12 \n\x08ord_list\x18\x06 \x01(\x0b\x32\x0c.ast.OrdListH\x00\x12"\n\tord_range\x18\x07 \x01(\x0b\x32\r.ast.OrdRangeH\x00\x42\x0e\n\x0csealed_value"V\n\x08OrdRange\x12\x18\n\x05start\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04step\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04stop\x18\x03 \x01(\x0b\x32\t.ast.Expr"Z\n\x0c\x46lexOrdRange\x12\x18\n\x05start\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04step\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04stop\x18\x03 \x01(\x0b\x32\t.ast.Expr"=\n\x08KeyRange\x12\x18\n\x05start\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04stop\x18\x02 \x01(\x0b\x32\t.ast.Expr""\n\x07OrdList\x12\x17\n\x04ords\x18\x01 \x01(\x0b\x32\t.ast.Expr"&\n\x0b\x46lexOrdList\x12\x17\n\x04ords\x18\x01 \x01(\x0b\x32\t.ast.Expr""\n\x07KeyList\x12\x17\n\x04keys\x18\x01 \x01(\x0b\x32\t.ast.Expr"+\n\x0e\x42oolFilterList\x12\x19\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\t.ast.Expr"}\n\rSpFlattenMode\x12\x1f\n\x15sp_flatten_mode_array\x18\x01 \x01(\x08H\x00\x12\x1e\n\x14sp_flatten_mode_both\x18\x02 \x01(\x08H\x00\x12 \n\x16sp_flatten_mode_object\x18\x03 \x01(\x08H\x00\x42\t\n\x07variant"P\n\x0eSpTableVariant\x12\x1a\n\x10sp_session_table\x18\x01 \x01(\x08H\x00\x12\x17\n\rsp_table_init\x18\x02 \x01(\x08H\x00\x42\t\n\x07variant"\xc0\x01\n\nSpSaveMode\x12\x1d\n\x13sp_save_mode_append\x18\x01 \x01(\x08H\x00\x12&\n\x1csp_save_mode_error_if_exists\x18\x02 \x01(\x08H\x00\x12\x1d\n\x13sp_save_mode_ignore\x18\x03 \x01(\x08H\x00\x12 \n\x16sp_save_mode_overwrite\x18\x04 \x01(\x08H\x00\x12\x1f\n\x15sp_save_mode_truncate\x18\x05 \x01(\x08H\x00\x42\t\n\x07variant"\xa6\x02\n\nSpJoinType\x12\x1c\n\x12sp_join_type__asof\x18\x01 \x01(\x08H\x00\x12\x1d\n\x13sp_join_type__cross\x18\x02 \x01(\x08H\x00\x12"\n\x18sp_join_type__full_outer\x18\x03 \x01(\x08H\x00\x12\x1d\n\x13sp_join_type__inner\x18\x04 \x01(\x08H\x00\x12!\n\x17sp_join_type__left_anti\x18\x05 \x01(\x08H\x00\x12"\n\x18sp_join_type__left_outer\x18\x06 \x01(\x08H\x00\x12!\n\x17sp_join_type__left_semi\x18\x07 \x01(\x08H\x00\x12#\n\x19sp_join_type__right_outer\x18\x08 \x01(\x08H\x00\x42\t\n\x07variant"\xbb\x01\n\x13SpTimestampTimeZone\x12(\n\x1esp_timestamp_time_zone_default\x18\x01 \x01(\x08H\x00\x12$\n\x1asp_timestamp_time_zone_ltz\x18\x02 \x01(\x08H\x00\x12$\n\x1asp_timestamp_time_zone_ntz\x18\x03 \x01(\x08H\x00\x12#\n\x19sp_timestamp_time_zone_tz\x18\x04 \x01(\x08H\x00\x42\t\n\x07variant"\x9d\x07\n\nSpDataType\x12)\n\rsp_array_type\x18\x01 \x01(\x0b\x32\x10.ast.SpArrayTypeH\x00\x12\x18\n\x0esp_binary_type\x18\x02 \x01(\x08H\x00\x12\x19\n\x0fsp_boolean_type\x18\x03 \x01(\x08H\x00\x12\x16\n\x0csp_byte_type\x18\x04 \x01(\x08H\x00\x12\x37\n\x14sp_column_identifier\x18\x05 \x01(\x0b\x32\x17.ast.SpColumnIdentifierH\x00\x12\x16\n\x0csp_date_type\x18\x06 \x01(\x08H\x00\x12-\n\x0fsp_decimal_type\x18\x07 \x01(\x0b\x32\x12.ast.SpDecimalTypeH\x00\x12\x18\n\x0esp_double_type\x18\x08 \x01(\x08H\x00\x12\x17\n\rsp_float_type\x18\t \x01(\x08H\x00\x12\x1b\n\x11sp_geography_type\x18\n \x01(\x08H\x00\x12\x1a\n\x10sp_geometry_type\x18\x0b \x01(\x08H\x00\x12\x19\n\x0fsp_integer_type\x18\x0c \x01(\x08H\x00\x12\x16\n\x0csp_long_type\x18\r \x01(\x08H\x00\x12%\n\x0bsp_map_type\x18\x0e \x01(\x0b\x32\x0e.ast.SpMapTypeH\x00\x12\x16\n\x0csp_null_type\x18\x0f \x01(\x08H\x00\x12?\n\x19sp_pandas_data_frame_type\x18\x10 \x01(\x0b\x32\x1a.ast.SpPandasDataFrameTypeH\x00\x12\x38\n\x15sp_pandas_series_type\x18\x11 \x01(\x0b\x32\x17.ast.SpPandasSeriesTypeH\x00\x12\x17\n\rsp_short_type\x18\x12 \x01(\x08H\x00\x12+\n\x0esp_string_type\x18\x13 \x01(\x0b\x32\x11.ast.SpStringTypeH\x00\x12-\n\x0fsp_struct_field\x18\x14 \x01(\x0b\x32\x12.ast.SpStructFieldH\x00\x12+\n\x0esp_struct_type\x18\x15 \x01(\x0b\x32\x11.ast.SpStructTypeH\x00\x12\x16\n\x0csp_time_type\x18\x16 \x01(\x08H\x00\x12\x31\n\x11sp_timestamp_type\x18\x17 \x01(\x0b\x32\x14.ast.SpTimestampTypeH\x00\x12\x19\n\x0fsp_variant_type\x18\x18 \x01(\x08H\x00\x12+\n\x0esp_vector_type\x18\x19 \x01(\x0b\x32\x11.ast.SpVectorTypeH\x00\x42\t\n\x07variant">\n\x0bSpArrayType\x12\x12\n\nstructured\x18\x01 \x01(\x08\x12\x1b\n\x02ty\x18\x02 \x01(\x0b\x32\x0f.ast.SpDataType""\n\x12SpColumnIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t"1\n\rSpDecimalType\x12\x11\n\tprecision\x18\x01 \x01(\x03\x12\r\n\x05scale\x18\x02 \x01(\x03"c\n\tSpMapType\x12\x1f\n\x06key_ty\x18\x01 \x01(\x0b\x32\x0f.ast.SpDataType\x12\x12\n\nstructured\x18\x02 \x01(\x08\x12!\n\x08value_ty\x18\x03 \x01(\x0b\x32\x0f.ast.SpDataType";\n\x0cSpStringType\x12+\n\x06length\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int64Value"y\n\rSpStructField\x12\x32\n\x11\x63olumn_identifier\x18\x01 \x01(\x0b\x32\x17.ast.SpColumnIdentifier\x12"\n\tdata_type\x18\x02 \x01(\x0b\x32\x0f.ast.SpDataType\x12\x10\n\x08nullable\x18\x03 \x01(\x08"F\n\x0cSpStructType\x12"\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x12.ast.SpStructField\x12\x12\n\nstructured\x18\x02 \x01(\x08">\n\x0fSpTimestampType\x12+\n\ttime_zone\x18\x01 \x01(\x0b\x32\x18.ast.SpTimestampTimeZone">\n\x0cSpVectorType\x12\x11\n\tdimension\x18\x01 \x01(\x03\x12\x1b\n\x02ty\x18\x02 \x01(\x0b\x32\x0f.ast.SpDataType"4\n\x12SpPandasSeriesType\x12\x1e\n\x05\x65l_ty\x18\x01 \x01(\x0b\x32\x0f.ast.SpDataType"N\n\x15SpPandasDataFrameType\x12\x11\n\tcol_names\x18\x01 \x03(\t\x12"\n\tcol_types\x18\x02 \x03(\x0b\x32\x0f.ast.SpDataType"\xc2\x05\n\tSpVariant\x12<\n\x17sp_variant__big_decimal\x18\x01 \x01(\x0b\x32\x19.ast.SpVariant_BigDecimalH\x00\x12\x34\n\x13sp_variant__big_int\x18\x02 \x01(\x0b\x32\x15.ast.SpVariant_BigIntH\x00\x12/\n\x10sp_variant__bool\x18\x03 \x01(\x0b\x32\x13.ast.SpVariant_BoolH\x00\x12\x31\n\x11sp_variant__bytes\x18\x04 \x01(\x0b\x32\x14.ast.SpVariant_BytesH\x00\x12/\n\x10sp_variant__date\x18\x05 \x01(\x0b\x32\x13.ast.SpVariant_DateH\x00\x12\x33\n\x12sp_variant__double\x18\x06 \x01(\x0b\x32\x15.ast.SpVariant_DoubleH\x00\x12\x31\n\x11sp_variant__float\x18\x07 \x01(\x0b\x32\x14.ast.SpVariant_FloatH\x00\x12-\n\x0fsp_variant__int\x18\x08 \x01(\x0b\x32\x12.ast.SpVariant_IntH\x00\x12/\n\x10sp_variant__list\x18\t \x01(\x0b\x32\x13.ast.SpVariant_ListH\x00\x12\x33\n\x12sp_variant__object\x18\n \x01(\x0b\x32\x15.ast.SpVariant_ObjectH\x00\x12\x33\n\x12sp_variant__string\x18\x0b \x01(\x0b\x32\x15.ast.SpVariant_StringH\x00\x12/\n\x10sp_variant__time\x18\x0c \x01(\x0b\x32\x13.ast.SpVariant_TimeH\x00\x12\x39\n\x15sp_variant__timestamp\x18\r \x01(\x0b\x32\x18.ast.SpVariant_TimestampH\x00\x42\x0e\n\x0csealed_value"7\n\x10SpVariant_Object\x12#\n\x01v\x18\x01 \x03(\x0b\x32\x18.ast.Tuple_String_String"3\n\x0eSpVariant_List\x12!\n\x01v\x18\x01 \x03(\x0b\x32\x16.ast.Map_String_String" \n\x13SpVariant_Timestamp\x12\t\n\x01v\x18\x01 \x01(\x04"\x1b\n\x0eSpVariant_Date\x12\t\n\x01v\x18\x01 \x01(\x04"\x1b\n\x0eSpVariant_Time\x12\t\n\x01v\x18\x01 \x01(\x04"\x1c\n\x0fSpVariant_Bytes\x12\t\n\x01v\x18\x01 \x01(\x0c"\x1d\n\x10SpVariant_String\x12\t\n\x01v\x18\x01 \x01(\t"\x1b\n\x0eSpVariant_Bool\x12\t\n\x01v\x18\x01 \x01(\x08"\x1d\n\x10SpVariant_BigInt\x12\t\n\x01v\x18\x01 \x01(\x0c"!\n\x14SpVariant_BigDecimal\x12\t\n\x01v\x18\x01 \x01(\x0c"\x1a\n\rSpVariant_Int\x12\t\n\x01v\x18\x01 \x01(\x03"\x1c\n\x0fSpVariant_Float\x12\t\n\x01v\x18\x01 \x01(\x04"\x1d\n\x10SpVariant_Double\x12\t\n\x01v\x18\x01 \x01(\x04"\x91\x01\n\x0bSpTableName\x12\x32\n\x12sp_table_name_flat\x18\x01 \x01(\x0b\x32\x14.ast.SpTableNameFlatH\x00\x12>\n\x18sp_table_name_structured\x18\x02 \x01(\x0b\x32\x1a.ast.SpTableNameStructuredH\x00\x42\x0e\n\x0csealed_value"\x1f\n\x0fSpTableNameFlat\x12\x0c\n\x04name\x18\x01 \x01(\t"%\n\x15SpTableNameStructured\x12\x0c\n\x04name\x18\x01 \x03(\t"=\n\x15StagedPandasDataframe\x12$\n\ntemp_table\x18\x01 \x01(\x0b\x32\x10.ast.SpTableName"\xe1\x01\n\x0fSpDataframeData\x12<\n\x17sp_dataframe_data__list\x18\x01 \x01(\x0b\x32\x19.ast.SpDataframeData_ListH\x00\x12@\n\x19sp_dataframe_data__pandas\x18\x02 \x01(\x0b\x32\x1b.ast.SpDataframeData_PandasH\x00\x12>\n\x18sp_dataframe_data__tuple\x18\x03 \x01(\x0b\x32\x1a.ast.SpDataframeData_TupleH\x00\x42\x0e\n\x0csealed_value"-\n\x14SpDataframeData_List\x12\x15\n\x02vs\x18\x01 \x03(\x0b\x32\t.ast.Expr".\n\x15SpDataframeData_Tuple\x12\x15\n\x02vs\x18\x01 \x03(\x0b\x32\t.ast.Expr"?\n\x16SpDataframeData_Pandas\x12%\n\x01v\x18\x01 \x01(\x0b\x32\x1a.ast.StagedPandasDataframe"\xab\x01\n\x11SpDataframeSchema\x12@\n\x19sp_dataframe_schema__list\x18\x01 \x01(\x0b\x32\x1b.ast.SpDataframeSchema_ListH\x00\x12\x44\n\x1bsp_dataframe_schema__struct\x18\x02 \x01(\x0b\x32\x1d.ast.SpDataframeSchema_StructH\x00\x42\x0e\n\x0csealed_value"$\n\x16SpDataframeSchema_List\x12\n\n\x02vs\x18\x01 \x03(\t"8\n\x18SpDataframeSchema_Struct\x12\x1c\n\x01v\x18\x01 \x01(\x0b\x32\x11.ast.SpStructType"&\n\nSpCallable\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t"\x98\x01\n\x0cSpPivotValue\x12@\n\x19sp_pivot_value__dataframe\x18\x01 \x01(\x0b\x32\x1b.ast.SpPivotValue_DataframeH\x00\x12\x36\n\x14sp_pivot_value__expr\x18\x02 \x01(\x0b\x32\x16.ast.SpPivotValue_ExprH\x00\x42\x0e\n\x0csealed_value")\n\x11SpPivotValue_Expr\x12\x14\n\x01v\x18\x01 \x01(\x0b\x32\t.ast.Expr"8\n\x16SpPivotValue_Dataframe\x12\x1e\n\x01v\x18\x01 \x01(\x0b\x32\x13.ast.SpDataframeRef"k\n\x0bSrcPosition\x12\x12\n\nend_column\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_line\x18\x02 \x01(\x03\x12\x0c\n\x04\x66ile\x18\x03 \x01(\t\x12\x14\n\x0cstart_column\x18\x04 \x01(\x03\x12\x12\n\nstart_line\x18\x05 \x01(\x03"\x1a\n\x05VarId\x12\x11\n\tbitfield1\x18\x01 \x01(\x04"\x8c\x01\n\x07Request\x12\x17\n\x04\x62ody\x18\x01 \x03(\x0b\x32\t.ast.Stmt\x12\x1a\n\x12\x63lient_ast_version\x18\x02 \x01(\x03\x12&\n\x0f\x63lient_language\x18\x03 \x01(\x0b\x32\r.ast.Language\x12$\n\x0e\x63lient_version\x18\x04 \x01(\x0b\x32\x0c.ast.Version"%\n\x08Response\x12\x19\n\x04\x62ody\x18\x01 \x03(\x0b\x32\x0b.ast.Result"\xde\x05\n\x05\x43onst\x12-\n\x0f\x62ig_decimal_val\x18\x01 \x01(\x0b\x32\x12.ast.BigDecimalValH\x00\x12%\n\x0b\x62ig_int_val\x18\x02 \x01(\x0b\x32\x0e.ast.BigIntValH\x00\x12$\n\nbinary_val\x18\x03 \x01(\x0b\x32\x0e.ast.BinaryValH\x00\x12 \n\x08\x62ool_val\x18\x04 \x01(\x0b\x32\x0c.ast.BoolValH\x00\x12 \n\x08\x64\x61te_val\x18\x05 \x01(\x0b\x32\x0c.ast.DateValH\x00\x12&\n\x0b\x66loat64_val\x18\x06 \x01(\x0b\x32\x0f.ast.Float64ValH\x00\x12\x1c\n\x06\x66n_val\x18\x07 \x01(\x0b\x32\n.ast.FnValH\x00\x12"\n\tint32_val\x18\x08 \x01(\x0b\x32\r.ast.Int32ValH\x00\x12"\n\tint64_val\x18\t \x01(\x0b\x32\r.ast.Int64ValH\x00\x12 \n\x08none_val\x18\n \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12 \n\x08null_val\x18\x0b \x01(\x0b\x32\x0c.ast.NullValH\x00\x12-\n\x0fpython_date_val\x18\x0c \x01(\x0b\x32\x12.ast.PythonDateValH\x00\x12-\n\x0fpython_time_val\x18\r \x01(\x0b\x32\x12.ast.PythonTimeValH\x00\x12\x37\n\x14python_timestamp_val\x18\x0e \x01(\x0b\x32\x17.ast.PythonTimestampValH\x00\x12-\n\x0fsp_datatype_val\x18\x0f \x01(\x0b\x32\x12.ast.SpDatatypeValH\x00\x12$\n\nstring_val\x18\x10 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12 \n\x08time_val\x18\x11 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12*\n\rtimestamp_val\x18\x12 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x42\t\n\x07variant"(\n\x07NoneVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition"(\n\x07NullVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition"3\n\x07\x42oolVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x08"4\n\x08Int32Val\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x03"4\n\x08Int64Val\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x03"6\n\nFloat64Val\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x01"5\n\tBigIntVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x0c"U\n\rBigDecimalVal\x12\r\n\x05scale\x18\x01 \x01(\x03\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x16\n\x0eunscaled_value\x18\x03 \x01(\x0c"5\n\tStringVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\t"5\n\tBinaryVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x0c"8\n\x0cTimestampVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x03"3\n\x07\x44\x61teVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x03"3\n\x07TimeVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\t\n\x01v\x18\x02 \x01(\x03"\xc1\x01\n\x12PythonTimestampVal\x12\x0b\n\x03\x64\x61y\x18\x01 \x01(\x03\x12\x0c\n\x04hour\x18\x02 \x01(\x03\x12\x13\n\x0bmicrosecond\x18\x03 \x01(\x03\x12\x0e\n\x06minute\x18\x04 \x01(\x03\x12\r\n\x05month\x18\x05 \x01(\x03\x12\x0e\n\x06second\x18\x06 \x01(\x03\x12\x1d\n\x03src\x18\x07 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1f\n\x02tz\x18\x08 \x01(\x0b\x32\x13.ast.PythonTimeZone\x12\x0c\n\x04year\x18\t \x01(\x03"X\n\rPythonDateVal\x12\x0b\n\x03\x64\x61y\x18\x01 \x01(\x03\x12\r\n\x05month\x18\x02 \x01(\x03\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x0c\n\x04year\x18\x04 \x01(\x03"\x92\x01\n\rPythonTimeVal\x12\x0c\n\x04hour\x18\x01 \x01(\x03\x12\x13\n\x0bmicrosecond\x18\x02 \x01(\x03\x12\x0e\n\x06minute\x18\x03 \x01(\x03\x12\x0e\n\x06second\x18\x04 \x01(\x03\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1f\n\x02tz\x18\x06 \x01(\x0b\x32\x13.ast.PythonTimeZone"O\n\x05\x46nVal\x12\x17\n\x04\x62ody\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x0e\n\x06params\x18\x02 \x03(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"Q\n\rSpDatatypeVal\x12!\n\x08\x64\x61tatype\x18\x01 \x01(\x0b\x32\x0f.ast.SpDataType\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"y\n\x06IfExpr\x12\x17\n\x04\x63ond\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1b\n\x08if_false\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1a\n\x07if_true\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition">\n\x07SomeVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x14\n\x01v\x18\x02 \x01(\x0b\x32\t.ast.Expr"@\n\x08TupleVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x15\n\x02vs\x18\x02 \x03(\x0b\x32\t.ast.Expr"?\n\x07ListVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x15\n\x02vs\x18\x02 \x03(\x0b\x32\t.ast.Expr"F\n\tSeqMapVal\x12\x1a\n\x03kvs\x18\x01 \x03(\x0b\x32\r.ast.TupleVal\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x8f\x01\n\tApplyExpr\x12\x1a\n\x02\x66n\x18\x01 \x01(\x0b\x32\x0e.ast.FnRefExpr\x12*\n\nnamed_args\x18\x02 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x1b\n\x08pos_args\x18\x03 \x03(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\x8a\x04\n\tFnRefExpr\x12\x30\n\x14trait_fn_id_ref_expr\x18\x01 \x01(\x0b\x32\x10.ast.FnIdRefExprH\x00\x12\x34\n\x16trait_fn_name_ref_expr\x18\x02 \x01(\x0b\x32\x12.ast.FnNameRefExprH\x00\x12$\n\nbuiltin_fn\x18\x03 \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12>\n\x18\x63\x61ll_table_function_expr\x18\x04 \x01(\x0b\x32\x1a.ast.CallTableFunctionExprH\x00\x12=\n\x18indirect_table_fn_id_ref\x18\x05 \x01(\x0b\x32\x19.ast.IndirectTableFnIdRefH\x00\x12\x41\n\x1aindirect_table_fn_name_ref\x18\x06 \x01(\x0b\x32\x1b.ast.IndirectTableFnNameRefH\x00\x12!\n\tsp_fn_ref\x18\x07 \x01(\x0b\x32\x0c.ast.SpFnRefH\x00\x12\x30\n\x10stored_procedure\x18\x08 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12\x19\n\x04udaf\x18\t \x01(\x0b\x32\t.ast.UdafH\x00\x12\x17\n\x03udf\x18\n \x01(\x0b\x32\x08.ast.UdfH\x00\x12\x19\n\x04udtf\x18\x0b \x01(\x0b\x32\t.ast.UdtfH\x00\x42\t\n\x07variant"\xc4\x02\n\rFnNameRefExpr\x12$\n\nbuiltin_fn\x18\x01 \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12>\n\x18\x63\x61ll_table_function_expr\x18\x02 \x01(\x0b\x32\x1a.ast.CallTableFunctionExprH\x00\x12\x41\n\x1aindirect_table_fn_name_ref\x18\x03 \x01(\x0b\x32\x1b.ast.IndirectTableFnNameRefH\x00\x12\x30\n\x10stored_procedure\x18\x04 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12\x19\n\x04udaf\x18\x05 \x01(\x0b\x32\t.ast.UdafH\x00\x12\x17\n\x03udf\x18\x06 \x01(\x0b\x32\x08.ast.UdfH\x00\x12\x19\n\x04udtf\x18\x07 \x01(\x0b\x32\t.ast.UdtfH\x00\x42\t\n\x07variant"z\n\x0b\x46nIdRefExpr\x12=\n\x18indirect_table_fn_id_ref\x18\x01 \x01(\x0b\x32\x19.ast.IndirectTableFnIdRefH\x00\x12!\n\tsp_fn_ref\x18\x02 \x01(\x0b\x32\x0c.ast.SpFnRefH\x00\x42\t\n\x07variant"@\n\x07SpFnRef\x12\x16\n\x02id\x18\x01 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"E\n\tBuiltinFn\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\xab\x05\n\x0fStoredProcedure\x12-\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x12\n\nexecute_as\x18\x02 \x01(\t\x12$\n\x1c\x65xternal_access_integrations\x18\x03 \x03(\t\x12\x1d\n\x04\x66unc\x18\x04 \x01(\x0b\x32\x0f.ast.SpCallable\x12\x15\n\rif_not_exists\x18\x05 \x01(\x08\x12!\n\x07imports\x18\x06 \x03(\x0b\x32\x10.ast.SpTableName\x12)\n\x0binput_types\x18\x07 \x01(\x0b\x32\x14.ast.List_SpDataType\x12\x14\n\x0cis_permanent\x18\x08 \x01(\x08\x12&\n\x06kwargs\x18\t \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x34\n\x10log_on_exception\x18\n \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x19\n\x04name\x18\x0b \x01(\x0b\x32\x0b.ast.FnName\x12\x10\n\x08packages\x18\x0c \x03(\t\x12\x10\n\x08parallel\x18\r \x01(\x03\x12\x0f\n\x07replace\x18\x0e \x01(\x08\x12$\n\x0breturn_type\x18\x0f \x01(\x0b\x32\x0f.ast.SpDataType\x12)\n\x07secrets\x18\x10 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x1b\n\x13source_code_display\x18\x11 \x01(\x08\x12\x1d\n\x03src\x18\x12 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x16\n\x0estage_location\x18\x13 \x01(\t\x12\x32\n\x10statement_params\x18\x14 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06strict\x18\x15 \x01(\x08"\xad\x05\n\x03Udf\x12-\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12$\n\x1c\x65xternal_access_integrations\x18\x02 \x03(\t\x12\x1d\n\x04\x66unc\x18\x03 \x01(\x0b\x32\x0f.ast.SpCallable\x12\x15\n\rif_not_exists\x18\x04 \x01(\x08\x12\x11\n\timmutable\x18\x05 \x01(\x08\x12!\n\x07imports\x18\x06 \x03(\x0b\x32\x10.ast.SpTableName\x12)\n\x0binput_types\x18\x07 \x01(\x0b\x32\x14.ast.List_SpDataType\x12\x14\n\x0cis_permanent\x18\x08 \x01(\x08\x12&\n\x06kwargs\x18\t \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x33\n\x0emax_batch_size\x18\n \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x19\n\x04name\x18\x0b \x01(\x0b\x32\x0b.ast.FnName\x12\x10\n\x08packages\x18\x0c \x03(\t\x12\x10\n\x08parallel\x18\r \x01(\x03\x12\x0f\n\x07replace\x18\x0e \x01(\x08\x12$\n\x0breturn_type\x18\x0f \x01(\x0b\x32\x0f.ast.SpDataType\x12)\n\x07secrets\x18\x10 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06secure\x18\x11 \x01(\x08\x12\x1b\n\x13source_code_display\x18\x12 \x01(\x08\x12\x1d\n\x03src\x18\x13 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x16\n\x0estage_location\x18\x14 \x01(\t\x12\x32\n\x10statement_params\x18\x15 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06strict\x18\x16 \x01(\x08"\xe1\x04\n\x04Udtf\x12-\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12$\n\x1c\x65xternal_access_integrations\x18\x02 \x03(\t\x12 \n\x07handler\x18\x03 \x01(\x0b\x32\x0f.ast.SpCallable\x12\x15\n\rif_not_exists\x18\x04 \x01(\x08\x12\x11\n\timmutable\x18\x05 \x01(\x08\x12!\n\x07imports\x18\x06 \x03(\x0b\x32\x10.ast.SpTableName\x12)\n\x0binput_types\x18\x07 \x01(\x0b\x32\x14.ast.List_SpDataType\x12\x14\n\x0cis_permanent\x18\x08 \x01(\x08\x12&\n\x06kwargs\x18\t \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x19\n\x04name\x18\n \x01(\x0b\x32\x0b.ast.FnName\x12&\n\routput_schema\x18\x0b \x01(\x0b\x32\x0f.ast.UdtfSchema\x12\x10\n\x08packages\x18\x0c \x03(\t\x12\x10\n\x08parallel\x18\r \x01(\x03\x12\x0f\n\x07replace\x18\x0e \x01(\x08\x12)\n\x07secrets\x18\x0f \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06secure\x18\x10 \x01(\x08\x12\x1d\n\x03src\x18\x11 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x16\n\x0estage_location\x18\x12 \x01(\t\x12\x32\n\x10statement_params\x18\x13 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06strict\x18\x14 \x01(\x08"\xdd\x04\n\x04Udaf\x12-\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12$\n\x1c\x65xternal_access_integrations\x18\x02 \x03(\t\x12 \n\x07handler\x18\x03 \x01(\x0b\x32\x0f.ast.SpCallable\x12\x15\n\rif_not_exists\x18\x04 \x01(\x08\x12\x11\n\timmutable\x18\x05 \x01(\x08\x12!\n\x07imports\x18\x06 \x03(\x0b\x32\x10.ast.SpTableName\x12)\n\x0binput_types\x18\x07 \x01(\x0b\x32\x14.ast.List_SpDataType\x12\x14\n\x0cis_permanent\x18\x08 \x01(\x08\x12&\n\x06kwargs\x18\t \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x19\n\x04name\x18\n \x01(\x0b\x32\x0b.ast.FnName\x12\x10\n\x08packages\x18\x0b \x03(\t\x12\x10\n\x08parallel\x18\x0c \x01(\x03\x12\x0f\n\x07replace\x18\r \x01(\x08\x12$\n\x0breturn_type\x18\x0e \x01(\x0b\x32\x0f.ast.SpDataType\x12)\n\x07secrets\x18\x0f \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x1d\n\x03src\x18\x10 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x34\n\x0estage_location\x18\x11 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x10statement_params\x18\x12 \x03(\x0b\x32\x18.ast.Tuple_String_String"R\n\x16IndirectTableFnNameRef\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"M\n\x14IndirectTableFnIdRef\x12\x16\n\x02id\x18\x01 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"Q\n\x15\x43\x61llTableFunctionExpr\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"F\n\x07UnaryOp\x12\x17\n\x03neg\x18\x01 \x01(\x0b\x32\x08.ast.NegH\x00\x12\x17\n\x03not\x18\x02 \x01(\x0b\x32\x08.ast.NotH\x00\x42\t\n\x07variant"\xc6\x03\n\x05\x42inOp\x12\x17\n\x03\x61\x64\x64\x18\x01 \x01(\x0b\x32\x08.ast.AddH\x00\x12\x17\n\x03\x61nd\x18\x02 \x01(\x0b\x32\x08.ast.AndH\x00\x12\x1e\n\x07\x62it_and\x18\x03 \x01(\x0b\x32\x0b.ast.BitAndH\x00\x12\x1c\n\x06\x62it_or\x18\x04 \x01(\x0b\x32\n.ast.BitOrH\x00\x12\x1e\n\x07\x62it_xor\x18\x05 \x01(\x0b\x32\x0b.ast.BitXorH\x00\x12\x17\n\x03\x64iv\x18\x06 \x01(\x0b\x32\x08.ast.DivH\x00\x12\x15\n\x02\x65q\x18\x07 \x01(\x0b\x32\x07.ast.EqH\x00\x12\x17\n\x03geq\x18\x08 \x01(\x0b\x32\x08.ast.GeqH\x00\x12\x15\n\x02gt\x18\t \x01(\x0b\x32\x07.ast.GtH\x00\x12\x17\n\x03leq\x18\n \x01(\x0b\x32\x08.ast.LeqH\x00\x12\x15\n\x02lt\x18\x0b \x01(\x0b\x32\x07.ast.LtH\x00\x12\x17\n\x03mod\x18\x0c \x01(\x0b\x32\x08.ast.ModH\x00\x12\x17\n\x03mul\x18\r \x01(\x0b\x32\x08.ast.MulH\x00\x12\x17\n\x03neq\x18\x0e \x01(\x0b\x32\x08.ast.NeqH\x00\x12\x15\n\x02or\x18\x0f \x01(\x0b\x32\x07.ast.OrH\x00\x12\x17\n\x03pow\x18\x10 \x01(\x0b\x32\x08.ast.PowH\x00\x12\x17\n\x03sub\x18\x11 \x01(\x0b\x32\x08.ast.SubH\x00\x42\t\n\x07variant"@\n\x03Not\x12\x1a\n\x07operand\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03\x41nd\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"S\n\x02Or\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"S\n\x02\x45q\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Neq\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"S\n\x02Lt\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Leq\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"S\n\x02Gt\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Geq\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"@\n\x03Neg\x12\x1a\n\x07operand\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03\x41\x64\x64\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Sub\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Mul\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03\x44iv\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Mod\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x03Pow\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"W\n\x06\x42itAnd\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"V\n\x05\x42itOr\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"W\n\x06\x42itXor\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"u\n\x08RangeVal\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x18\n\x05start\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04step\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04stop\x18\x04 \x01(\x0b\x32\t.ast.Expr"\xe3\x02\n\x10SpWindowSpecExpr\x12\x36\n\x14sp_window_spec_empty\x18\x01 \x01(\x0b\x32\x16.ast.SpWindowSpecEmptyH\x00\x12;\n\x17sp_window_spec_order_by\x18\x02 \x01(\x0b\x32\x18.ast.SpWindowSpecOrderByH\x00\x12\x43\n\x1bsp_window_spec_partition_by\x18\x03 \x01(\x0b\x32\x1c.ast.SpWindowSpecPartitionByH\x00\x12\x45\n\x1csp_window_spec_range_between\x18\x04 \x01(\x0b\x32\x1d.ast.SpWindowSpecRangeBetweenH\x00\x12\x43\n\x1bsp_window_spec_rows_between\x18\x05 \x01(\x0b\x32\x1c.ast.SpWindowSpecRowsBetweenH\x00\x42\t\n\x07variant"V\n\x11SpWindowSpecEmpty\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12"\n\x03wnd\x18\x02 \x01(\x0b\x32\x15.ast.SpWindowSpecExpr"q\n\x13SpWindowSpecOrderBy\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12"\n\x03wnd\x18\x03 \x01(\x0b\x32\x15.ast.SpWindowSpecExpr"u\n\x17SpWindowSpecPartitionBy\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12"\n\x03wnd\x18\x03 \x01(\x0b\x32\x15.ast.SpWindowSpecExpr"\xb7\x01\n\x18SpWindowSpecRangeBetween\x12*\n\x03\x65nd\x18\x01 \x01(\x0b\x32\x1d.ast.SpWindowRelativePosition\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12,\n\x05start\x18\x03 \x01(\x0b\x32\x1d.ast.SpWindowRelativePosition\x12"\n\x03wnd\x18\x04 \x01(\x0b\x32\x15.ast.SpWindowSpecExpr"\xb6\x01\n\x17SpWindowSpecRowsBetween\x12*\n\x03\x65nd\x18\x01 \x01(\x0b\x32\x1d.ast.SpWindowRelativePosition\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12,\n\x05start\x18\x03 \x01(\x0b\x32\x1d.ast.SpWindowRelativePosition\x12"\n\x03wnd\x18\x04 \x01(\x0b\x32\x15.ast.SpWindowSpecExpr"\x9eY\n\x04\x45xpr\x12"\n\x0ctrait_bin_op\x18\x01 \x01(\x0b\x32\n.ast.BinOpH\x00\x12!\n\x0btrait_const\x18\x02 \x01(\x0b\x32\n.ast.ConstH\x00\x12\x30\n\x14trait_fn_id_ref_expr\x18\x03 \x01(\x0b\x32\x10.ast.FnIdRefExprH\x00\x12\x34\n\x16trait_fn_name_ref_expr\x18\x04 \x01(\x0b\x32\x12.ast.FnNameRefExprH\x00\x12+\n\x11trait_fn_ref_expr\x18\x05 \x01(\x0b\x32\x0e.ast.FnRefExprH\x00\x12\x31\n\x14trait_sp_column_expr\x18\x06 \x01(\x0b\x32\x11.ast.SpColumnExprH\x00\x12-\n\x12trait_sp_column_fn\x18\x07 \x01(\x0b\x32\x0f.ast.SpColumnFnH\x00\x12\x37\n\x17trait_sp_dataframe_expr\x18\x08 \x01(\x0b\x32\x14.ast.SpDataframeExprH\x00\x12;\n\x19trait_sp_dataframe_writer\x18\t \x01(\x0b\x32\x16.ast.SpDataframeWriterH\x00\x12J\n!trait_sp_dataframe_writer_options\x18\n \x01(\x0b\x32\x1d.ast.SpDataframeWriterOptionsH\x00\x12M\n#trait_sp_dataframe_writer_save_mode\x18\x0b \x01(\x0b\x32\x1e.ast.SpDataframeWriterSaveModeH\x00\x12\x37\n\x17trait_sp_matched_clause\x18\x0c \x01(\x0b\x32\x14.ast.SpMatchedClauseH\x00\x12[\n*trait_sp_relational_grouped_dataframe_expr\x18\r \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExprH\x00\x12/\n\x13trait_sp_write_file\x18\x0e \x01(\x0b\x32\x10.ast.SpWriteFileH\x00\x12&\n\x0etrait_unary_op\x18\x0f \x01(\x0b\x32\x0c.ast.UnaryOpH\x00\x12\x17\n\x03\x61\x64\x64\x18\x10 \x01(\x0b\x32\x08.ast.AddH\x00\x12\x17\n\x03\x61nd\x18\x11 \x01(\x0b\x32\x08.ast.AndH\x00\x12$\n\napply_expr\x18\x12 \x01(\x0b\x32\x0e.ast.ApplyExprH\x00\x12-\n\x0f\x62ig_decimal_val\x18\x13 \x01(\x0b\x32\x12.ast.BigDecimalValH\x00\x12%\n\x0b\x62ig_int_val\x18\x14 \x01(\x0b\x32\x0e.ast.BigIntValH\x00\x12$\n\nbinary_val\x18\x15 \x01(\x0b\x32\x0e.ast.BinaryValH\x00\x12\x1e\n\x07\x62it_and\x18\x16 \x01(\x0b\x32\x0b.ast.BitAndH\x00\x12\x1c\n\x06\x62it_or\x18\x17 \x01(\x0b\x32\n.ast.BitOrH\x00\x12\x1e\n\x07\x62it_xor\x18\x18 \x01(\x0b\x32\x0b.ast.BitXorH\x00\x12 \n\x08\x62ool_val\x18\x19 \x01(\x0b\x32\x0c.ast.BoolValH\x00\x12$\n\nbuiltin_fn\x18\x1a \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12>\n\x18\x63\x61ll_table_function_expr\x18\x1b \x01(\x0b\x32\x1a.ast.CallTableFunctionExprH\x00\x12"\n\tcast_expr\x18\x1c \x01(\x0b\x32\r.ast.CastExprH\x00\x12 \n\x08\x64\x61te_val\x18\x1d \x01(\x0b\x32\x0c.ast.DateValH\x00\x12\x17\n\x03\x64iv\x18\x1e \x01(\x0b\x32\x08.ast.DivH\x00\x12\x15\n\x02\x65q\x18\x1f \x01(\x0b\x32\x07.ast.EqH\x00\x12&\n\x0b\x66loat64_val\x18 \x01(\x0b\x32\x0f.ast.Float64ValH\x00\x12\x1c\n\x06\x66n_val\x18! \x01(\x0b\x32\n.ast.FnValH\x00\x12\x17\n\x03geq\x18" \x01(\x0b\x32\x08.ast.GeqH\x00\x12\x15\n\x02gt\x18# \x01(\x0b\x32\x07.ast.GtH\x00\x12\x1e\n\x07if_expr\x18$ \x01(\x0b\x32\x0b.ast.IfExprH\x00\x12=\n\x18indirect_table_fn_id_ref\x18% \x01(\x0b\x32\x19.ast.IndirectTableFnIdRefH\x00\x12\x41\n\x1aindirect_table_fn_name_ref\x18& \x01(\x0b\x32\x1b.ast.IndirectTableFnNameRefH\x00\x12"\n\tint32_val\x18\' \x01(\x0b\x32\r.ast.Int32ValH\x00\x12"\n\tint64_val\x18( \x01(\x0b\x32\r.ast.Int64ValH\x00\x12\x17\n\x03leq\x18) \x01(\x0b\x32\x08.ast.LeqH\x00\x12 \n\x08list_val\x18* \x01(\x0b\x32\x0c.ast.ListValH\x00\x12\x15\n\x02lt\x18+ \x01(\x0b\x32\x07.ast.LtH\x00\x12\x17\n\x03mod\x18, \x01(\x0b\x32\x08.ast.ModH\x00\x12\x17\n\x03mul\x18- \x01(\x0b\x32\x08.ast.MulH\x00\x12\x17\n\x03neg\x18. \x01(\x0b\x32\x08.ast.NegH\x00\x12\x17\n\x03neq\x18/ \x01(\x0b\x32\x08.ast.NeqH\x00\x12 \n\x08none_val\x18\x30 \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12\x17\n\x03not\x18\x31 \x01(\x0b\x32\x08.ast.NotH\x00\x12 \n\x08null_val\x18\x32 \x01(\x0b\x32\x0c.ast.NullValH\x00\x12-\n\x0fobject_get_item\x18\x33 \x01(\x0b\x32\x12.ast.ObjectGetItemH\x00\x12\x15\n\x02or\x18\x34 \x01(\x0b\x32\x07.ast.OrH\x00\x12(\n\x0cpd_dataframe\x18\x35 \x01(\x0b\x32\x10.ast.PdDataframeH\x00\x12\x38\n\x15pd_dataframe_get_item\x18\x36 \x01(\x0b\x32\x17.ast.PdDataframeGetItemH\x00\x12\x32\n\x12pd_dataframe_i_loc\x18\x37 \x01(\x0b\x32\x14.ast.PdDataframeILocH\x00\x12/\n\x10pd_dataframe_loc\x18\x38 \x01(\x0b\x32\x13.ast.PdDataframeLocH\x00\x12\x38\n\x15pd_dataframe_set_item\x18\x39 \x01(\x0b\x32\x17.ast.PdDataframeSetItemH\x00\x12#\n\npd_drop_na\x18: \x01(\x0b\x32\r.ast.PdDropNaH\x00\x12\x1e\n\x07pd_repr\x18; \x01(\x0b\x32\x0b.ast.PdReprH\x00\x12\x17\n\x03pow\x18< \x01(\x0b\x32\x08.ast.PowH\x00\x12-\n\x0fpython_date_val\x18= \x01(\x0b\x32\x12.ast.PythonDateValH\x00\x12-\n\x0fpython_time_val\x18> \x01(\x0b\x32\x12.ast.PythonTimeValH\x00\x12\x37\n\x14python_timestamp_val\x18? \x01(\x0b\x32\x17.ast.PythonTimestampValH\x00\x12"\n\trange_val\x18@ \x01(\x0b\x32\r.ast.RangeValH\x00\x12\x17\n\x03ref\x18\x41 \x01(\x0b\x32\x08.ast.RefH\x00\x12%\n\x0bseq_map_val\x18\x42 \x01(\x0b\x32\x0e.ast.SeqMapValH\x00\x12 \n\x08some_val\x18\x43 \x01(\x0b\x32\x0c.ast.SomeValH\x00\x12-\n\x0fsp_column_alias\x18\x44 \x01(\x0b\x32\x12.ast.SpColumnAliasH\x00\x12\x36\n\x14sp_column_apply__int\x18\x45 \x01(\x0b\x32\x16.ast.SpColumnApply_IntH\x00\x12<\n\x17sp_column_apply__string\x18\x46 \x01(\x0b\x32\x19.ast.SpColumnApply_StringH\x00\x12)\n\rsp_column_asc\x18G \x01(\x0b\x32\x10.ast.SpColumnAscH\x00\x12\x31\n\x11sp_column_between\x18H \x01(\x0b\x32\x14.ast.SpColumnBetweenH\x00\x12\x34\n\x13sp_column_case_when\x18I \x01(\x0b\x32\x15.ast.SpColumnCaseWhenH\x00\x12+\n\x0esp_column_cast\x18J \x01(\x0b\x32\x11.ast.SpColumnCastH\x00\x12+\n\x0esp_column_desc\x18K \x01(\x0b\x32\x11.ast.SpColumnDescH\x00\x12\x34\n\x13sp_column_equal_nan\x18L \x01(\x0b\x32\x15.ast.SpColumnEqualNanH\x00\x12\x36\n\x14sp_column_equal_null\x18M \x01(\x0b\x32\x16.ast.SpColumnEqualNullH\x00\x12<\n\x17sp_column_in__dataframe\x18N \x01(\x0b\x32\x19.ast.SpColumnIn_DataframeH\x00\x12\x30\n\x11sp_column_in__seq\x18O \x01(\x0b\x32\x13.ast.SpColumnIn_SeqH\x00\x12\x37\n\x15sp_column_is_not_null\x18P \x01(\x0b\x32\x16.ast.SpColumnIsNotNullH\x00\x12\x30\n\x11sp_column_is_null\x18Q \x01(\x0b\x32\x13.ast.SpColumnIsNullH\x00\x12+\n\x0esp_column_name\x18R \x01(\x0b\x32\x11.ast.SpColumnNameH\x00\x12+\n\x0esp_column_over\x18S \x01(\x0b\x32\x11.ast.SpColumnOverH\x00\x12)\n\rsp_column_ref\x18T \x01(\x0b\x32\x10.ast.SpColumnRefH\x00\x12\x32\n\x12sp_column_sql_expr\x18U \x01(\x0b\x32\x14.ast.SpColumnSqlExprH\x00\x12>\n\x18sp_column_string_collate\x18V \x01(\x0b\x32\x1a.ast.SpColumnStringCollateH\x00\x12@\n\x19sp_column_string_contains\x18W \x01(\x0b\x32\x1b.ast.SpColumnStringContainsH\x00\x12\x41\n\x1asp_column_string_ends_with\x18X \x01(\x0b\x32\x1b.ast.SpColumnStringEndsWithH\x00\x12\x38\n\x15sp_column_string_like\x18Y \x01(\x0b\x32\x17.ast.SpColumnStringLikeH\x00\x12<\n\x17sp_column_string_regexp\x18Z \x01(\x0b\x32\x19.ast.SpColumnStringRegexpH\x00\x12\x45\n\x1csp_column_string_starts_with\x18[ \x01(\x0b\x32\x1d.ast.SpColumnStringStartsWithH\x00\x12<\n\x17sp_column_string_substr\x18\\ \x01(\x0b\x32\x19.ast.SpColumnStringSubstrH\x00\x12\x32\n\x12sp_column_try_cast\x18] \x01(\x0b\x32\x14.ast.SpColumnTryCastH\x00\x12:\n\x16sp_column_within_group\x18^ \x01(\x0b\x32\x18.ast.SpColumnWithinGroupH\x00\x12\x35\n\x13sp_create_dataframe\x18_ \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18` \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x61 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x62 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\x63 \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\x64 \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x65 \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18\x66 \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x33\n\x12sp_dataframe_apply\x18g \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12@\n\x19sp_dataframe_cache_result\x18h \x01(\x0b\x32\x1b.ast.SpDataframeCacheResultH\x00\x12/\n\x10sp_dataframe_col\x18i \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x12\x37\n\x14sp_dataframe_collect\x18j \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x45\n\x1csp_dataframe_copy_into_table\x18k \x01(\x0b\x32\x1d.ast.SpDataframeCopyIntoTableH\x00\x12\x33\n\x12sp_dataframe_count\x18l \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12\x63\n,sp_dataframe_create_or_replace_dynamic_table\x18m \x01(\x0b\x32+.ast.SpDataframeCreateOrReplaceDynamicTableH\x00\x12R\n#sp_dataframe_create_or_replace_view\x18n \x01(\x0b\x32#.ast.SpDataframeCreateOrReplaceViewH\x00\x12<\n\x17sp_dataframe_cross_join\x18o \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x31\n\x11sp_dataframe_cube\x18p \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x39\n\x15sp_dataframe_describe\x18q \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18r \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18s \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18t \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18u \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18v \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18w \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18x \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12\x38\n\x15sp_dataframe_group_by\x18y \x01(\x0b\x32\x17.ast.SpDataframeGroupByH\x00\x12R\n#sp_dataframe_group_by_grouping_sets\x18z \x01(\x0b\x32#.ast.SpDataframeGroupByGroupingSetsH\x00\x12I\n\x1esp_dataframe_group_by__columns\x18{ \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_ColumnsH\x00\x12I\n\x1esp_dataframe_group_by__strings\x18| \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_StringsH\x00\x12;\n\x16sp_dataframe_intersect\x18} \x01(\x0b\x32\x19.ast.SpDataframeIntersectH\x00\x12\x31\n\x11sp_dataframe_join\x18~ \x01(\x0b\x32\x14.ast.SpDataframeJoinH\x00\x12M\n sp_dataframe_join_table_function\x18\x7f \x01(\x0b\x32!.ast.SpDataframeJoinTableFunctionH\x00\x12]\n(sp_dataframe_join__dataframe__join_exprs\x18\x80\x01 \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x63\n+sp_dataframe_join__dataframe__using_columns\x18\x81\x01 \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12\x34\n\x12sp_dataframe_limit\x18\x82\x01 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x46\n\x1csp_dataframe_na_drop__python\x18\x83\x01 \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x44\n\x1bsp_dataframe_na_drop__scala\x18\x84\x01 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x37\n\x14sp_dataframe_na_fill\x18\x85\x01 \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12=\n\x17sp_dataframe_na_replace\x18\x86\x01 \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12\x41\n\x19sp_dataframe_natural_join\x18\x87\x01 \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12\x34\n\x12sp_dataframe_pivot\x18\x88\x01 \x01(\x0b\x32\x15.ast.SpDataframePivotH\x00\x12\x41\n\x19sp_dataframe_random_split\x18\x89\x01 \x01(\x0b\x32\x1b.ast.SpDataframeRandomSplitH\x00\x12\x30\n\x10sp_dataframe_ref\x18\x8a\x01 \x01(\x0b\x32\x13.ast.SpDataframeRefH\x00\x12\x36\n\x13sp_dataframe_rename\x18\x8b\x01 \x01(\x0b\x32\x16.ast.SpDataframeRenameH\x00\x12\x36\n\x13sp_dataframe_rollup\x18\x8c\x01 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12G\n\x1csp_dataframe_rollup__columns\x18\x8d\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12G\n\x1csp_dataframe_rollup__strings\x18\x8e\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12\x36\n\x13sp_dataframe_sample\x18\x8f\x01 \x01(\x0b\x32\x16.ast.SpDataframeSampleH\x00\x12G\n\x1csp_dataframe_select__columns\x18\x90\x01 \x01(\x0b\x32\x1e.ast.SpDataframeSelect_ColumnsH\x00\x12\x43\n\x1asp_dataframe_select__exprs\x18\x91\x01 \x01(\x0b\x32\x1c.ast.SpDataframeSelect_ExprsH\x00\x12\x32\n\x11sp_dataframe_show\x18\x92\x01 \x01(\x0b\x32\x14.ast.SpDataframeShowH\x00\x12\x32\n\x11sp_dataframe_sort\x18\x93\x01 \x01(\x0b\x32\x14.ast.SpDataframeSortH\x00\x12P\n!sp_dataframe_stat_approx_quantile\x18\x94\x01 \x01(\x0b\x32".ast.SpDataframeStatApproxQuantileH\x00\x12;\n\x16sp_dataframe_stat_corr\x18\x95\x01 \x01(\x0b\x32\x18.ast.SpDataframeStatCorrH\x00\x12\x39\n\x15sp_dataframe_stat_cov\x18\x96\x01 \x01(\x0b\x32\x17.ast.SpDataframeStatCovH\x00\x12\x44\n\x1bsp_dataframe_stat_cross_tab\x18\x97\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatCrossTabH\x00\x12\x44\n\x1bsp_dataframe_stat_sample_by\x18\x98\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x33\n\x12sp_dataframe_to_df\x18\x99\x01 \x01(\x0b\x32\x14.ast.SpDataframeToDfH\x00\x12J\n\x1esp_dataframe_to_local_iterator\x18\x9a\x01 \x01(\x0b\x32\x1f.ast.SpDataframeToLocalIteratorH\x00\x12;\n\x16sp_dataframe_to_pandas\x18\x9b\x01 \x01(\x0b\x32\x18.ast.SpDataframeToPandasH\x00\x12J\n\x1esp_dataframe_to_pandas_batches\x18\x9c\x01 \x01(\x0b\x32\x1f.ast.SpDataframeToPandasBatchesH\x00\x12\x34\n\x12sp_dataframe_union\x18\x9d\x01 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12;\n\x16sp_dataframe_union_all\x18\x9e\x01 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12I\n\x1esp_dataframe_union_all_by_name\x18\x9f\x01 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x42\n\x1asp_dataframe_union_by_name\x18\xa0\x01 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x38\n\x14sp_dataframe_unpivot\x18\xa1\x01 \x01(\x0b\x32\x17.ast.SpDataframeUnpivotH\x00\x12\x34\n\x12sp_dataframe_where\x18\xa2\x01 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12?\n\x18sp_dataframe_with_column\x18\xa3\x01 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12N\n sp_dataframe_with_column_renamed\x18\xa4\x01 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12\x41\n\x19sp_dataframe_with_columns\x18\xa5\x01 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x34\n\x12sp_dataframe_write\x18\xa6\x01 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12.\n\x0fsp_datatype_val\x18\xa7\x01 \x01(\x0b\x32\x12.ast.SpDatatypeValH\x00\x12%\n\nsp_flatten\x18\xa8\x01 \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12"\n\tsp_fn_ref\x18\xa9\x01 \x01(\x0b\x32\x0c.ast.SpFnRefH\x00\x12)\n\x0csp_generator\x18\xaa\x01 \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12\x30\n\x10sp_grouping_sets\x18\xab\x01 \x01(\x0b\x32\x13.ast.SpGroupingSetsH\x00\x12S\n#sp_merge_delete_when_matched_clause\x18\xac\x01 \x01(\x0b\x32#.ast.SpMergeDeleteWhenMatchedClauseH\x00\x12Z\n\'sp_merge_insert_when_not_matched_clause\x18\xad\x01 \x01(\x0b\x32&.ast.SpMergeInsertWhenNotMatchedClauseH\x00\x12S\n#sp_merge_update_when_matched_clause\x18\xae\x01 \x01(\x0b\x32#.ast.SpMergeUpdateWhenMatchedClauseH\x00\x12!\n\x08sp_range\x18\xaf\x01 \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12(\n\x0csp_read_avro\x18\xb0\x01 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12&\n\x0bsp_read_csv\x18\xb1\x01 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12(\n\x0csp_read_json\x18\xb2\x01 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12&\n\x0bsp_read_orc\x18\xb3\x01 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12.\n\x0fsp_read_parquet\x18\xb4\x01 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12*\n\rsp_read_table\x18\xb5\x01 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12&\n\x0bsp_read_xml\x18\xb6\x01 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12T\n#sp_relational_grouped_dataframe_agg\x18\xb7\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12j\n/sp_relational_grouped_dataframe_apply_in_pandas\x18\xb8\x01 \x01(\x0b\x32..ast.SpRelationalGroupedDataframeApplyInPandasH\x00\x12\\\n\'sp_relational_grouped_dataframe_builtin\x18\xb9\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12X\n%sp_relational_grouped_dataframe_pivot\x18\xba\x01 \x01(\x0b\x32&.ast.SpRelationalGroupedDataframePivotH\x00\x12T\n#sp_relational_grouped_dataframe_ref\x18\xbb\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x12\x1d\n\x06sp_row\x18\xbc\x01 \x01(\x0b\x32\n.ast.SpRowH\x00\x12\x41\n\x19sp_session_table_function\x18\xbd\x01 \x01(\x0b\x32\x1b.ast.SpSessionTableFunctionH\x00\x12\x1d\n\x06sp_sql\x18\xbe\x01 \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x36\n\x13sp_stored_procedure\x18\xbf\x01 \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12!\n\x08sp_table\x18\xc0\x01 \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12.\n\x0fsp_table_delete\x18\xc1\x01 \x01(\x0b\x32\x12.ast.SpTableDeleteH\x00\x12\x35\n\x13sp_table_drop_table\x18\xc2\x01 \x01(\x0b\x32\x15.ast.SpTableDropTableH\x00\x12:\n\x16sp_table_fn_call_alias\x18\xc3\x01 \x01(\x0b\x32\x17.ast.SpTableFnCallAliasH\x00\x12\x38\n\x15sp_table_fn_call_over\x18\xc4\x01 \x01(\x0b\x32\x16.ast.SpTableFnCallOverH\x00\x12,\n\x0esp_table_merge\x18\xc5\x01 \x01(\x0b\x32\x11.ast.SpTableMergeH\x00\x12.\n\x0fsp_table_sample\x18\xc6\x01 \x01(\x0b\x32\x12.ast.SpTableSampleH\x00\x12.\n\x0fsp_table_update\x18\xc7\x01 \x01(\x0b\x32\x12.ast.SpTableUpdateH\x00\x12\x44\n\x1bsp_write_copy_into_location\x18\xc8\x01 \x01(\x0b\x32\x1c.ast.SpWriteCopyIntoLocationH\x00\x12(\n\x0csp_write_csv\x18\xc9\x01 \x01(\x0b\x32\x0f.ast.SpWriteCsvH\x00\x12*\n\rsp_write_json\x18\xca\x01 \x01(\x0b\x32\x10.ast.SpWriteJsonH\x00\x12.\n\x0fsp_write_pandas\x18\xcb\x01 \x01(\x0b\x32\x12.ast.SpWritePandasH\x00\x12\x30\n\x10sp_write_parquet\x18\xcc\x01 \x01(\x0b\x32\x13.ast.SpWriteParquetH\x00\x12,\n\x0esp_write_table\x18\xcd\x01 \x01(\x0b\x32\x11.ast.SpWriteTableH\x00\x12\x31\n\x10stored_procedure\x18\xce\x01 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12%\n\nstring_val\x18\xcf\x01 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12\x18\n\x03sub\x18\xd0\x01 \x01(\x0b\x32\x08.ast.SubH\x00\x12!\n\x08time_val\x18\xd1\x01 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12+\n\rtimestamp_val\x18\xd2\x01 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x12#\n\ttuple_val\x18\xd3\x01 \x01(\x0b\x32\r.ast.TupleValH\x00\x12\x1a\n\x04udaf\x18\xd4\x01 \x01(\x0b\x32\t.ast.UdafH\x00\x12\x18\n\x03udf\x18\xd5\x01 \x01(\x0b\x32\x08.ast.UdfH\x00\x12\x1a\n\x04udtf\x18\xd6\x01 \x01(\x0b\x32\t.ast.UdtfH\x00\x42\t\n\x07variant"@\n\x03Ref\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1a\n\x06var_id\x18\x02 \x01(\x0b\x32\n.ast.VarId"W\n\x08\x43\x61stExpr\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x16\n\x03typ\x18\x02 \x01(\x0b\x32\t.ast.Type\x12\x14\n\x01v\x18\x03 \x01(\x0b\x32\t.ast.Expr"`\n\rObjectGetItem\x12\x17\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x17\n\x03obj\x18\x02 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x95\x01\n\x0bPdDataframe\x12\x1a\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x18\n\x05\x64type\x18\x03 \x01(\x0b\x32\t.ast.Type\x12\x18\n\x05index\x18\x04 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition"\x8e\x01\n\x08PdDropNa\x12\x17\n\x04\x61xis\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x14\n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x08.ast.Ref\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x19\n\x06subset\x18\x04 \x01(\x0b\x32\t.ast.Expr\x12\x19\n\x06thresh\x18\x05 \x01(\x0b\x32\t.ast.Expr"e\n\x12PdDataframeGetItem\x12\x14\n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x08.ast.Ref\x12\x1a\n\x07key_arg\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"{\n\x12PdDataframeSetItem\x12\x14\n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x08.ast.Ref\x12\x1a\n\x07key_arg\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x14\n\x01v\x18\x04 \x01(\x0b\x32\t.ast.Expr"z\n\x0ePdDataframeLoc\x12\x1a\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x14\n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x08.ast.Ref\x12\x17\n\x04rows\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"{\n\x0fPdDataframeILoc\x12\x1a\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x14\n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x08.ast.Ref\x12\x17\n\x04rows\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"r\n\x06PdRepr\x12\r\n\x05\x61sync\x18\x01 \x01(\x08\x12\x13\n\x0bmax_columns\x18\x02 \x01(\x03\x12\x10\n\x08max_rows\x18\x03 \x01(\x03\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x13\n\x01v\x18\x05 \x01(\x0b\x32\x08.ast.Ref"u\n\x0cPdReprResult\x12\x13\n\x0bnum_columns\x18\x01 \x01(\x03\x12\x18\n\x10num_head_columns\x18\x02 \x01(\x03\x12\x15\n\rnum_head_rows\x18\x03 \x01(\x03\x12\x10\n\x08num_rows\x18\x04 \x01(\x03\x12\r\n\x05value\x18\x05 \x01(\x0c"\x9e\x01\n\x06Result\x12!\n\x0btrait_error\x18\x01 \x01(\x0b\x32\n.ast.ErrorH\x00\x12\x1e\n\x07\x65val_ok\x18\x02 \x01(\x0b\x32\x0b.ast.EvalOkH\x00\x12\x46\n\x1csession_reset_required_error\x18\x03 \x01(\x0b\x32\x1e.ast.SessionResetRequiredErrorH\x00\x42\t\n\x07variant"\xb3\x06\n\nEvalResult\x12!\n\x0btrait_const\x18\x01 \x01(\x0b\x32\n.ast.ConstH\x00\x12-\n\x0f\x62ig_decimal_val\x18\x02 \x01(\x0b\x32\x12.ast.BigDecimalValH\x00\x12%\n\x0b\x62ig_int_val\x18\x03 \x01(\x0b\x32\x0e.ast.BigIntValH\x00\x12$\n\nbinary_val\x18\x04 \x01(\x0b\x32\x0e.ast.BinaryValH\x00\x12 \n\x08\x62ool_val\x18\x05 \x01(\x0b\x32\x0c.ast.BoolValH\x00\x12 \n\x08\x64\x61te_val\x18\x06 \x01(\x0b\x32\x0c.ast.DateValH\x00\x12&\n\x0b\x66loat64_val\x18\x07 \x01(\x0b\x32\x0f.ast.Float64ValH\x00\x12\x1c\n\x06\x66n_val\x18\x08 \x01(\x0b\x32\n.ast.FnValH\x00\x12"\n\tint32_val\x18\t \x01(\x0b\x32\r.ast.Int32ValH\x00\x12"\n\tint64_val\x18\n \x01(\x0b\x32\r.ast.Int64ValH\x00\x12 \n\x08none_val\x18\x0b \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12 \n\x08null_val\x18\x0c \x01(\x0b\x32\x0c.ast.NullValH\x00\x12+\n\x0epd_repr_result\x18\r \x01(\x0b\x32\x11.ast.PdReprResultH\x00\x12-\n\x0fpython_date_val\x18\x0e \x01(\x0b\x32\x12.ast.PythonDateValH\x00\x12-\n\x0fpython_time_val\x18\x0f \x01(\x0b\x32\x12.ast.PythonTimeValH\x00\x12\x37\n\x14python_timestamp_val\x18\x10 \x01(\x0b\x32\x17.ast.PythonTimestampValH\x00\x12-\n\x0fsp_datatype_val\x18\x11 \x01(\x0b\x32\x12.ast.SpDatatypeValH\x00\x12$\n\nstring_val\x18\x12 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12 \n\x08time_val\x18\x13 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12*\n\rtimestamp_val\x18\x14 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x42\t\n\x07variant"P\n\x06\x45valOk\x12\x1d\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x0f.ast.EvalResult\x12\x0b\n\x03uid\x18\x02 \x01(\x03\x12\x1a\n\x06var_id\x18\x03 \x01(\x0b\x32\n.ast.VarId"Z\n\x05\x45rror\x12\x46\n\x1csession_reset_required_error\x18\x01 \x01(\x0b\x32\x1e.ast.SessionResetRequiredErrorH\x00\x42\t\n\x07variant"D\n\x19SessionResetRequiredError\x12\x0b\n\x03uid\x18\x01 \x01(\x03\x12\x1a\n\x06var_id\x18\x02 \x01(\x0b\x32\n.ast.VarId"\xcc\x02\n\x0cSpColumnExpr\x12\x34\n\x13sp_column_case_when\x18\x01 \x01(\x0b\x32\x15.ast.SpColumnCaseWhenH\x00\x12\x36\n\x14sp_column_equal_null\x18\x02 \x01(\x0b\x32\x16.ast.SpColumnEqualNullH\x00\x12)\n\rsp_column_ref\x18\x03 \x01(\x0b\x32\x10.ast.SpColumnRefH\x00\x12\x32\n\x12sp_column_sql_expr\x18\x04 \x01(\x0b\x32\x14.ast.SpColumnSqlExprH\x00\x12\x33\n\x12sp_dataframe_apply\x18\x05 \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12/\n\x10sp_dataframe_col\x18\x06 \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x42\t\n\x07variant"8\n\x0bSpColumnRef\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"m\n\x0fSpColumnSqlExpr\x12.\n\x08\x64\x66_alias\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0b\n\x03sql\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"c\n\nSpCaseExpr\x12\x1c\n\tcondition\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x18\n\x05value\x18\x03 \x01(\x0b\x32\t.ast.Expr"Q\n\x10SpColumnCaseWhen\x12\x1e\n\x05\x63\x61ses\x18\x01 \x03(\x0b\x32\x0f.ast.SpCaseExpr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x91\n\n\nSpColumnFn\x12-\n\x0fsp_column_alias\x18\x01 \x01(\x0b\x32\x12.ast.SpColumnAliasH\x00\x12\x36\n\x14sp_column_apply__int\x18\x02 \x01(\x0b\x32\x16.ast.SpColumnApply_IntH\x00\x12<\n\x17sp_column_apply__string\x18\x03 \x01(\x0b\x32\x19.ast.SpColumnApply_StringH\x00\x12)\n\rsp_column_asc\x18\x04 \x01(\x0b\x32\x10.ast.SpColumnAscH\x00\x12\x31\n\x11sp_column_between\x18\x05 \x01(\x0b\x32\x14.ast.SpColumnBetweenH\x00\x12+\n\x0esp_column_cast\x18\x06 \x01(\x0b\x32\x11.ast.SpColumnCastH\x00\x12+\n\x0esp_column_desc\x18\x07 \x01(\x0b\x32\x11.ast.SpColumnDescH\x00\x12\x34\n\x13sp_column_equal_nan\x18\x08 \x01(\x0b\x32\x15.ast.SpColumnEqualNanH\x00\x12<\n\x17sp_column_in__dataframe\x18\t \x01(\x0b\x32\x19.ast.SpColumnIn_DataframeH\x00\x12\x30\n\x11sp_column_in__seq\x18\n \x01(\x0b\x32\x13.ast.SpColumnIn_SeqH\x00\x12\x37\n\x15sp_column_is_not_null\x18\x0b \x01(\x0b\x32\x16.ast.SpColumnIsNotNullH\x00\x12\x30\n\x11sp_column_is_null\x18\x0c \x01(\x0b\x32\x13.ast.SpColumnIsNullH\x00\x12+\n\x0esp_column_name\x18\r \x01(\x0b\x32\x11.ast.SpColumnNameH\x00\x12+\n\x0esp_column_over\x18\x0e \x01(\x0b\x32\x11.ast.SpColumnOverH\x00\x12>\n\x18sp_column_string_collate\x18\x0f \x01(\x0b\x32\x1a.ast.SpColumnStringCollateH\x00\x12@\n\x19sp_column_string_contains\x18\x10 \x01(\x0b\x32\x1b.ast.SpColumnStringContainsH\x00\x12\x41\n\x1asp_column_string_ends_with\x18\x11 \x01(\x0b\x32\x1b.ast.SpColumnStringEndsWithH\x00\x12\x38\n\x15sp_column_string_like\x18\x12 \x01(\x0b\x32\x17.ast.SpColumnStringLikeH\x00\x12<\n\x17sp_column_string_regexp\x18\x13 \x01(\x0b\x32\x19.ast.SpColumnStringRegexpH\x00\x12\x45\n\x1csp_column_string_starts_with\x18\x14 \x01(\x0b\x32\x1d.ast.SpColumnStringStartsWithH\x00\x12<\n\x17sp_column_string_substr\x18\x15 \x01(\x0b\x32\x19.ast.SpColumnStringSubstrH\x00\x12\x32\n\x12sp_column_try_cast\x18\x16 \x01(\x0b\x32\x14.ast.SpColumnTryCastH\x00\x12:\n\x16sp_column_within_group\x18\x17 \x01(\x0b\x32\x18.ast.SpColumnWithinGroupH\x00\x42\t\n\x07variant"\x87\x01\n\rSpColumnAlias\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x31\n\rvariant_is_as\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.BoolValue"W\n\x11SpColumnApply_Int\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x0b\n\x03idx\x18\x02 \x01(\x03\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\\\n\x14SpColumnApply_String\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\r\n\x05\x66ield\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"u\n\x0bSpColumnAsc\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12/\n\x0bnulls_first\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x88\x01\n\x0fSpColumnBetween\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1e\n\x0blower_bound\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1e\n\x0bupper_bound\x18\x04 \x01(\x0b\x32\t.ast.Expr"b\n\x0cSpColumnCast\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1b\n\x02to\x18\x03 \x01(\x0b\x32\x0f.ast.SpDataType"e\n\x0fSpColumnTryCast\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1b\n\x02to\x18\x03 \x01(\x0b\x32\x0f.ast.SpDataType"v\n\x0cSpColumnDesc\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12/\n\x0bnulls_first\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"I\n\x10SpColumnEqualNan\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"b\n\x11SpColumnEqualNull\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03rhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"o\n\x14SpColumnIn_Dataframe\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"b\n\x0eSpColumnIn_Seq\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x19\n\x06values\x18\x03 \x03(\x0b\x32\t.ast.Expr"J\n\x11SpColumnIsNotNull\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"G\n\x0eSpColumnIsNull\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"T\n\x0cSpColumnName\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x16\n\x03\x63ol\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"q\n\x0cSpColumnOver\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12*\n\x0bwindow_spec\x18\x03 \x01(\x0b\x32\x15.ast.SpWindowSpecExpr"l\n\x13SpColumnWithinGroup\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1e\n\x04\x63ols\x18\x02 \x01(\x0b\x32\x10.ast.ExprArgList\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"g\n\x12SpColumnStringLike\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1a\n\x07pattern\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x88\x01\n\x14SpColumnStringRegexp\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\nparameters\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1a\n\x07pattern\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"l\n\x18SpColumnStringStartsWith\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x19\n\x06prefix\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"j\n\x16SpColumnStringEndsWith\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x19\n\x06suffix\x18\x03 \x01(\x0b\x32\t.ast.Expr"}\n\x14SpColumnStringSubstr\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03len\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x03pos\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"q\n\x15SpColumnStringCollate\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12!\n\x0e\x63ollation_spec\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"k\n\x16SpColumnStringContains\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1a\n\x07pattern\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xd5&\n\x0fSpDataframeExpr\x12\x35\n\x13sp_create_dataframe\x18\x01 \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18\x02 \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x03 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x04 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\x05 \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\x06 \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x07 \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18\x08 \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x37\n\x14sp_dataframe_collect\x18\t \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x33\n\x12sp_dataframe_count\x18\n \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12<\n\x17sp_dataframe_cross_join\x18\x0b \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x39\n\x15sp_dataframe_describe\x18\x0c \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18\r \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18\x0e \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18\x0f \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18\x10 \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18\x11 \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18\x12 \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18\x13 \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12;\n\x16sp_dataframe_intersect\x18\x14 \x01(\x0b\x32\x19.ast.SpDataframeIntersectH\x00\x12\x31\n\x11sp_dataframe_join\x18\x15 \x01(\x0b\x32\x14.ast.SpDataframeJoinH\x00\x12M\n sp_dataframe_join_table_function\x18\x16 \x01(\x0b\x32!.ast.SpDataframeJoinTableFunctionH\x00\x12\\\n(sp_dataframe_join__dataframe__join_exprs\x18\x17 \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x62\n+sp_dataframe_join__dataframe__using_columns\x18\x18 \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12\x33\n\x12sp_dataframe_limit\x18\x19 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x45\n\x1csp_dataframe_na_drop__python\x18\x1a \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x43\n\x1bsp_dataframe_na_drop__scala\x18\x1b \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x36\n\x14sp_dataframe_na_fill\x18\x1c \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12<\n\x17sp_dataframe_na_replace\x18\x1d \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12@\n\x19sp_dataframe_natural_join\x18\x1e \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12@\n\x19sp_dataframe_random_split\x18\x1f \x01(\x0b\x32\x1b.ast.SpDataframeRandomSplitH\x00\x12/\n\x10sp_dataframe_ref\x18 \x01(\x0b\x32\x13.ast.SpDataframeRefH\x00\x12\x35\n\x13sp_dataframe_rename\x18! \x01(\x0b\x32\x16.ast.SpDataframeRenameH\x00\x12\x35\n\x13sp_dataframe_sample\x18" \x01(\x0b\x32\x16.ast.SpDataframeSampleH\x00\x12\x46\n\x1csp_dataframe_select__columns\x18# \x01(\x0b\x32\x1e.ast.SpDataframeSelect_ColumnsH\x00\x12\x42\n\x1asp_dataframe_select__exprs\x18$ \x01(\x0b\x32\x1c.ast.SpDataframeSelect_ExprsH\x00\x12\x31\n\x11sp_dataframe_show\x18% \x01(\x0b\x32\x14.ast.SpDataframeShowH\x00\x12\x31\n\x11sp_dataframe_sort\x18& \x01(\x0b\x32\x14.ast.SpDataframeSortH\x00\x12O\n!sp_dataframe_stat_approx_quantile\x18\' \x01(\x0b\x32".ast.SpDataframeStatApproxQuantileH\x00\x12:\n\x16sp_dataframe_stat_corr\x18( \x01(\x0b\x32\x18.ast.SpDataframeStatCorrH\x00\x12\x38\n\x15sp_dataframe_stat_cov\x18) \x01(\x0b\x32\x17.ast.SpDataframeStatCovH\x00\x12\x43\n\x1bsp_dataframe_stat_cross_tab\x18* \x01(\x0b\x32\x1c.ast.SpDataframeStatCrossTabH\x00\x12\x43\n\x1bsp_dataframe_stat_sample_by\x18+ \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x32\n\x12sp_dataframe_to_df\x18, \x01(\x0b\x32\x14.ast.SpDataframeToDfH\x00\x12I\n\x1esp_dataframe_to_local_iterator\x18- \x01(\x0b\x32\x1f.ast.SpDataframeToLocalIteratorH\x00\x12:\n\x16sp_dataframe_to_pandas\x18. \x01(\x0b\x32\x18.ast.SpDataframeToPandasH\x00\x12I\n\x1esp_dataframe_to_pandas_batches\x18/ \x01(\x0b\x32\x1f.ast.SpDataframeToPandasBatchesH\x00\x12\x33\n\x12sp_dataframe_union\x18\x30 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12:\n\x16sp_dataframe_union_all\x18\x31 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12H\n\x1esp_dataframe_union_all_by_name\x18\x32 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x41\n\x1asp_dataframe_union_by_name\x18\x33 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x37\n\x14sp_dataframe_unpivot\x18\x34 \x01(\x0b\x32\x17.ast.SpDataframeUnpivotH\x00\x12\x33\n\x12sp_dataframe_where\x18\x35 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12>\n\x18sp_dataframe_with_column\x18\x36 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12M\n sp_dataframe_with_column_renamed\x18\x37 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12@\n\x19sp_dataframe_with_columns\x18\x38 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x33\n\x12sp_dataframe_write\x18\x39 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12$\n\nsp_flatten\x18: \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12(\n\x0csp_generator\x18; \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12 \n\x08sp_range\x18< \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12\'\n\x0csp_read_avro\x18= \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12%\n\x0bsp_read_csv\x18> \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12\'\n\x0csp_read_json\x18? \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12%\n\x0bsp_read_orc\x18@ \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12-\n\x0fsp_read_parquet\x18\x41 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12)\n\rsp_read_table\x18\x42 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12%\n\x0bsp_read_xml\x18\x43 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12S\n#sp_relational_grouped_dataframe_agg\x18\x44 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12i\n/sp_relational_grouped_dataframe_apply_in_pandas\x18\x45 \x01(\x0b\x32..ast.SpRelationalGroupedDataframeApplyInPandasH\x00\x12[\n\'sp_relational_grouped_dataframe_builtin\x18\x46 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12W\n%sp_relational_grouped_dataframe_pivot\x18G \x01(\x0b\x32&.ast.SpRelationalGroupedDataframePivotH\x00\x12@\n\x19sp_session_table_function\x18H \x01(\x0b\x32\x1b.ast.SpSessionTableFunctionH\x00\x12\x1c\n\x06sp_sql\x18I \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x35\n\x13sp_stored_procedure\x18J \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12 \n\x08sp_table\x18K \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12-\n\x0fsp_table_delete\x18L \x01(\x0b\x32\x12.ast.SpTableDeleteH\x00\x12\x34\n\x13sp_table_drop_table\x18M \x01(\x0b\x32\x15.ast.SpTableDropTableH\x00\x12+\n\x0esp_table_merge\x18N \x01(\x0b\x32\x11.ast.SpTableMergeH\x00\x12-\n\x0fsp_table_sample\x18O \x01(\x0b\x32\x12.ast.SpTableSampleH\x00\x12-\n\x0fsp_table_update\x18P \x01(\x0b\x32\x12.ast.SpTableUpdateH\x00\x12-\n\x0fsp_write_pandas\x18Q \x01(\x0b\x32\x12.ast.SpWritePandasH\x00\x42\t\n\x07variant"G\n\x0eSpDataframeRef\x12\x16\n\x02id\x18\x01 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"H\n\x0fSpDataframeShow\x12\x16\n\x02id\x18\x01 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x8c\x01\n\x10SpDataframeCount\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x16\n\x02id\x18\x02 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x04 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xd1\x01\n\x12SpDataframeCollect\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x16\n\x0e\x63\x61se_sensitive\x18\x02 \x01(\x08\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12\x18\n\x10log_on_exception\x18\x04 \x01(\x08\x12\x0f\n\x07no_wait\x18\x05 \x01(\x08\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x07 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xae\x01\n\x1aSpDataframeToLocalIterator\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x16\n\x0e\x63\x61se_sensitive\x18\x02 \x01(\x08\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String"~\n\x11SpCreateDataframe\x12"\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeData\x12&\n\x06schema\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeSchema\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x80\x03\n\rSpWritePandas\x12\x19\n\x11\x61uto_create_table\x18\x01 \x01(\x08\x12/\n\nchunk_size\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x13\n\x0b\x63ompression\x18\x03 \x01(\t\x12\x19\n\x11\x63reate_temp_table\x18\x04 \x01(\x08\x12 \n\x02\x64\x66\x18\x05 \x01(\x0b\x32\x14.ast.SpDataframeData\x12&\n\x06kwargs\x18\x06 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x10\n\x08on_error\x18\x07 \x01(\t\x12\x11\n\toverwrite\x18\x08 \x01(\x08\x12\x10\n\x08parallel\x18\t \x01(\x03\x12\x19\n\x11quote_identifiers\x18\n \x01(\x08\x12\x1d\n\x03src\x18\x0b \x01(\x0b\x32\x10.ast.SrcPosition\x12$\n\ntable_name\x18\x0c \x01(\x0b\x32\x10.ast.SpTableName\x12\x12\n\ntable_type\x18\r \x01(\t"\xb4\x01\n\tSpFlatten\x12\x18\n\x05input\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x04mode\x18\x02 \x01(\x0b\x32\x12.ast.SpFlattenMode\x12\r\n\x05outer\x18\x03 \x01(\x08\x12*\n\x04path\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x11\n\trecursive\x18\x05 \x01(\x08\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition"\x89\x01\n\x0bSpGenerator\x12\x1a\n\x07\x63olumns\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x11\n\trow_count\x18\x02 \x01(\x03\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1a\n\x12time_limit_seconds\x18\x04 \x01(\x03\x12\x10\n\x08variadic\x18\x05 \x01(\x08"\x8c\x01\n\x07SpRange\x12(\n\x03\x65nd\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\r\n\x05start\x18\x03 \x01(\x03\x12)\n\x04step\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value"P\n\x05SpSql\x12\x19\n\x06params\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\r\n\x05query\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"s\n\x11SpStoredProcedure\x12\x1c\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x0e.ast.SpVariant\x12\x0f\n\x07sp_name\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"\x91\x01\n\x07SpTable\x12!\n\x19is_temp_table_for_cleanup\x18\x01 \x01(\x08\x12\x1e\n\x04name\x18\x02 \x01(\x0b\x32\x10.ast.SpTableName\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12$\n\x07variant\x18\x04 \x01(\x0b\x32\x13.ast.SpTableVariant"N\n\x16SpSessionTableFunction\x12\x15\n\x02\x66n\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x8f\x01\n\x13SpDataframeToPandas\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x16\n\x02id\x18\x02 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x04 \x03(\x0b\x32\x18.ast.Tuple_String_String"\x96\x01\n\x1aSpDataframeToPandasBatches\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x16\n\x02id\x18\x02 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x04 \x03(\x0b\x32\x18.ast.Tuple_String_String"w\n\x0fSpDataframeToDf\x12\x11\n\tcol_names\x18\x01 \x03(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"\x87\x01\n\x17SpDataframeNaDrop_Scala\x12\x0c\n\x04\x63ols\x18\x01 \x03(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x15min_non_nulls_per_row\x18\x03 \x01(\x03\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\xb7\x01\n\x18SpDataframeNaDrop_Python\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x0b\n\x03how\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12 \n\x06subset\x18\x04 \x01(\x0b\x32\x10.ast.List_String\x12+\n\x06thresh\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64Value"\xb9\x01\n\x11SpDataframeNaFill\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12 \n\x06subset\x18\x03 \x01(\x0b\x32\x10.ast.List_String\x12\x18\n\x05value\x18\x04 \x01(\x0b\x32\t.ast.Expr\x12\'\n\tvalue_map\x18\x05 \x01(\x0b\x32\x14.ast.Map_String_Expr"\xae\x02\n\x14SpDataframeNaReplace\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12+\n\x0freplacement_map\x18\x02 \x01(\x0b\x32\x12.ast.Map_Expr_Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12 \n\x06subset\x18\x04 \x01(\x0b\x32\x10.ast.List_String\x12\'\n\x0fto_replace_list\x18\x05 \x01(\x0b\x32\x0e.ast.List_Expr\x12#\n\x10to_replace_value\x18\x06 \x01(\x0b\x32\t.ast.Expr\x12\x18\n\x05value\x18\x07 \x01(\x0b\x32\t.ast.Expr\x12\x1e\n\x06values\x18\x08 \x01(\x0b\x32\x0e.ast.List_Expr"r\n\x0eSpDataframeAgg\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1f\n\x05\x65xprs\x18\x02 \x01(\x0b\x32\x10.ast.ExprArgList\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"a\n\x10SpDataframeAlias\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"e\n\x10SpDataframeApply\x12\x10\n\x08\x63ol_name\x18\x01 \x01(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"c\n\x0eSpDataframeCol\x12\x10\n\x08\x63ol_name\x18\x01 \x01(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xd9\x01\n\x14SpDataframeCrossJoin\x12!\n\x03lhs\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12-\n\x07lsuffix\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12!\n\x03rhs\x18\x03 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12-\n\x07rsuffix\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition"r\n\x0fSpDataframeCube\x12\x1e\n\x04\x63ols\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"v\n\x13SpDataframeDescribe\x12\x1e\n\x04\x63ols\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"V\n\x13SpDataframeDistinct\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"r\n\x0fSpDataframeDrop\x12\x1e\n\x04\x63ols\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"|\n\x19SpDataframeDropDuplicates\x12\x0c\n\x04\x63ols\x18\x01 \x03(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"y\n\x11SpDataframeExcept\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12#\n\x05other\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"r\n\x11SpDataframeFilter\x12\x1c\n\tcondition\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xdf\x01\n\x12SpDataframeFlatten\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x18\n\x05input\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12 \n\x04mode\x18\x03 \x01(\x0b\x32\x12.ast.SpFlattenMode\x12\r\n\x05outer\x18\x04 \x01(\x08\x12*\n\x04path\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x11\n\trecursive\x18\x06 \x01(\x08\x12\x1d\n\x03src\x18\x07 \x01(\x0b\x32\x10.ast.SrcPosition"\xa3\x01\n\x10SpDataframeFirst\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x0b\n\x03num\x18\x03 \x01(\x03\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String"\x90\x01\n\x1aSpDataframeGroupBy_Columns\x12\x1f\n\x04\x63ols\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"}\n\x1aSpDataframeGroupBy_Strings\x12\x0c\n\x04\x63ols\x18\x01 \x03(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"u\n\x12SpDataframeGroupBy\x12\x1e\n\x04\x63ols\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"|\n\x14SpDataframeIntersect\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12#\n\x05other\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xba\x02\n\x0fSpDataframeJoin\x12\x1c\n\tjoin_expr\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12"\n\tjoin_type\x18\x02 \x01(\x0b\x32\x0f.ast.SpJoinType\x12!\n\x03lhs\x18\x03 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12-\n\x07lsuffix\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12"\n\x0fmatch_condition\x18\x05 \x01(\x0b\x32\t.ast.Expr\x12!\n\x03rhs\x18\x06 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12-\n\x07rsuffix\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x03src\x18\x08 \x01(\x0b\x32\x10.ast.SrcPosition"w\n\x1cSpDataframeJoinTableFunction\x12\x15\n\x02\x66n\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12!\n\x03lhs\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xd8\x01\n#SpDataframeJoin_Dataframe_JoinExprs\x12(\n\njoin_exprs\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12"\n\tjoin_type\x18\x02 \x01(\x0b\x32\x0f.ast.SpJoinType\x12!\n\x03lhs\x18\x03 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12!\n\x03rhs\x18\x04 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition"\xec\x01\n&SpDataframeJoin_Dataframe_UsingColumns\x12"\n\tjoin_type\x18\x01 \x01(\x0b\x32\x0f.ast.SpJoinType\x12!\n\x03lhs\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12!\n\x03rhs\x18\x03 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\'\n\rusing_columns\x18\x05 \x01(\x0b\x32\x10.ast.List_String\x12\x10\n\x08variadic\x18\x06 \x01(\x08"n\n\x10SpDataframeLimit\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\t\n\x01n\x18\x02 \x01(\x03\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\xa1\x01\n\x16SpDataframeNaturalJoin\x12"\n\tjoin_type\x18\x01 \x01(\x0b\x32\x0f.ast.SpJoinType\x12!\n\x03lhs\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12!\n\x03rhs\x18\x03 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\xb8\x01\n\x10SpDataframePivot\x12"\n\x0f\x64\x65\x66\x61ult_on_null\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1c\n\tpivot_col\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12!\n\x06values\x18\x05 \x01(\x0b\x32\x11.ast.SpPivotValue"\xa0\x01\n\x12SpDataframeUnpivot\x12\x1e\n\x0b\x63olumn_list\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x13\n\x0bname_column\x18\x03 \x01(\t\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x14\n\x0cvalue_column\x18\x05 \x01(\t"\xc9\x01\n\x16SpDataframeRandomSplit\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12)\n\x04seed\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x04 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0f\n\x07weights\x18\x05 \x03(\x01"\xa8\x01\n\x11SpDataframeRename\x12 \n\rcol_or_mapper\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x30\n\nnew_column\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\x8f\x01\n\x19SpDataframeRollup_Columns\x12\x1f\n\x04\x63ols\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"|\n\x19SpDataframeRollup_Strings\x12\x0c\n\x04\x63ols\x18\x01 \x03(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"t\n\x11SpDataframeRollup\x12\x1e\n\x04\x63ols\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xba\x01\n\x11SpDataframeSample\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12(\n\x03num\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12:\n\x14probability_fraction\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\x87\x01\n\x19SpDataframeSelect_Columns\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"{\n\x17SpDataframeSelect_Exprs\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\r\n\x05\x65xprs\x18\x02 \x03(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"\xa0\x01\n\x0fSpDataframeSort\x12\x1c\n\tascending\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04\x63ols\x18\x02 \x03(\x0b\x32\t.ast.Expr\x12\x15\n\rcols_variadic\x18\x03 \x01(\x08\x12 \n\x02\x64\x66\x18\x04 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition"x\n\x10SpDataframeUnion\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12#\n\x05other\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"{\n\x13SpDataframeUnionAll\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12#\n\x05other\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x81\x01\n\x19SpDataframeUnionAllByName\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12#\n\x05other\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"~\n\x16SpDataframeUnionByName\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12#\n\x05other\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"y\n\x10SpDataframeWhere\x12$\n\tcondition\x18\x01 \x01(\x0b\x32\x11.ast.SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x82\x01\n\x15SpDataframeWithColumn\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x10\n\x08\x63ol_name\x18\x02 \x01(\t\x12 \n\x02\x64\x66\x18\x03 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\x89\x01\n\x1cSpDataframeWithColumnRenamed\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x10\n\x08new_name\x18\x03 \x01(\t\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\x87\x01\n\x16SpDataframeWithColumns\x12\x11\n\tcol_names\x18\x01 \x03(\t\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x19\n\x06values\x18\x04 \x03(\x0b\x32\t.ast.Expr"\x9f\x01\n\x1eSpDataframeGroupByGroupingSets\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12*\n\rgrouping_sets\x18\x02 \x03(\x0b\x32\x13.ast.SpGroupingSets\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"O\n\x0eSpGroupingSets\x12\x1e\n\x04sets\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\xe4\x01\n\x1dSpDataframeAnalyticsMovingAgg\x12+\n\x04\x61ggs\x18\x01 \x03(\x0b\x32\x1d.ast.Tuple_String_List_String\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1b\n\x13\x66ormatted_col_names\x18\x03 \x03(\t\x12\x10\n\x08group_by\x18\x04 \x03(\t\x12\x10\n\x08order_by\x18\x05 \x03(\t\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x14\n\x0cwindow_sizes\x18\x07 \x03(\x03"\xe6\x01\n!SpDataframeAnalyticsCumulativeAgg\x12+\n\x04\x61ggs\x18\x01 \x03(\x0b\x32\x1d.ast.Tuple_String_List_String\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1b\n\x13\x66ormatted_col_names\x18\x03 \x03(\t\x12\x10\n\x08group_by\x18\x04 \x03(\t\x12\x12\n\nis_forward\x18\x05 \x01(\x08\x12\x10\n\x08order_by\x18\x06 \x03(\t\x12\x1d\n\x03src\x18\x07 \x01(\x0b\x32\x10.ast.SrcPosition"\xc9\x01\n\x1eSpDataframeAnalyticsComputeLag\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1b\n\x13\x66ormatted_col_names\x18\x03 \x03(\t\x12\x10\n\x08group_by\x18\x04 \x03(\t\x12\x0c\n\x04lags\x18\x05 \x03(\x03\x12\x10\n\x08order_by\x18\x06 \x03(\t\x12\x1d\n\x03src\x18\x07 \x01(\x0b\x32\x10.ast.SrcPosition"\xcb\x01\n\x1fSpDataframeAnalyticsComputeLead\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1b\n\x13\x66ormatted_col_names\x18\x03 \x03(\t\x12\x10\n\x08group_by\x18\x04 \x03(\t\x12\r\n\x05leads\x18\x05 \x03(\x03\x12\x10\n\x08order_by\x18\x06 \x03(\t\x12\x1d\n\x03src\x18\x07 \x01(\x0b\x32\x10.ast.SrcPosition"\xfd\x01\n!SpDataframeAnalyticsTimeSeriesAgg\x12+\n\x04\x61ggs\x18\x01 \x03(\x0b\x32\x1d.ast.Tuple_String_List_String\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1b\n\x13\x66ormatted_col_names\x18\x03 \x03(\t\x12\x10\n\x08group_by\x18\x04 \x03(\t\x12\x18\n\x10sliding_interval\x18\x05 \x01(\t\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08time_col\x18\x07 \x01(\t\x12\x0f\n\x07windows\x18\x08 \x03(\t"\x9f\x02\n\x0fSpMatchedClause\x12R\n#sp_merge_delete_when_matched_clause\x18\x01 \x01(\x0b\x32#.ast.SpMergeDeleteWhenMatchedClauseH\x00\x12Y\n\'sp_merge_insert_when_not_matched_clause\x18\x02 \x01(\x0b\x32&.ast.SpMergeInsertWhenNotMatchedClauseH\x00\x12R\n#sp_merge_update_when_matched_clause\x18\x03 \x01(\x0b\x32#.ast.SpMergeUpdateWhenMatchedClauseH\x00\x42\t\n\x07variant"\x8d\x01\n\x1eSpMergeUpdateWhenMatchedClause\x12\x1c\n\tcondition\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12.\n\x12update_assignments\x18\x03 \x01(\x0b\x32\x12.ast.Map_Expr_Expr"]\n\x1eSpMergeDeleteWhenMatchedClause\x12\x1c\n\tcondition\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\xac\x01\n!SpMergeInsertWhenNotMatchedClause\x12\x1c\n\tcondition\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12#\n\x0binsert_keys\x18\x02 \x01(\x0b\x32\x0e.ast.List_Expr\x12%\n\rinsert_values\x18\x03 \x01(\x0b\x32\x0e.ast.List_Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\xcd\x01\n\rSpTableDelete\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x1c\n\tcondition\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12$\n\x06source\x18\x04 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x06 \x03(\x0b\x32\x18.ast.Tuple_String_String"I\n\x10SpTableDropTable\x12\x16\n\x02id\x18\x01 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\xf3\x01\n\x0cSpTableMerge\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12%\n\x07\x63lauses\x18\x02 \x03(\x0b\x32\x14.ast.SpMatchedClause\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12\x1c\n\tjoin_expr\x18\x04 \x01(\x0b\x32\t.ast.Expr\x12$\n\x06source\x18\x05 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x07 \x03(\x0b\x32\x18.ast.Tuple_String_String"\x98\x02\n\rSpTableSample\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12(\n\x03num\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12:\n\x14probability_fraction\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x35\n\x0fsampling_method\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x04seed\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition"\xfa\x01\n\rSpTableUpdate\x12+\n\x0b\x61ssignments\x18\x01 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\r\n\x05\x62lock\x18\x02 \x01(\x08\x12\x1c\n\tcondition\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x02id\x18\x04 \x01(\x0b\x32\n.ast.VarId\x12$\n\x06source\x18\x05 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x07 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xfd\x02\n\x11SpDataframeReader\x12>\n\x18sp_dataframe_reader_init\x18\x01 \x01(\x0b\x32\x1a.ast.SpDataframeReaderInitH\x00\x12\x42\n\x1asp_dataframe_reader_option\x18\x02 \x01(\x0b\x32\x1c.ast.SpDataframeReaderOptionH\x00\x12\x44\n\x1bsp_dataframe_reader_options\x18\x03 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12\x42\n\x1asp_dataframe_reader_schema\x18\x04 \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12O\n!sp_dataframe_reader_with_metadata\x18\x05 \x01(\x0b\x32".ast.SpDataframeReaderWithMetadataH\x00\x42\t\n\x07variant"6\n\x15SpDataframeReaderInit\x12\x1d\n\x03src\x18\x01 \x01(\x0b\x32\x10.ast.SrcPosition"\x87\x01\n\x17SpDataframeReaderOption\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x18\n\x05value\x18\x04 \x01(\x0b\x32\t.ast.Expr"\x8a\x01\n\x18SpDataframeReaderOptions\x12\'\n\x07\x63onfigs\x18\x01 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x83\x01\n\x17SpDataframeReaderSchema\x12&\n\x06reader\x18\x01 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12!\n\x06schema\x18\x02 \x01(\x0b\x32\x11.ast.SpStructType\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x92\x01\n\x1dSpDataframeReaderWithMetadata\x12*\n\x10metadata_columns\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"t\n\x0bSpReadTable\x12\x1e\n\x04name\x18\x01 \x01(\x0b\x32\x10.ast.SpTableName\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"`\n\tSpReadCsv\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"a\n\nSpReadJson\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"a\n\nSpReadAvro\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"`\n\tSpReadOrc\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"d\n\rSpReadParquet\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"`\n\tSpReadXml\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x06reader\x18\x02 \x01(\x0b\x32\x16.ast.SpDataframeReader\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xe1\x03\n\x11SpDataframeWriter\x12J\n!trait_sp_dataframe_writer_options\x18\x01 \x01(\x0b\x32\x1d.ast.SpDataframeWriterOptionsH\x00\x12M\n#trait_sp_dataframe_writer_save_mode\x18\x02 \x01(\x0b\x32\x1e.ast.SpDataframeWriterSaveModeH\x00\x12/\n\x13trait_sp_write_file\x18\x03 \x01(\x0b\x32\x10.ast.SpWriteFileH\x00\x12\x43\n\x1bsp_write_copy_into_location\x18\x04 \x01(\x0b\x32\x1c.ast.SpWriteCopyIntoLocationH\x00\x12\'\n\x0csp_write_csv\x18\x05 \x01(\x0b\x32\x0f.ast.SpWriteCsvH\x00\x12)\n\rsp_write_json\x18\x06 \x01(\x0b\x32\x10.ast.SpWriteJsonH\x00\x12/\n\x10sp_write_parquet\x18\x07 \x01(\x0b\x32\x13.ast.SpWriteParquetH\x00\x12+\n\x0esp_write_table\x18\x08 \x01(\x0b\x32\x11.ast.SpWriteTableH\x00\x42\t\n\x07variant"7\n\x19SpDataframeWriterSaveMode\x12\x0f\n\x05\x64ummy\x18\x01 \x01(\x08H\x00\x42\t\n\x07variant"6\n\x18SpDataframeWriterOptions\x12\x0f\n\x05\x64ummy\x18\x01 \x01(\x08H\x00\x42\t\n\x07variant"w\n\x10SpDataframeWrite\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12"\n\tsave_mode\x18\x02 \x01(\x0b\x32\x0f.ast.SpSaveMode\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xe2\x01\n\x0bSpWriteFile\x12\x43\n\x1bsp_write_copy_into_location\x18\x01 \x01(\x0b\x32\x1c.ast.SpWriteCopyIntoLocationH\x00\x12\'\n\x0csp_write_csv\x18\x02 \x01(\x0b\x32\x0f.ast.SpWriteCsvH\x00\x12)\n\rsp_write_json\x18\x03 \x01(\x0b\x32\x10.ast.SpWriteJsonH\x00\x12/\n\x10sp_write_parquet\x18\x04 \x01(\x0b\x32\x13.ast.SpWriteParquetH\x00\x42\t\n\x07variant"\xae\x02\n\nSpWriteCsv\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12,\n\x0c\x63opy_options\x18\x02 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x35\n\x13\x66ormat_type_options\x18\x03 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06header\x18\x04 \x01(\x08\x12\x16\n\x02id\x18\x05 \x01(\x0b\x32\n.ast.VarId\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x1f\n\x0cpartition_by\x18\x07 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x08 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\t \x03(\x0b\x32\x18.ast.Tuple_String_String"\xaf\x02\n\x0bSpWriteJson\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12,\n\x0c\x63opy_options\x18\x02 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x35\n\x13\x66ormat_type_options\x18\x03 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06header\x18\x04 \x01(\x08\x12\x16\n\x02id\x18\x05 \x01(\x0b\x32\n.ast.VarId\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x1f\n\x0cpartition_by\x18\x07 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x08 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\t \x03(\x0b\x32\x18.ast.Tuple_String_String"\xb2\x02\n\x0eSpWriteParquet\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12,\n\x0c\x63opy_options\x18\x02 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x35\n\x13\x66ormat_type_options\x18\x03 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06header\x18\x04 \x01(\x08\x12\x16\n\x02id\x18\x05 \x01(\x0b\x32\n.ast.VarId\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x1f\n\x0cpartition_by\x18\x07 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x08 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\t \x03(\x0b\x32\x18.ast.Tuple_String_String"\x9b\x05\n\x0cSpWriteTable\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\x33\n\x0f\x63hange_tracking\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\'\n\x0f\x63lustering_keys\x18\x03 \x01(\x0b\x32\x0e.ast.List_Expr\x12\x14\n\x0c\x63olumn_order\x18\x04 \x01(\t\x12-\n\x07\x63omment\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x13\n\x0b\x63opy_grants\x18\x06 \x01(\x08\x12\x19\n\x11\x63reate_temp_table\x18\x07 \x01(\x08\x12\x38\n\x13\x64\x61ta_retention_time\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12;\n\x17\x65nable_schema_evolution\x18\t \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\x0eiceberg_config\x18\n \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x16\n\x02id\x18\x0b \x01(\x0b\x32\n.ast.VarId\x12<\n\x17max_data_extension_time\x18\x0c \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1d\n\x04mode\x18\r \x01(\x0b\x32\x0f.ast.SpSaveMode\x12\x1d\n\x03src\x18\x0e \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x0f \x03(\x0b\x32\x18.ast.Tuple_String_String\x12$\n\ntable_name\x18\x10 \x01(\x0b\x32\x10.ast.SpTableName\x12\x12\n\ntable_type\x18\x11 \x01(\t"\xab\x03\n\x17SpWriteCopyIntoLocation\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12,\n\x0c\x63opy_options\x18\x02 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x36\n\x10\x66ile_format_name\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10\x66ile_format_type\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x13\x66ormat_type_options\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x0e\n\x06header\x18\x06 \x01(\x08\x12\x16\n\x02id\x18\x07 \x01(\x0b\x32\n.ast.VarId\x12\x10\n\x08location\x18\x08 \x01(\t\x12\x1f\n\x0cpartition_by\x18\t \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\n \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x0b \x03(\x0b\x32\x18.ast.Tuple_String_String"\xe3\x01\n\x1eSpDataframeCreateOrReplaceView\x12-\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x0f\n\x07is_temp\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x03(\t\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x06 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xb6\x04\n&SpDataframeCreateOrReplaceDynamicTable\x12\'\n\x0f\x63lustering_keys\x18\x01 \x01(\x0b\x32\x0e.ast.List_Expr\x12-\n\x07\x63omment\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x13\x64\x61ta_retention_time\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12 \n\x02\x64\x66\x18\x04 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x30\n\ninitialize\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x14\n\x0cis_transient\x18\x06 \x01(\x08\x12\x0b\n\x03lag\x18\x07 \x01(\t\x12<\n\x17max_data_extension_time\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1d\n\x04mode\x18\t \x01(\x0b\x32\x0f.ast.SpSaveMode\x12\x0c\n\x04name\x18\n \x03(\t\x12\x32\n\x0crefresh_mode\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x03src\x18\x0c \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\r \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x11\n\twarehouse\x18\x0e \x01(\t"\xe9\x03\n\x18SpDataframeCopyIntoTable\x12,\n\x0c\x63opy_options\x18\x01 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\r\n\x05\x66iles\x18\x03 \x03(\t\x12\x33\n\x13\x66ormat_type_options\x18\x04 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12\x30\n\x0eiceberg_config\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12-\n\x07pattern\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x03src\x18\x07 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x08 \x03(\x0b\x32\x18.ast.Tuple_String_String\x12\x12\n\ntable_name\x18\t \x03(\t\x12\x16\n\x0etarget_columns\x18\n \x03(\t\x12"\n\x0ftransformations\x18\x0b \x03(\x0b\x32\t.ast.Expr\x12\x35\n\x0fvalidation_mode\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue"\x8d\x01\n\x16SpDataframeCacheResult\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x03 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xb7\x01\n\x1dSpDataframeStatApproxQuantile\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x16\n\x02id\x18\x02 \x01(\x0b\x32\n.ast.VarId\x12\x12\n\npercentile\x18\x03 \x03(\x01\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xb2\x01\n\x13SpDataframeStatCorr\x12\x17\n\x04\x63ol1\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04\x63ol2\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xb1\x01\n\x12SpDataframeStatCov\x12\x17\n\x04\x63ol1\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04\x63ol2\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String"\xb6\x01\n\x17SpDataframeStatCrossTab\x12\x17\n\x04\x63ol1\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x17\n\x04\x63ol2\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x16\n\x02id\x18\x03 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x32\n\x10statement_params\x18\x05 \x03(\x0b\x32\x18.ast.Tuple_String_String"\x9c\x01\n\x17SpDataframeStatSampleBy\x12\x16\n\x03\x63ol\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12(\n\tfractions\x18\x03 \x03(\x0b\x32\x15.ast.Tuple_Expr_Float\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\xd5\x05\n SpRelationalGroupedDataframeExpr\x12\x31\n\x11sp_dataframe_cube\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x38\n\x15sp_dataframe_group_by\x18\x02 \x01(\x0b\x32\x17.ast.SpDataframeGroupByH\x00\x12R\n#sp_dataframe_group_by_grouping_sets\x18\x03 \x01(\x0b\x32#.ast.SpDataframeGroupByGroupingSetsH\x00\x12I\n\x1esp_dataframe_group_by__columns\x18\x04 \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_ColumnsH\x00\x12I\n\x1esp_dataframe_group_by__strings\x18\x05 \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_StringsH\x00\x12\x33\n\x12sp_dataframe_pivot\x18\x06 \x01(\x0b\x32\x15.ast.SpDataframePivotH\x00\x12\x35\n\x13sp_dataframe_rollup\x18\x07 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12\x46\n\x1csp_dataframe_rollup__columns\x18\x08 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12\x46\n\x1csp_dataframe_rollup__strings\x18\t \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12S\n#sp_relational_grouped_dataframe_ref\x18\n \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x42\t\n\x07variant"X\n\x1fSpRelationalGroupedDataframeRef\x12\x16\n\x02id\x18\x01 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x9c\x01\n\x1fSpRelationalGroupedDataframeAgg\x12\x1f\n\x05\x65xprs\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xb1\x01\n#SpRelationalGroupedDataframeBuiltin\x12\x10\n\x08\x61gg_name\x18\x01 \x01(\t\x12\x1e\n\x04\x63ols\x18\x02 \x01(\x0b\x32\x10.ast.ExprArgList\x12\x39\n\ngrouped_df\x18\x03 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"\xf6\x01\n)SpRelationalGroupedDataframeApplyInPandas\x12\x1d\n\x04\x66unc\x18\x01 \x01(\x0b\x32\x0f.ast.SpCallable\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12&\n\x06kwargs\x18\x03 \x03(\x0b\x32\x16.ast.Tuple_String_Expr\x12(\n\routput_schema\x18\x04 \x01(\x0b\x32\x11.ast.SpStructType\x12\x1d\n\x03src\x18\x05 \x01(\x0b\x32\x10.ast.SrcPosition"\xe2\x01\n!SpRelationalGroupedDataframePivot\x12"\n\x0f\x64\x65\x66\x61ult_on_null\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1c\n\tpivot_col\x18\x03 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12!\n\x06values\x18\x05 \x01(\x0b\x32\x11.ast.SpPivotValue"^\n\x05SpRow\x12\x1f\n\x05names\x18\x01 \x01(\x0b\x32\x10.ast.List_String\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x15\n\x02vs\x18\x03 \x03(\x0b\x32\t.ast.Expr"8\n\x0b\x45xprArgList\x12\x17\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x10\n\x08variadic\x18\x02 \x01(\x08"\x88\x01\n\x11SpTableFnCallOver\x12\x16\n\x03lhs\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12\x1b\n\x08order_by\x18\x02 \x03(\x0b\x32\t.ast.Expr\x12\x1f\n\x0cpartition_by\x18\x03 \x03(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"n\n\x12SpTableFnCallAlias\x12!\n\x07\x61liases\x18\x01 \x01(\x0b\x32\x10.ast.ExprArgList\x12\x16\n\x03lhs\x18\x02 \x01(\x0b\x32\t.ast.Expr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition":\n\x0fSpDataframeType\x12\x0f\n\x07\x63olumns\x18\x01 \x03(\t\x12\x16\n\x03tys\x18\x02 \x03(\x0b\x32\t.ast.Type"F\n\x16SpGroupedDataframeType\x12\x15\n\rinner_columns\x18\x01 \x03(\t\x12\x15\n\router_columns\x18\x02 \x03(\t"\x0e\n\x0cSpWindowType"\'\n\rSpColExprType\x12\x16\n\x03typ\x18\x01 \x01(\x0b\x32\t.ast.Type"\x9e`\n\x0eHasSrcPosition\x12"\n\x0ctrait_bin_op\x18\x01 \x01(\x0b\x32\n.ast.BinOpH\x00\x12!\n\x0btrait_const\x18\x02 \x01(\x0b\x32\n.ast.ConstH\x00\x12\x1f\n\ntrait_expr\x18\x03 \x01(\x0b\x32\t.ast.ExprH\x00\x12\x30\n\x14trait_fn_id_ref_expr\x18\x04 \x01(\x0b\x32\x10.ast.FnIdRefExprH\x00\x12\x34\n\x16trait_fn_name_ref_expr\x18\x05 \x01(\x0b\x32\x12.ast.FnNameRefExprH\x00\x12+\n\x11trait_fn_ref_expr\x18\x06 \x01(\x0b\x32\x0e.ast.FnRefExprH\x00\x12\x31\n\x14trait_sp_column_expr\x18\x07 \x01(\x0b\x32\x11.ast.SpColumnExprH\x00\x12-\n\x12trait_sp_column_fn\x18\x08 \x01(\x0b\x32\x0f.ast.SpColumnFnH\x00\x12\x37\n\x17trait_sp_dataframe_expr\x18\t \x01(\x0b\x32\x14.ast.SpDataframeExprH\x00\x12;\n\x19trait_sp_dataframe_reader\x18\n \x01(\x0b\x32\x16.ast.SpDataframeReaderH\x00\x12;\n\x19trait_sp_dataframe_writer\x18\x0b \x01(\x0b\x32\x16.ast.SpDataframeWriterH\x00\x12J\n!trait_sp_dataframe_writer_options\x18\x0c \x01(\x0b\x32\x1d.ast.SpDataframeWriterOptionsH\x00\x12M\n#trait_sp_dataframe_writer_save_mode\x18\r \x01(\x0b\x32\x1e.ast.SpDataframeWriterSaveModeH\x00\x12\x37\n\x17trait_sp_matched_clause\x18\x0e \x01(\x0b\x32\x14.ast.SpMatchedClauseH\x00\x12[\n*trait_sp_relational_grouped_dataframe_expr\x18\x0f \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExprH\x00\x12:\n\x19trait_sp_window_spec_expr\x18\x10 \x01(\x0b\x32\x15.ast.SpWindowSpecExprH\x00\x12/\n\x13trait_sp_write_file\x18\x11 \x01(\x0b\x32\x10.ast.SpWriteFileH\x00\x12&\n\x0etrait_unary_op\x18\x12 \x01(\x0b\x32\x0c.ast.UnaryOpH\x00\x12\x17\n\x03\x61\x64\x64\x18\x13 \x01(\x0b\x32\x08.ast.AddH\x00\x12\x17\n\x03\x61nd\x18\x14 \x01(\x0b\x32\x08.ast.AndH\x00\x12$\n\napply_expr\x18\x15 \x01(\x0b\x32\x0e.ast.ApplyExprH\x00\x12-\n\x0f\x62ig_decimal_val\x18\x16 \x01(\x0b\x32\x12.ast.BigDecimalValH\x00\x12%\n\x0b\x62ig_int_val\x18\x17 \x01(\x0b\x32\x0e.ast.BigIntValH\x00\x12$\n\nbinary_val\x18\x18 \x01(\x0b\x32\x0e.ast.BinaryValH\x00\x12\x1e\n\x07\x62it_and\x18\x19 \x01(\x0b\x32\x0b.ast.BitAndH\x00\x12\x1c\n\x06\x62it_or\x18\x1a \x01(\x0b\x32\n.ast.BitOrH\x00\x12\x1e\n\x07\x62it_xor\x18\x1b \x01(\x0b\x32\x0b.ast.BitXorH\x00\x12 \n\x08\x62ool_val\x18\x1c \x01(\x0b\x32\x0c.ast.BoolValH\x00\x12$\n\nbuiltin_fn\x18\x1d \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12>\n\x18\x63\x61ll_table_function_expr\x18\x1e \x01(\x0b\x32\x1a.ast.CallTableFunctionExprH\x00\x12"\n\tcast_expr\x18\x1f \x01(\x0b\x32\r.ast.CastExprH\x00\x12 \n\x08\x64\x61te_val\x18 \x01(\x0b\x32\x0c.ast.DateValH\x00\x12\x17\n\x03\x64iv\x18! \x01(\x0b\x32\x08.ast.DivH\x00\x12\x15\n\x02\x65q\x18" \x01(\x0b\x32\x07.ast.EqH\x00\x12&\n\x0b\x66loat64_val\x18# \x01(\x0b\x32\x0f.ast.Float64ValH\x00\x12\x1c\n\x06\x66n_val\x18$ \x01(\x0b\x32\n.ast.FnValH\x00\x12\x17\n\x03geq\x18% \x01(\x0b\x32\x08.ast.GeqH\x00\x12\x15\n\x02gt\x18& \x01(\x0b\x32\x07.ast.GtH\x00\x12\x1e\n\x07if_expr\x18\' \x01(\x0b\x32\x0b.ast.IfExprH\x00\x12=\n\x18indirect_table_fn_id_ref\x18( \x01(\x0b\x32\x19.ast.IndirectTableFnIdRefH\x00\x12\x41\n\x1aindirect_table_fn_name_ref\x18) \x01(\x0b\x32\x1b.ast.IndirectTableFnNameRefH\x00\x12"\n\tint32_val\x18* \x01(\x0b\x32\r.ast.Int32ValH\x00\x12"\n\tint64_val\x18+ \x01(\x0b\x32\r.ast.Int64ValH\x00\x12\x17\n\x03leq\x18, \x01(\x0b\x32\x08.ast.LeqH\x00\x12 \n\x08list_val\x18- \x01(\x0b\x32\x0c.ast.ListValH\x00\x12\x15\n\x02lt\x18. \x01(\x0b\x32\x07.ast.LtH\x00\x12\x17\n\x03mod\x18/ \x01(\x0b\x32\x08.ast.ModH\x00\x12\x17\n\x03mul\x18\x30 \x01(\x0b\x32\x08.ast.MulH\x00\x12\x17\n\x03neg\x18\x31 \x01(\x0b\x32\x08.ast.NegH\x00\x12\x17\n\x03neq\x18\x32 \x01(\x0b\x32\x08.ast.NeqH\x00\x12 \n\x08none_val\x18\x33 \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12\x17\n\x03not\x18\x34 \x01(\x0b\x32\x08.ast.NotH\x00\x12 \n\x08null_val\x18\x35 \x01(\x0b\x32\x0c.ast.NullValH\x00\x12-\n\x0fobject_get_item\x18\x36 \x01(\x0b\x32\x12.ast.ObjectGetItemH\x00\x12\x15\n\x02or\x18\x37 \x01(\x0b\x32\x07.ast.OrH\x00\x12(\n\x0cpd_dataframe\x18\x38 \x01(\x0b\x32\x10.ast.PdDataframeH\x00\x12\x38\n\x15pd_dataframe_get_item\x18\x39 \x01(\x0b\x32\x17.ast.PdDataframeGetItemH\x00\x12\x32\n\x12pd_dataframe_i_loc\x18: \x01(\x0b\x32\x14.ast.PdDataframeILocH\x00\x12/\n\x10pd_dataframe_loc\x18; \x01(\x0b\x32\x13.ast.PdDataframeLocH\x00\x12\x38\n\x15pd_dataframe_set_item\x18< \x01(\x0b\x32\x17.ast.PdDataframeSetItemH\x00\x12#\n\npd_drop_na\x18= \x01(\x0b\x32\r.ast.PdDropNaH\x00\x12\x1e\n\x07pd_repr\x18> \x01(\x0b\x32\x0b.ast.PdReprH\x00\x12\x17\n\x03pow\x18? \x01(\x0b\x32\x08.ast.PowH\x00\x12-\n\x0fpython_date_val\x18@ \x01(\x0b\x32\x12.ast.PythonDateValH\x00\x12-\n\x0fpython_time_val\x18\x41 \x01(\x0b\x32\x12.ast.PythonTimeValH\x00\x12\x37\n\x14python_timestamp_val\x18\x42 \x01(\x0b\x32\x17.ast.PythonTimestampValH\x00\x12"\n\trange_val\x18\x43 \x01(\x0b\x32\r.ast.RangeValH\x00\x12\x17\n\x03ref\x18\x44 \x01(\x0b\x32\x08.ast.RefH\x00\x12%\n\x0bseq_map_val\x18\x45 \x01(\x0b\x32\x0e.ast.SeqMapValH\x00\x12 \n\x08some_val\x18\x46 \x01(\x0b\x32\x0c.ast.SomeValH\x00\x12\'\n\x0csp_case_expr\x18G \x01(\x0b\x32\x0f.ast.SpCaseExprH\x00\x12-\n\x0fsp_column_alias\x18H \x01(\x0b\x32\x12.ast.SpColumnAliasH\x00\x12\x36\n\x14sp_column_apply__int\x18I \x01(\x0b\x32\x16.ast.SpColumnApply_IntH\x00\x12<\n\x17sp_column_apply__string\x18J \x01(\x0b\x32\x19.ast.SpColumnApply_StringH\x00\x12)\n\rsp_column_asc\x18K \x01(\x0b\x32\x10.ast.SpColumnAscH\x00\x12\x31\n\x11sp_column_between\x18L \x01(\x0b\x32\x14.ast.SpColumnBetweenH\x00\x12\x34\n\x13sp_column_case_when\x18M \x01(\x0b\x32\x15.ast.SpColumnCaseWhenH\x00\x12+\n\x0esp_column_cast\x18N \x01(\x0b\x32\x11.ast.SpColumnCastH\x00\x12+\n\x0esp_column_desc\x18O \x01(\x0b\x32\x11.ast.SpColumnDescH\x00\x12\x34\n\x13sp_column_equal_nan\x18P \x01(\x0b\x32\x15.ast.SpColumnEqualNanH\x00\x12\x36\n\x14sp_column_equal_null\x18Q \x01(\x0b\x32\x16.ast.SpColumnEqualNullH\x00\x12<\n\x17sp_column_in__dataframe\x18R \x01(\x0b\x32\x19.ast.SpColumnIn_DataframeH\x00\x12\x30\n\x11sp_column_in__seq\x18S \x01(\x0b\x32\x13.ast.SpColumnIn_SeqH\x00\x12\x37\n\x15sp_column_is_not_null\x18T \x01(\x0b\x32\x16.ast.SpColumnIsNotNullH\x00\x12\x30\n\x11sp_column_is_null\x18U \x01(\x0b\x32\x13.ast.SpColumnIsNullH\x00\x12+\n\x0esp_column_name\x18V \x01(\x0b\x32\x11.ast.SpColumnNameH\x00\x12+\n\x0esp_column_over\x18W \x01(\x0b\x32\x11.ast.SpColumnOverH\x00\x12)\n\rsp_column_ref\x18X \x01(\x0b\x32\x10.ast.SpColumnRefH\x00\x12\x32\n\x12sp_column_sql_expr\x18Y \x01(\x0b\x32\x14.ast.SpColumnSqlExprH\x00\x12>\n\x18sp_column_string_collate\x18Z \x01(\x0b\x32\x1a.ast.SpColumnStringCollateH\x00\x12@\n\x19sp_column_string_contains\x18[ \x01(\x0b\x32\x1b.ast.SpColumnStringContainsH\x00\x12\x41\n\x1asp_column_string_ends_with\x18\\ \x01(\x0b\x32\x1b.ast.SpColumnStringEndsWithH\x00\x12\x38\n\x15sp_column_string_like\x18] \x01(\x0b\x32\x17.ast.SpColumnStringLikeH\x00\x12<\n\x17sp_column_string_regexp\x18^ \x01(\x0b\x32\x19.ast.SpColumnStringRegexpH\x00\x12\x45\n\x1csp_column_string_starts_with\x18_ \x01(\x0b\x32\x1d.ast.SpColumnStringStartsWithH\x00\x12<\n\x17sp_column_string_substr\x18` \x01(\x0b\x32\x19.ast.SpColumnStringSubstrH\x00\x12\x32\n\x12sp_column_try_cast\x18\x61 \x01(\x0b\x32\x14.ast.SpColumnTryCastH\x00\x12:\n\x16sp_column_within_group\x18\x62 \x01(\x0b\x32\x18.ast.SpColumnWithinGroupH\x00\x12\x35\n\x13sp_create_dataframe\x18\x63 \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18\x64 \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x65 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x66 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18g \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18h \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18i \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18j \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x33\n\x12sp_dataframe_apply\x18k \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12@\n\x19sp_dataframe_cache_result\x18l \x01(\x0b\x32\x1b.ast.SpDataframeCacheResultH\x00\x12/\n\x10sp_dataframe_col\x18m \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x12\x37\n\x14sp_dataframe_collect\x18n \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x45\n\x1csp_dataframe_copy_into_table\x18o \x01(\x0b\x32\x1d.ast.SpDataframeCopyIntoTableH\x00\x12\x33\n\x12sp_dataframe_count\x18p \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12\x63\n,sp_dataframe_create_or_replace_dynamic_table\x18q \x01(\x0b\x32+.ast.SpDataframeCreateOrReplaceDynamicTableH\x00\x12R\n#sp_dataframe_create_or_replace_view\x18r \x01(\x0b\x32#.ast.SpDataframeCreateOrReplaceViewH\x00\x12<\n\x17sp_dataframe_cross_join\x18s \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x31\n\x11sp_dataframe_cube\x18t \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x39\n\x15sp_dataframe_describe\x18u \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18v \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18w \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18x \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18y \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18z \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18{ \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18| \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12\x38\n\x15sp_dataframe_group_by\x18} \x01(\x0b\x32\x17.ast.SpDataframeGroupByH\x00\x12R\n#sp_dataframe_group_by_grouping_sets\x18~ \x01(\x0b\x32#.ast.SpDataframeGroupByGroupingSetsH\x00\x12I\n\x1esp_dataframe_group_by__columns\x18\x7f \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_ColumnsH\x00\x12J\n\x1esp_dataframe_group_by__strings\x18\x80\x01 \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_StringsH\x00\x12<\n\x16sp_dataframe_intersect\x18\x81\x01 \x01(\x0b\x32\x19.ast.SpDataframeIntersectH\x00\x12\x32\n\x11sp_dataframe_join\x18\x82\x01 \x01(\x0b\x32\x14.ast.SpDataframeJoinH\x00\x12N\n sp_dataframe_join_table_function\x18\x83\x01 \x01(\x0b\x32!.ast.SpDataframeJoinTableFunctionH\x00\x12]\n(sp_dataframe_join__dataframe__join_exprs\x18\x84\x01 \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x63\n+sp_dataframe_join__dataframe__using_columns\x18\x85\x01 \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12\x34\n\x12sp_dataframe_limit\x18\x86\x01 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x46\n\x1csp_dataframe_na_drop__python\x18\x87\x01 \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x44\n\x1bsp_dataframe_na_drop__scala\x18\x88\x01 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x37\n\x14sp_dataframe_na_fill\x18\x89\x01 \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12=\n\x17sp_dataframe_na_replace\x18\x8a\x01 \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12\x41\n\x19sp_dataframe_natural_join\x18\x8b\x01 \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12\x34\n\x12sp_dataframe_pivot\x18\x8c\x01 \x01(\x0b\x32\x15.ast.SpDataframePivotH\x00\x12\x41\n\x19sp_dataframe_random_split\x18\x8d\x01 \x01(\x0b\x32\x1b.ast.SpDataframeRandomSplitH\x00\x12?\n\x18sp_dataframe_reader_init\x18\x8e\x01 \x01(\x0b\x32\x1a.ast.SpDataframeReaderInitH\x00\x12\x43\n\x1asp_dataframe_reader_option\x18\x8f\x01 \x01(\x0b\x32\x1c.ast.SpDataframeReaderOptionH\x00\x12\x45\n\x1bsp_dataframe_reader_options\x18\x90\x01 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12\x43\n\x1asp_dataframe_reader_schema\x18\x91\x01 \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12P\n!sp_dataframe_reader_with_metadata\x18\x92\x01 \x01(\x0b\x32".ast.SpDataframeReaderWithMetadataH\x00\x12\x30\n\x10sp_dataframe_ref\x18\x93\x01 \x01(\x0b\x32\x13.ast.SpDataframeRefH\x00\x12\x36\n\x13sp_dataframe_rename\x18\x94\x01 \x01(\x0b\x32\x16.ast.SpDataframeRenameH\x00\x12\x36\n\x13sp_dataframe_rollup\x18\x95\x01 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12G\n\x1csp_dataframe_rollup__columns\x18\x96\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12G\n\x1csp_dataframe_rollup__strings\x18\x97\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12\x36\n\x13sp_dataframe_sample\x18\x98\x01 \x01(\x0b\x32\x16.ast.SpDataframeSampleH\x00\x12G\n\x1csp_dataframe_select__columns\x18\x99\x01 \x01(\x0b\x32\x1e.ast.SpDataframeSelect_ColumnsH\x00\x12\x43\n\x1asp_dataframe_select__exprs\x18\x9a\x01 \x01(\x0b\x32\x1c.ast.SpDataframeSelect_ExprsH\x00\x12\x32\n\x11sp_dataframe_show\x18\x9b\x01 \x01(\x0b\x32\x14.ast.SpDataframeShowH\x00\x12\x32\n\x11sp_dataframe_sort\x18\x9c\x01 \x01(\x0b\x32\x14.ast.SpDataframeSortH\x00\x12P\n!sp_dataframe_stat_approx_quantile\x18\x9d\x01 \x01(\x0b\x32".ast.SpDataframeStatApproxQuantileH\x00\x12;\n\x16sp_dataframe_stat_corr\x18\x9e\x01 \x01(\x0b\x32\x18.ast.SpDataframeStatCorrH\x00\x12\x39\n\x15sp_dataframe_stat_cov\x18\x9f\x01 \x01(\x0b\x32\x17.ast.SpDataframeStatCovH\x00\x12\x44\n\x1bsp_dataframe_stat_cross_tab\x18\xa0\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatCrossTabH\x00\x12\x44\n\x1bsp_dataframe_stat_sample_by\x18\xa1\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x33\n\x12sp_dataframe_to_df\x18\xa2\x01 \x01(\x0b\x32\x14.ast.SpDataframeToDfH\x00\x12J\n\x1esp_dataframe_to_local_iterator\x18\xa3\x01 \x01(\x0b\x32\x1f.ast.SpDataframeToLocalIteratorH\x00\x12;\n\x16sp_dataframe_to_pandas\x18\xa4\x01 \x01(\x0b\x32\x18.ast.SpDataframeToPandasH\x00\x12J\n\x1esp_dataframe_to_pandas_batches\x18\xa5\x01 \x01(\x0b\x32\x1f.ast.SpDataframeToPandasBatchesH\x00\x12\x34\n\x12sp_dataframe_union\x18\xa6\x01 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12;\n\x16sp_dataframe_union_all\x18\xa7\x01 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12I\n\x1esp_dataframe_union_all_by_name\x18\xa8\x01 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x42\n\x1asp_dataframe_union_by_name\x18\xa9\x01 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x38\n\x14sp_dataframe_unpivot\x18\xaa\x01 \x01(\x0b\x32\x17.ast.SpDataframeUnpivotH\x00\x12\x34\n\x12sp_dataframe_where\x18\xab\x01 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12?\n\x18sp_dataframe_with_column\x18\xac\x01 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12N\n sp_dataframe_with_column_renamed\x18\xad\x01 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12\x41\n\x19sp_dataframe_with_columns\x18\xae\x01 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x34\n\x12sp_dataframe_write\x18\xaf\x01 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12.\n\x0fsp_datatype_val\x18\xb0\x01 \x01(\x0b\x32\x12.ast.SpDatatypeValH\x00\x12%\n\nsp_flatten\x18\xb1\x01 \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12"\n\tsp_fn_ref\x18\xb2\x01 \x01(\x0b\x32\x0c.ast.SpFnRefH\x00\x12)\n\x0csp_generator\x18\xb3\x01 \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12\x30\n\x10sp_grouping_sets\x18\xb4\x01 \x01(\x0b\x32\x13.ast.SpGroupingSetsH\x00\x12S\n#sp_merge_delete_when_matched_clause\x18\xb5\x01 \x01(\x0b\x32#.ast.SpMergeDeleteWhenMatchedClauseH\x00\x12Z\n\'sp_merge_insert_when_not_matched_clause\x18\xb6\x01 \x01(\x0b\x32&.ast.SpMergeInsertWhenNotMatchedClauseH\x00\x12S\n#sp_merge_update_when_matched_clause\x18\xb7\x01 \x01(\x0b\x32#.ast.SpMergeUpdateWhenMatchedClauseH\x00\x12!\n\x08sp_range\x18\xb8\x01 \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12(\n\x0csp_read_avro\x18\xb9\x01 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12&\n\x0bsp_read_csv\x18\xba\x01 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12(\n\x0csp_read_json\x18\xbb\x01 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12&\n\x0bsp_read_orc\x18\xbc\x01 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12.\n\x0fsp_read_parquet\x18\xbd\x01 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12*\n\rsp_read_table\x18\xbe\x01 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12&\n\x0bsp_read_xml\x18\xbf\x01 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12T\n#sp_relational_grouped_dataframe_agg\x18\xc0\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12j\n/sp_relational_grouped_dataframe_apply_in_pandas\x18\xc1\x01 \x01(\x0b\x32..ast.SpRelationalGroupedDataframeApplyInPandasH\x00\x12\\\n\'sp_relational_grouped_dataframe_builtin\x18\xc2\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12X\n%sp_relational_grouped_dataframe_pivot\x18\xc3\x01 \x01(\x0b\x32&.ast.SpRelationalGroupedDataframePivotH\x00\x12T\n#sp_relational_grouped_dataframe_ref\x18\xc4\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x12\x1d\n\x06sp_row\x18\xc5\x01 \x01(\x0b\x32\n.ast.SpRowH\x00\x12\x41\n\x19sp_session_table_function\x18\xc6\x01 \x01(\x0b\x32\x1b.ast.SpSessionTableFunctionH\x00\x12\x1d\n\x06sp_sql\x18\xc7\x01 \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x36\n\x13sp_stored_procedure\x18\xc8\x01 \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12!\n\x08sp_table\x18\xc9\x01 \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12.\n\x0fsp_table_delete\x18\xca\x01 \x01(\x0b\x32\x12.ast.SpTableDeleteH\x00\x12\x35\n\x13sp_table_drop_table\x18\xcb\x01 \x01(\x0b\x32\x15.ast.SpTableDropTableH\x00\x12:\n\x16sp_table_fn_call_alias\x18\xcc\x01 \x01(\x0b\x32\x17.ast.SpTableFnCallAliasH\x00\x12\x38\n\x15sp_table_fn_call_over\x18\xcd\x01 \x01(\x0b\x32\x16.ast.SpTableFnCallOverH\x00\x12,\n\x0esp_table_merge\x18\xce\x01 \x01(\x0b\x32\x11.ast.SpTableMergeH\x00\x12.\n\x0fsp_table_sample\x18\xcf\x01 \x01(\x0b\x32\x12.ast.SpTableSampleH\x00\x12.\n\x0fsp_table_update\x18\xd0\x01 \x01(\x0b\x32\x12.ast.SpTableUpdateH\x00\x12\x37\n\x14sp_window_spec_empty\x18\xd1\x01 \x01(\x0b\x32\x16.ast.SpWindowSpecEmptyH\x00\x12<\n\x17sp_window_spec_order_by\x18\xd2\x01 \x01(\x0b\x32\x18.ast.SpWindowSpecOrderByH\x00\x12\x44\n\x1bsp_window_spec_partition_by\x18\xd3\x01 \x01(\x0b\x32\x1c.ast.SpWindowSpecPartitionByH\x00\x12\x46\n\x1csp_window_spec_range_between\x18\xd4\x01 \x01(\x0b\x32\x1d.ast.SpWindowSpecRangeBetweenH\x00\x12\x44\n\x1bsp_window_spec_rows_between\x18\xd5\x01 \x01(\x0b\x32\x1c.ast.SpWindowSpecRowsBetweenH\x00\x12\x44\n\x1bsp_write_copy_into_location\x18\xd6\x01 \x01(\x0b\x32\x1c.ast.SpWriteCopyIntoLocationH\x00\x12(\n\x0csp_write_csv\x18\xd7\x01 \x01(\x0b\x32\x0f.ast.SpWriteCsvH\x00\x12*\n\rsp_write_json\x18\xd8\x01 \x01(\x0b\x32\x10.ast.SpWriteJsonH\x00\x12.\n\x0fsp_write_pandas\x18\xd9\x01 \x01(\x0b\x32\x12.ast.SpWritePandasH\x00\x12\x30\n\x10sp_write_parquet\x18\xda\x01 \x01(\x0b\x32\x13.ast.SpWriteParquetH\x00\x12,\n\x0esp_write_table\x18\xdb\x01 \x01(\x0b\x32\x11.ast.SpWriteTableH\x00\x12\x31\n\x10stored_procedure\x18\xdc\x01 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12%\n\nstring_val\x18\xdd\x01 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12\x18\n\x03sub\x18\xde\x01 \x01(\x0b\x32\x08.ast.SubH\x00\x12!\n\x08time_val\x18\xdf\x01 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12+\n\rtimestamp_val\x18\xe0\x01 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x12#\n\ttuple_val\x18\xe1\x01 \x01(\x0b\x32\r.ast.TupleValH\x00\x12\x1a\n\x04udaf\x18\xe2\x01 \x01(\x0b\x32\t.ast.UdafH\x00\x12\x18\n\x03udf\x18\xe3\x01 \x01(\x0b\x32\x08.ast.UdfH\x00\x12\x1a\n\x04udtf\x18\xe4\x01 \x01(\x0b\x32\t.ast.UdtfH\x00\x42\t\n\x07variant"K\n\x04Stmt\x12\x1d\n\x06\x61ssign\x18\x01 \x01(\x0b\x32\x0b.ast.AssignH\x00\x12\x19\n\x04\x65val\x18\x02 \x01(\x0b\x32\t.ast.EvalH\x00\x42\t\n\x07variant"x\n\x06\x41ssign\x12\x17\n\x04\x65xpr\x18\x01 \x01(\x0b\x32\t.ast.Expr\x12,\n\x06symbol\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0b\n\x03uid\x18\x03 \x01(\x03\x12\x1a\n\x06var_id\x18\x04 \x01(\x0b\x32\n.ast.VarId"/\n\x04\x45val\x12\x0b\n\x03uid\x18\x01 \x01(\x03\x12\x1a\n\x06var_id\x18\x02 \x01(\x0b\x32\n.ast.VarId"\xc0\x07\n\x04Type\x12.\n\x12trait_numeric_type\x18\x01 \x01(\x0b\x32\x10.ast.NumericTypeH\x00\x12,\n\x11trait_scalar_type\x18\x02 \x01(\x0b\x32\x0f.ast.ScalarTypeH\x00\x12 \n\x08\x61ny_type\x18\x03 \x01(\x0b\x32\x0c.ast.AnyTypeH\x00\x12"\n\tbool_type\x18\x04 \x01(\x0b\x32\r.ast.BoolTypeH\x00\x12(\n\x0c\x66loat64_type\x18\x05 \x01(\x0b\x32\x10.ast.Float64TypeH\x00\x12\x1e\n\x07\x66n_type\x18\x06 \x01(\x0b\x32\x0b.ast.FnTypeH\x00\x12$\n\nint32_type\x18\x07 \x01(\x0b\x32\x0e.ast.Int32TypeH\x00\x12$\n\nint64_type\x18\x08 \x01(\x0b\x32\x0e.ast.Int64TypeH\x00\x12"\n\tlist_type\x18\t \x01(\x0b\x32\r.ast.ListTypeH\x00\x12 \n\x08map_type\x18\n \x01(\x0b\x32\x0c.ast.MapTypeH\x00\x12(\n\x0cnothing_type\x18\x0b \x01(\x0b\x32\x10.ast.NothingTypeH\x00\x12&\n\x0bnumber_type\x18\x0c \x01(\x0b\x32\x0f.ast.NumberTypeH\x00\x12&\n\x0boption_type\x18\r \x01(\x0b\x32\x0f.ast.OptionTypeH\x00\x12\'\n\x0cpd_repr_type\x18\x0e \x01(\x0b\x32\x0f.ast.PdReprTypeH\x00\x12.\n\x10sp_col_expr_type\x18\x0f \x01(\x0b\x32\x12.ast.SpColExprTypeH\x00\x12\x31\n\x11sp_dataframe_type\x18\x10 \x01(\x0b\x32\x14.ast.SpDataframeTypeH\x00\x12@\n\x19sp_grouped_dataframe_type\x18\x11 \x01(\x0b\x32\x1b.ast.SpGroupedDataframeTypeH\x00\x12+\n\x0esp_window_type\x18\x12 \x01(\x0b\x32\x11.ast.SpWindowTypeH\x00\x12&\n\x0bstring_type\x18\x13 \x01(\x0b\x32\x0f.ast.StringTypeH\x00\x12$\n\ntuple_type\x18\x14 \x01(\x0b\x32\x0e.ast.TupleTypeH\x00\x12\x1c\n\x06ty_var\x18\x15 \x01(\x0b\x32\n.ast.TyVarH\x00\x12"\n\tunit_type\x18\x16 \x01(\x0b\x32\r.ast.UnitTypeH\x00\x12(\n\x0cunknown_type\x18\x17 \x01(\x0b\x32\x10.ast.UnknownTypeH\x00\x42\t\n\x07variant"\r\n\x0bUnknownType"\t\n\x07\x41nyType"\xad\x02\n\nScalarType\x12.\n\x12trait_numeric_type\x18\x01 \x01(\x0b\x32\x10.ast.NumericTypeH\x00\x12"\n\tbool_type\x18\x02 \x01(\x0b\x32\r.ast.BoolTypeH\x00\x12(\n\x0c\x66loat64_type\x18\x03 \x01(\x0b\x32\x10.ast.Float64TypeH\x00\x12$\n\nint32_type\x18\x04 \x01(\x0b\x32\x0e.ast.Int32TypeH\x00\x12$\n\nint64_type\x18\x05 \x01(\x0b\x32\x0e.ast.Int64TypeH\x00\x12&\n\x0bnumber_type\x18\x06 \x01(\x0b\x32\x0f.ast.NumberTypeH\x00\x12"\n\tunit_type\x18\x07 \x01(\x0b\x32\r.ast.UnitTypeH\x00\x42\t\n\x07variant"\xb6\x01\n\x0bNumericType\x12(\n\x0c\x66loat64_type\x18\x01 \x01(\x0b\x32\x10.ast.Float64TypeH\x00\x12$\n\nint32_type\x18\x02 \x01(\x0b\x32\x0e.ast.Int32TypeH\x00\x12$\n\nint64_type\x18\x03 \x01(\x0b\x32\x0e.ast.Int64TypeH\x00\x12&\n\x0bnumber_type\x18\x04 \x01(\x0b\x32\x0f.ast.NumberTypeH\x00\x42\t\n\x07variant"\x0c\n\nNumberType"\r\n\x0bNothingType"\n\n\x08UnitType"\n\n\x08\x42oolType"\x0b\n\tInt32Type"\x0b\n\tInt64Type"\r\n\x0b\x46loat64Type"\x0c\n\nStringType"\x0c\n\nPdReprType";\n\x06\x46nType\x12\x19\n\x06params\x18\x01 \x03(\x0b\x32\t.ast.Type\x12\x16\n\x03ret\x18\x02 \x01(\x0b\x32\t.ast.Type"$\n\nOptionType\x12\x16\n\x03typ\x18\x01 \x01(\x0b\x32\t.ast.Type"#\n\tTupleType\x12\x16\n\x03tys\x18\x01 \x03(\x0b\x32\t.ast.Type""\n\x08ListType\x12\x16\n\x03typ\x18\x01 \x01(\x0b\x32\t.ast.Type"5\n\x07MapType\x12\x14\n\x01k\x18\x01 \x01(\x0b\x32\t.ast.Type\x12\x14\n\x01v\x18\x02 \x01(\x0b\x32\t.ast.Type"\x13\n\x05TyVar\x12\n\n\x02id\x18\x01 \x01(\t*8\n\x0b__Version__\x12\x18\n\x14PROTO3_REQUIRES_THIS\x10\x00\x12\x0f\n\x0bMAX_VERSION\x10\x01\x42\x1e\n\x1c\x63om.snowflake.snowpark.protob\x06proto3' +) + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "proto.ast_pb2", _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals["DESCRIPTOR"]._loaded_options = None + _globals["DESCRIPTOR"]._serialized_options = b"\n\034com.snowflake.snowpark.proto" + _globals["___VERSION__"]._serialized_start = 77808 + _globals["___VERSION__"]._serialized_end = 77864 + _globals["_LIST_EXPR"]._serialized_start = 56 + _globals["_LIST_EXPR"]._serialized_end = 92 + _globals["_LIST_SPDATATYPE"]._serialized_start = 94 + _globals["_LIST_SPDATATYPE"]._serialized_end = 142 + _globals["_LIST_STRING"]._serialized_start = 144 + _globals["_LIST_STRING"]._serialized_end = 171 + _globals["_MAP_EXPR_EXPR"]._serialized_start = 173 + _globals["_MAP_EXPR_EXPR"]._serialized_end = 224 + _globals["_MAP_STRING_EXPR"]._serialized_start = 226 + _globals["_MAP_STRING_EXPR"]._serialized_end = 281 + _globals["_MAP_STRING_STRING"]._serialized_start = 283 + _globals["_MAP_STRING_STRING"]._serialized_end = 342 + _globals["_TUPLE_EXPR_EXPR"]._serialized_start = 344 + _globals["_TUPLE_EXPR_EXPR"]._serialized_end = 407 + _globals["_TUPLE_EXPR_FLOAT"]._serialized_start = 409 + _globals["_TUPLE_EXPR_FLOAT"]._serialized_end = 462 + _globals["_TUPLE_STRING_EXPR"]._serialized_start = 464 + _globals["_TUPLE_STRING_EXPR"]._serialized_end = 518 + _globals["_TUPLE_STRING_LIST_STRING"]._serialized_start = 520 + _globals["_TUPLE_STRING_LIST_STRING"]._serialized_end = 570 + _globals["_TUPLE_STRING_SPVARIANT"]._serialized_start = 572 + _globals["_TUPLE_STRING_SPVARIANT"]._serialized_end = 636 + _globals["_TUPLE_STRING_STRING"]._serialized_start = 638 + _globals["_TUPLE_STRING_STRING"]._serialized_end = 683 + _globals["_LANGUAGE"]._serialized_start = 686 + _globals["_LANGUAGE"]._serialized_end = 850 + _globals["_PYTHONLANGUAGE"]._serialized_start = 852 + _globals["_PYTHONLANGUAGE"]._serialized_end = 899 + _globals["_SCALALANGUAGE"]._serialized_start = 901 + _globals["_SCALALANGUAGE"]._serialized_end = 947 + _globals["_JAVALANGUAGE"]._serialized_start = 949 + _globals["_JAVALANGUAGE"]._serialized_end = 994 + _globals["_VERSION"]._serialized_start = 996 + _globals["_VERSION"]._serialized_end = 1065 + _globals["_PYTHONTIMEZONE"]._serialized_start = 1067 + _globals["_PYTHONTIMEZONE"]._serialized_end = 1151 + _globals["_FNNAME"]._serialized_start = 1153 + _globals["_FNNAME"]._serialized_end = 1271 + _globals["_FNNAMEFLAT"]._serialized_start = 1273 + _globals["_FNNAMEFLAT"]._serialized_end = 1299 + _globals["_FNNAMESTRUCTURED"]._serialized_start = 1301 + _globals["_FNNAMESTRUCTURED"]._serialized_end = 1333 + _globals["_UDTFSCHEMA"]._serialized_start = 1336 + _globals["_UDTFSCHEMA"]._serialized_end = 1468 + _globals["_UDTFSCHEMA_TYPE"]._serialized_start = 1470 + _globals["_UDTFSCHEMA_TYPE"]._serialized_end = 1525 + _globals["_UDTFSCHEMA_NAMES"]._serialized_start = 1527 + _globals["_UDTFSCHEMA_NAMES"]._serialized_end = 1561 + _globals["_SPWINDOWRELATIVEPOSITION"]._serialized_start = 1564 + _globals["_SPWINDOWRELATIVEPOSITION"]._serialized_end = 1862 + _globals["_SPWINDOWRELATIVEPOSITION_POSITION"]._serialized_start = 1864 + _globals["_SPWINDOWRELATIVEPOSITION_POSITION"]._serialized_end = 1910 + _globals["_PDINDEXEXPR"]._serialized_start = 1912 + _globals["_PDINDEXEXPR"]._serialized_end = 2025 + _globals["_ORD"]._serialized_start = 2027 + _globals["_ORD"]._serialized_end = 2054 + _globals["_FLEXORD"]._serialized_start = 2056 + _globals["_FLEXORD"]._serialized_end = 2087 + _globals["_KEY"]._serialized_start = 2089 + _globals["_KEY"]._serialized_end = 2116 + _globals["_PDPROJECTINDEXEXPR"]._serialized_start = 2119 + _globals["_PDPROJECTINDEXEXPR"]._serialized_end = 2432 + _globals["_ORDRANGE"]._serialized_start = 2434 + _globals["_ORDRANGE"]._serialized_end = 2520 + _globals["_FLEXORDRANGE"]._serialized_start = 2522 + _globals["_FLEXORDRANGE"]._serialized_end = 2612 + _globals["_KEYRANGE"]._serialized_start = 2614 + _globals["_KEYRANGE"]._serialized_end = 2675 + _globals["_ORDLIST"]._serialized_start = 2677 + _globals["_ORDLIST"]._serialized_end = 2711 + _globals["_FLEXORDLIST"]._serialized_start = 2713 + _globals["_FLEXORDLIST"]._serialized_end = 2751 + _globals["_KEYLIST"]._serialized_start = 2753 + _globals["_KEYLIST"]._serialized_end = 2787 + _globals["_BOOLFILTERLIST"]._serialized_start = 2789 + _globals["_BOOLFILTERLIST"]._serialized_end = 2832 + _globals["_SPFLATTENMODE"]._serialized_start = 2834 + _globals["_SPFLATTENMODE"]._serialized_end = 2959 + _globals["_SPTABLEVARIANT"]._serialized_start = 2961 + _globals["_SPTABLEVARIANT"]._serialized_end = 3041 + _globals["_SPSAVEMODE"]._serialized_start = 3044 + _globals["_SPSAVEMODE"]._serialized_end = 3236 + _globals["_SPJOINTYPE"]._serialized_start = 3239 + _globals["_SPJOINTYPE"]._serialized_end = 3533 + _globals["_SPTIMESTAMPTIMEZONE"]._serialized_start = 3536 + _globals["_SPTIMESTAMPTIMEZONE"]._serialized_end = 3723 + _globals["_SPDATATYPE"]._serialized_start = 3726 + _globals["_SPDATATYPE"]._serialized_end = 4651 + _globals["_SPARRAYTYPE"]._serialized_start = 4653 + _globals["_SPARRAYTYPE"]._serialized_end = 4715 + _globals["_SPCOLUMNIDENTIFIER"]._serialized_start = 4717 + _globals["_SPCOLUMNIDENTIFIER"]._serialized_end = 4751 + _globals["_SPDECIMALTYPE"]._serialized_start = 4753 + _globals["_SPDECIMALTYPE"]._serialized_end = 4802 + _globals["_SPMAPTYPE"]._serialized_start = 4804 + _globals["_SPMAPTYPE"]._serialized_end = 4903 + _globals["_SPSTRINGTYPE"]._serialized_start = 4905 + _globals["_SPSTRINGTYPE"]._serialized_end = 4964 + _globals["_SPSTRUCTFIELD"]._serialized_start = 4966 + _globals["_SPSTRUCTFIELD"]._serialized_end = 5087 + _globals["_SPSTRUCTTYPE"]._serialized_start = 5089 + _globals["_SPSTRUCTTYPE"]._serialized_end = 5159 + _globals["_SPTIMESTAMPTYPE"]._serialized_start = 5161 + _globals["_SPTIMESTAMPTYPE"]._serialized_end = 5223 + _globals["_SPVECTORTYPE"]._serialized_start = 5225 + _globals["_SPVECTORTYPE"]._serialized_end = 5287 + _globals["_SPPANDASSERIESTYPE"]._serialized_start = 5289 + _globals["_SPPANDASSERIESTYPE"]._serialized_end = 5341 + _globals["_SPPANDASDATAFRAMETYPE"]._serialized_start = 5343 + _globals["_SPPANDASDATAFRAMETYPE"]._serialized_end = 5421 + _globals["_SPVARIANT"]._serialized_start = 5424 + _globals["_SPVARIANT"]._serialized_end = 6130 + _globals["_SPVARIANT_OBJECT"]._serialized_start = 6132 + _globals["_SPVARIANT_OBJECT"]._serialized_end = 6187 + _globals["_SPVARIANT_LIST"]._serialized_start = 6189 + _globals["_SPVARIANT_LIST"]._serialized_end = 6240 + _globals["_SPVARIANT_TIMESTAMP"]._serialized_start = 6242 + _globals["_SPVARIANT_TIMESTAMP"]._serialized_end = 6274 + _globals["_SPVARIANT_DATE"]._serialized_start = 6276 + _globals["_SPVARIANT_DATE"]._serialized_end = 6303 + _globals["_SPVARIANT_TIME"]._serialized_start = 6305 + _globals["_SPVARIANT_TIME"]._serialized_end = 6332 + _globals["_SPVARIANT_BYTES"]._serialized_start = 6334 + _globals["_SPVARIANT_BYTES"]._serialized_end = 6362 + _globals["_SPVARIANT_STRING"]._serialized_start = 6364 + _globals["_SPVARIANT_STRING"]._serialized_end = 6393 + _globals["_SPVARIANT_BOOL"]._serialized_start = 6395 + _globals["_SPVARIANT_BOOL"]._serialized_end = 6422 + _globals["_SPVARIANT_BIGINT"]._serialized_start = 6424 + _globals["_SPVARIANT_BIGINT"]._serialized_end = 6453 + _globals["_SPVARIANT_BIGDECIMAL"]._serialized_start = 6455 + _globals["_SPVARIANT_BIGDECIMAL"]._serialized_end = 6488 + _globals["_SPVARIANT_INT"]._serialized_start = 6490 + _globals["_SPVARIANT_INT"]._serialized_end = 6516 + _globals["_SPVARIANT_FLOAT"]._serialized_start = 6518 + _globals["_SPVARIANT_FLOAT"]._serialized_end = 6546 + _globals["_SPVARIANT_DOUBLE"]._serialized_start = 6548 + _globals["_SPVARIANT_DOUBLE"]._serialized_end = 6577 + _globals["_SPTABLENAME"]._serialized_start = 6580 + _globals["_SPTABLENAME"]._serialized_end = 6725 + _globals["_SPTABLENAMEFLAT"]._serialized_start = 6727 + _globals["_SPTABLENAMEFLAT"]._serialized_end = 6758 + _globals["_SPTABLENAMESTRUCTURED"]._serialized_start = 6760 + _globals["_SPTABLENAMESTRUCTURED"]._serialized_end = 6797 + _globals["_STAGEDPANDASDATAFRAME"]._serialized_start = 6799 + _globals["_STAGEDPANDASDATAFRAME"]._serialized_end = 6860 + _globals["_SPDATAFRAMEDATA"]._serialized_start = 6863 + _globals["_SPDATAFRAMEDATA"]._serialized_end = 7088 + _globals["_SPDATAFRAMEDATA_LIST"]._serialized_start = 7090 + _globals["_SPDATAFRAMEDATA_LIST"]._serialized_end = 7135 + _globals["_SPDATAFRAMEDATA_TUPLE"]._serialized_start = 7137 + _globals["_SPDATAFRAMEDATA_TUPLE"]._serialized_end = 7183 + _globals["_SPDATAFRAMEDATA_PANDAS"]._serialized_start = 7185 + _globals["_SPDATAFRAMEDATA_PANDAS"]._serialized_end = 7248 + _globals["_SPDATAFRAMESCHEMA"]._serialized_start = 7251 + _globals["_SPDATAFRAMESCHEMA"]._serialized_end = 7422 + _globals["_SPDATAFRAMESCHEMA_LIST"]._serialized_start = 7424 + _globals["_SPDATAFRAMESCHEMA_LIST"]._serialized_end = 7460 + _globals["_SPDATAFRAMESCHEMA_STRUCT"]._serialized_start = 7462 + _globals["_SPDATAFRAMESCHEMA_STRUCT"]._serialized_end = 7518 + _globals["_SPCALLABLE"]._serialized_start = 7520 + _globals["_SPCALLABLE"]._serialized_end = 7558 + _globals["_SPPIVOTVALUE"]._serialized_start = 7561 + _globals["_SPPIVOTVALUE"]._serialized_end = 7713 + _globals["_SPPIVOTVALUE_EXPR"]._serialized_start = 7715 + _globals["_SPPIVOTVALUE_EXPR"]._serialized_end = 7756 + _globals["_SPPIVOTVALUE_DATAFRAME"]._serialized_start = 7758 + _globals["_SPPIVOTVALUE_DATAFRAME"]._serialized_end = 7814 + _globals["_SRCPOSITION"]._serialized_start = 7816 + _globals["_SRCPOSITION"]._serialized_end = 7923 + _globals["_VARID"]._serialized_start = 7925 + _globals["_VARID"]._serialized_end = 7951 + _globals["_REQUEST"]._serialized_start = 7954 + _globals["_REQUEST"]._serialized_end = 8094 + _globals["_RESPONSE"]._serialized_start = 8096 + _globals["_RESPONSE"]._serialized_end = 8133 + _globals["_CONST"]._serialized_start = 8136 + _globals["_CONST"]._serialized_end = 8870 + _globals["_NONEVAL"]._serialized_start = 8872 + _globals["_NONEVAL"]._serialized_end = 8912 + _globals["_NULLVAL"]._serialized_start = 8914 + _globals["_NULLVAL"]._serialized_end = 8954 + _globals["_BOOLVAL"]._serialized_start = 8956 + _globals["_BOOLVAL"]._serialized_end = 9007 + _globals["_INT32VAL"]._serialized_start = 9009 + _globals["_INT32VAL"]._serialized_end = 9061 + _globals["_INT64VAL"]._serialized_start = 9063 + _globals["_INT64VAL"]._serialized_end = 9115 + _globals["_FLOAT64VAL"]._serialized_start = 9117 + _globals["_FLOAT64VAL"]._serialized_end = 9171 + _globals["_BIGINTVAL"]._serialized_start = 9173 + _globals["_BIGINTVAL"]._serialized_end = 9226 + _globals["_BIGDECIMALVAL"]._serialized_start = 9228 + _globals["_BIGDECIMALVAL"]._serialized_end = 9313 + _globals["_STRINGVAL"]._serialized_start = 9315 + _globals["_STRINGVAL"]._serialized_end = 9368 + _globals["_BINARYVAL"]._serialized_start = 9370 + _globals["_BINARYVAL"]._serialized_end = 9423 + _globals["_TIMESTAMPVAL"]._serialized_start = 9425 + _globals["_TIMESTAMPVAL"]._serialized_end = 9481 + _globals["_DATEVAL"]._serialized_start = 9483 + _globals["_DATEVAL"]._serialized_end = 9534 + _globals["_TIMEVAL"]._serialized_start = 9536 + _globals["_TIMEVAL"]._serialized_end = 9587 + _globals["_PYTHONTIMESTAMPVAL"]._serialized_start = 9590 + _globals["_PYTHONTIMESTAMPVAL"]._serialized_end = 9783 + _globals["_PYTHONDATEVAL"]._serialized_start = 9785 + _globals["_PYTHONDATEVAL"]._serialized_end = 9873 + _globals["_PYTHONTIMEVAL"]._serialized_start = 9876 + _globals["_PYTHONTIMEVAL"]._serialized_end = 10022 + _globals["_FNVAL"]._serialized_start = 10024 + _globals["_FNVAL"]._serialized_end = 10103 + _globals["_SPDATATYPEVAL"]._serialized_start = 10105 + _globals["_SPDATATYPEVAL"]._serialized_end = 10186 + _globals["_IFEXPR"]._serialized_start = 10188 + _globals["_IFEXPR"]._serialized_end = 10309 + _globals["_SOMEVAL"]._serialized_start = 10311 + _globals["_SOMEVAL"]._serialized_end = 10373 + _globals["_TUPLEVAL"]._serialized_start = 10375 + _globals["_TUPLEVAL"]._serialized_end = 10439 + _globals["_LISTVAL"]._serialized_start = 10441 + _globals["_LISTVAL"]._serialized_end = 10504 + _globals["_SEQMAPVAL"]._serialized_start = 10506 + _globals["_SEQMAPVAL"]._serialized_end = 10576 + _globals["_APPLYEXPR"]._serialized_start = 10579 + _globals["_APPLYEXPR"]._serialized_end = 10722 + _globals["_FNREFEXPR"]._serialized_start = 10725 + _globals["_FNREFEXPR"]._serialized_end = 11247 + _globals["_FNNAMEREFEXPR"]._serialized_start = 11250 + _globals["_FNNAMEREFEXPR"]._serialized_end = 11574 + _globals["_FNIDREFEXPR"]._serialized_start = 11576 + _globals["_FNIDREFEXPR"]._serialized_end = 11698 + _globals["_SPFNREF"]._serialized_start = 11700 + _globals["_SPFNREF"]._serialized_end = 11764 + _globals["_BUILTINFN"]._serialized_start = 11766 + _globals["_BUILTINFN"]._serialized_end = 11835 + _globals["_STOREDPROCEDURE"]._serialized_start = 11838 + _globals["_STOREDPROCEDURE"]._serialized_end = 12521 + _globals["_UDF"]._serialized_start = 12524 + _globals["_UDF"]._serialized_end = 13209 + _globals["_UDTF"]._serialized_start = 13212 + _globals["_UDTF"]._serialized_end = 13821 + _globals["_UDAF"]._serialized_start = 13824 + _globals["_UDAF"]._serialized_end = 14429 + _globals["_INDIRECTTABLEFNNAMEREF"]._serialized_start = 14431 + _globals["_INDIRECTTABLEFNNAMEREF"]._serialized_end = 14513 + _globals["_INDIRECTTABLEFNIDREF"]._serialized_start = 14515 + _globals["_INDIRECTTABLEFNIDREF"]._serialized_end = 14592 + _globals["_CALLTABLEFUNCTIONEXPR"]._serialized_start = 14594 + _globals["_CALLTABLEFUNCTIONEXPR"]._serialized_end = 14675 + _globals["_UNARYOP"]._serialized_start = 14677 + _globals["_UNARYOP"]._serialized_end = 14747 + _globals["_BINOP"]._serialized_start = 14750 + _globals["_BINOP"]._serialized_end = 15204 + _globals["_NOT"]._serialized_start = 15206 + _globals["_NOT"]._serialized_end = 15270 + _globals["_AND"]._serialized_start = 15272 + _globals["_AND"]._serialized_end = 15356 + _globals["_OR"]._serialized_start = 15358 + _globals["_OR"]._serialized_end = 15441 + _globals["_EQ"]._serialized_start = 15443 + _globals["_EQ"]._serialized_end = 15526 + _globals["_NEQ"]._serialized_start = 15528 + _globals["_NEQ"]._serialized_end = 15612 + _globals["_LT"]._serialized_start = 15614 + _globals["_LT"]._serialized_end = 15697 + _globals["_LEQ"]._serialized_start = 15699 + _globals["_LEQ"]._serialized_end = 15783 + _globals["_GT"]._serialized_start = 15785 + _globals["_GT"]._serialized_end = 15868 + _globals["_GEQ"]._serialized_start = 15870 + _globals["_GEQ"]._serialized_end = 15954 + _globals["_NEG"]._serialized_start = 15956 + _globals["_NEG"]._serialized_end = 16020 + _globals["_ADD"]._serialized_start = 16022 + _globals["_ADD"]._serialized_end = 16106 + _globals["_SUB"]._serialized_start = 16108 + _globals["_SUB"]._serialized_end = 16192 + _globals["_MUL"]._serialized_start = 16194 + _globals["_MUL"]._serialized_end = 16278 + _globals["_DIV"]._serialized_start = 16280 + _globals["_DIV"]._serialized_end = 16364 + _globals["_MOD"]._serialized_start = 16366 + _globals["_MOD"]._serialized_end = 16450 + _globals["_POW"]._serialized_start = 16452 + _globals["_POW"]._serialized_end = 16536 + _globals["_BITAND"]._serialized_start = 16538 + _globals["_BITAND"]._serialized_end = 16625 + _globals["_BITOR"]._serialized_start = 16627 + _globals["_BITOR"]._serialized_end = 16713 + _globals["_BITXOR"]._serialized_start = 16715 + _globals["_BITXOR"]._serialized_end = 16802 + _globals["_RANGEVAL"]._serialized_start = 16804 + _globals["_RANGEVAL"]._serialized_end = 16921 + _globals["_SPWINDOWSPECEXPR"]._serialized_start = 16924 + _globals["_SPWINDOWSPECEXPR"]._serialized_end = 17279 + _globals["_SPWINDOWSPECEMPTY"]._serialized_start = 17281 + _globals["_SPWINDOWSPECEMPTY"]._serialized_end = 17367 + _globals["_SPWINDOWSPECORDERBY"]._serialized_start = 17369 + _globals["_SPWINDOWSPECORDERBY"]._serialized_end = 17482 + _globals["_SPWINDOWSPECPARTITIONBY"]._serialized_start = 17484 + _globals["_SPWINDOWSPECPARTITIONBY"]._serialized_end = 17601 + _globals["_SPWINDOWSPECRANGEBETWEEN"]._serialized_start = 17604 + _globals["_SPWINDOWSPECRANGEBETWEEN"]._serialized_end = 17787 + _globals["_SPWINDOWSPECROWSBETWEEN"]._serialized_start = 17790 + _globals["_SPWINDOWSPECROWSBETWEEN"]._serialized_end = 17972 + _globals["_EXPR"]._serialized_start = 17975 + _globals["_EXPR"]._serialized_end = 29397 + _globals["_REF"]._serialized_start = 29399 + _globals["_REF"]._serialized_end = 29463 + _globals["_CASTEXPR"]._serialized_start = 29465 + _globals["_CASTEXPR"]._serialized_end = 29552 + _globals["_OBJECTGETITEM"]._serialized_start = 29554 + _globals["_OBJECTGETITEM"]._serialized_end = 29650 + _globals["_PDDATAFRAME"]._serialized_start = 29653 + _globals["_PDDATAFRAME"]._serialized_end = 29802 + _globals["_PDDROPNA"]._serialized_start = 29805 + _globals["_PDDROPNA"]._serialized_end = 29947 + _globals["_PDDATAFRAMEGETITEM"]._serialized_start = 29949 + _globals["_PDDATAFRAMEGETITEM"]._serialized_end = 30050 + _globals["_PDDATAFRAMESETITEM"]._serialized_start = 30052 + _globals["_PDDATAFRAMESETITEM"]._serialized_end = 30175 + _globals["_PDDATAFRAMELOC"]._serialized_start = 30177 + _globals["_PDDATAFRAMELOC"]._serialized_end = 30299 + _globals["_PDDATAFRAMEILOC"]._serialized_start = 30301 + _globals["_PDDATAFRAMEILOC"]._serialized_end = 30424 + _globals["_PDREPR"]._serialized_start = 30426 + _globals["_PDREPR"]._serialized_end = 30540 + _globals["_PDREPRRESULT"]._serialized_start = 30542 + _globals["_PDREPRRESULT"]._serialized_end = 30659 + _globals["_RESULT"]._serialized_start = 30662 + _globals["_RESULT"]._serialized_end = 30820 + _globals["_EVALRESULT"]._serialized_start = 30823 + _globals["_EVALRESULT"]._serialized_end = 31642 + _globals["_EVALOK"]._serialized_start = 31644 + _globals["_EVALOK"]._serialized_end = 31724 + _globals["_ERROR"]._serialized_start = 31726 + _globals["_ERROR"]._serialized_end = 31816 + _globals["_SESSIONRESETREQUIREDERROR"]._serialized_start = 31818 + _globals["_SESSIONRESETREQUIREDERROR"]._serialized_end = 31886 + _globals["_SPCOLUMNEXPR"]._serialized_start = 31889 + _globals["_SPCOLUMNEXPR"]._serialized_end = 32221 + _globals["_SPCOLUMNREF"]._serialized_start = 32223 + _globals["_SPCOLUMNREF"]._serialized_end = 32279 + _globals["_SPCOLUMNSQLEXPR"]._serialized_start = 32281 + _globals["_SPCOLUMNSQLEXPR"]._serialized_end = 32390 + _globals["_SPCASEEXPR"]._serialized_start = 32392 + _globals["_SPCASEEXPR"]._serialized_end = 32491 + _globals["_SPCOLUMNCASEWHEN"]._serialized_start = 32493 + _globals["_SPCOLUMNCASEWHEN"]._serialized_end = 32574 + _globals["_SPCOLUMNFN"]._serialized_start = 32577 + _globals["_SPCOLUMNFN"]._serialized_end = 33874 + _globals["_SPCOLUMNALIAS"]._serialized_start = 33877 + _globals["_SPCOLUMNALIAS"]._serialized_end = 34012 + _globals["_SPCOLUMNAPPLY_INT"]._serialized_start = 34014 + _globals["_SPCOLUMNAPPLY_INT"]._serialized_end = 34101 + _globals["_SPCOLUMNAPPLY_STRING"]._serialized_start = 34103 + _globals["_SPCOLUMNAPPLY_STRING"]._serialized_end = 34195 + _globals["_SPCOLUMNASC"]._serialized_start = 34197 + _globals["_SPCOLUMNASC"]._serialized_end = 34314 + _globals["_SPCOLUMNBETWEEN"]._serialized_start = 34317 + _globals["_SPCOLUMNBETWEEN"]._serialized_end = 34453 + _globals["_SPCOLUMNCAST"]._serialized_start = 34455 + _globals["_SPCOLUMNCAST"]._serialized_end = 34553 + _globals["_SPCOLUMNTRYCAST"]._serialized_start = 34555 + _globals["_SPCOLUMNTRYCAST"]._serialized_end = 34656 + _globals["_SPCOLUMNDESC"]._serialized_start = 34658 + _globals["_SPCOLUMNDESC"]._serialized_end = 34776 + _globals["_SPCOLUMNEQUALNAN"]._serialized_start = 34778 + _globals["_SPCOLUMNEQUALNAN"]._serialized_end = 34851 + _globals["_SPCOLUMNEQUALNULL"]._serialized_start = 34853 + _globals["_SPCOLUMNEQUALNULL"]._serialized_end = 34951 + _globals["_SPCOLUMNIN_DATAFRAME"]._serialized_start = 34953 + _globals["_SPCOLUMNIN_DATAFRAME"]._serialized_end = 35064 + _globals["_SPCOLUMNIN_SEQ"]._serialized_start = 35066 + _globals["_SPCOLUMNIN_SEQ"]._serialized_end = 35164 + _globals["_SPCOLUMNISNOTNULL"]._serialized_start = 35166 + _globals["_SPCOLUMNISNOTNULL"]._serialized_end = 35240 + _globals["_SPCOLUMNISNULL"]._serialized_start = 35242 + _globals["_SPCOLUMNISNULL"]._serialized_end = 35313 + _globals["_SPCOLUMNNAME"]._serialized_start = 35315 + _globals["_SPCOLUMNNAME"]._serialized_end = 35399 + _globals["_SPCOLUMNOVER"]._serialized_start = 35401 + _globals["_SPCOLUMNOVER"]._serialized_end = 35514 + _globals["_SPCOLUMNWITHINGROUP"]._serialized_start = 35516 + _globals["_SPCOLUMNWITHINGROUP"]._serialized_end = 35624 + _globals["_SPCOLUMNSTRINGLIKE"]._serialized_start = 35626 + _globals["_SPCOLUMNSTRINGLIKE"]._serialized_end = 35729 + _globals["_SPCOLUMNSTRINGREGEXP"]._serialized_start = 35732 + _globals["_SPCOLUMNSTRINGREGEXP"]._serialized_end = 35868 + _globals["_SPCOLUMNSTRINGSTARTSWITH"]._serialized_start = 35870 + _globals["_SPCOLUMNSTRINGSTARTSWITH"]._serialized_end = 35978 + _globals["_SPCOLUMNSTRINGENDSWITH"]._serialized_start = 35980 + _globals["_SPCOLUMNSTRINGENDSWITH"]._serialized_end = 36086 + _globals["_SPCOLUMNSTRINGSUBSTR"]._serialized_start = 36088 + _globals["_SPCOLUMNSTRINGSUBSTR"]._serialized_end = 36213 + _globals["_SPCOLUMNSTRINGCOLLATE"]._serialized_start = 36215 + _globals["_SPCOLUMNSTRINGCOLLATE"]._serialized_end = 36328 + _globals["_SPCOLUMNSTRINGCONTAINS"]._serialized_start = 36330 + _globals["_SPCOLUMNSTRINGCONTAINS"]._serialized_end = 36437 + _globals["_SPDATAFRAMEEXPR"]._serialized_start = 36440 + _globals["_SPDATAFRAMEEXPR"]._serialized_end = 41389 + _globals["_SPDATAFRAMEREF"]._serialized_start = 41391 + _globals["_SPDATAFRAMEREF"]._serialized_end = 41462 + _globals["_SPDATAFRAMESHOW"]._serialized_start = 41464 + _globals["_SPDATAFRAMESHOW"]._serialized_end = 41536 + _globals["_SPDATAFRAMECOUNT"]._serialized_start = 41539 + _globals["_SPDATAFRAMECOUNT"]._serialized_end = 41679 + _globals["_SPDATAFRAMECOLLECT"]._serialized_start = 41682 + _globals["_SPDATAFRAMECOLLECT"]._serialized_end = 41891 + _globals["_SPDATAFRAMETOLOCALITERATOR"]._serialized_start = 41894 + _globals["_SPDATAFRAMETOLOCALITERATOR"]._serialized_end = 42068 + _globals["_SPCREATEDATAFRAME"]._serialized_start = 42070 + _globals["_SPCREATEDATAFRAME"]._serialized_end = 42196 + _globals["_SPWRITEPANDAS"]._serialized_start = 42199 + _globals["_SPWRITEPANDAS"]._serialized_end = 42583 + _globals["_SPFLATTEN"]._serialized_start = 42586 + _globals["_SPFLATTEN"]._serialized_end = 42766 + _globals["_SPGENERATOR"]._serialized_start = 42769 + _globals["_SPGENERATOR"]._serialized_end = 42906 + _globals["_SPRANGE"]._serialized_start = 42909 + _globals["_SPRANGE"]._serialized_end = 43049 + _globals["_SPSQL"]._serialized_start = 43051 + _globals["_SPSQL"]._serialized_end = 43131 + _globals["_SPSTOREDPROCEDURE"]._serialized_start = 43133 + _globals["_SPSTOREDPROCEDURE"]._serialized_end = 43248 + _globals["_SPTABLE"]._serialized_start = 43251 + _globals["_SPTABLE"]._serialized_end = 43396 + _globals["_SPSESSIONTABLEFUNCTION"]._serialized_start = 43398 + _globals["_SPSESSIONTABLEFUNCTION"]._serialized_end = 43476 + _globals["_SPDATAFRAMETOPANDAS"]._serialized_start = 43479 + _globals["_SPDATAFRAMETOPANDAS"]._serialized_end = 43622 + _globals["_SPDATAFRAMETOPANDASBATCHES"]._serialized_start = 43625 + _globals["_SPDATAFRAMETOPANDASBATCHES"]._serialized_end = 43775 + _globals["_SPDATAFRAMETODF"]._serialized_start = 43777 + _globals["_SPDATAFRAMETODF"]._serialized_end = 43896 + _globals["_SPDATAFRAMENADROP_SCALA"]._serialized_start = 43899 + _globals["_SPDATAFRAMENADROP_SCALA"]._serialized_end = 44034 + _globals["_SPDATAFRAMENADROP_PYTHON"]._serialized_start = 44037 + _globals["_SPDATAFRAMENADROP_PYTHON"]._serialized_end = 44220 + _globals["_SPDATAFRAMENAFILL"]._serialized_start = 44223 + _globals["_SPDATAFRAMENAFILL"]._serialized_end = 44408 + _globals["_SPDATAFRAMENAREPLACE"]._serialized_start = 44411 + _globals["_SPDATAFRAMENAREPLACE"]._serialized_end = 44713 + _globals["_SPDATAFRAMEAGG"]._serialized_start = 44715 + _globals["_SPDATAFRAMEAGG"]._serialized_end = 44829 + _globals["_SPDATAFRAMEALIAS"]._serialized_start = 44831 + _globals["_SPDATAFRAMEALIAS"]._serialized_end = 44928 + _globals["_SPDATAFRAMEAPPLY"]._serialized_start = 44930 + _globals["_SPDATAFRAMEAPPLY"]._serialized_end = 45031 + _globals["_SPDATAFRAMECOL"]._serialized_start = 45033 + _globals["_SPDATAFRAMECOL"]._serialized_end = 45132 + _globals["_SPDATAFRAMECROSSJOIN"]._serialized_start = 45135 + _globals["_SPDATAFRAMECROSSJOIN"]._serialized_end = 45352 + _globals["_SPDATAFRAMECUBE"]._serialized_start = 45354 + _globals["_SPDATAFRAMECUBE"]._serialized_end = 45468 + _globals["_SPDATAFRAMEDESCRIBE"]._serialized_start = 45470 + _globals["_SPDATAFRAMEDESCRIBE"]._serialized_end = 45588 + _globals["_SPDATAFRAMEDISTINCT"]._serialized_start = 45590 + _globals["_SPDATAFRAMEDISTINCT"]._serialized_end = 45676 + _globals["_SPDATAFRAMEDROP"]._serialized_start = 45678 + _globals["_SPDATAFRAMEDROP"]._serialized_end = 45792 + _globals["_SPDATAFRAMEDROPDUPLICATES"]._serialized_start = 45794 + _globals["_SPDATAFRAMEDROPDUPLICATES"]._serialized_end = 45918 + _globals["_SPDATAFRAMEEXCEPT"]._serialized_start = 45920 + _globals["_SPDATAFRAMEEXCEPT"]._serialized_end = 46041 + _globals["_SPDATAFRAMEFILTER"]._serialized_start = 46043 + _globals["_SPDATAFRAMEFILTER"]._serialized_end = 46157 + _globals["_SPDATAFRAMEFLATTEN"]._serialized_start = 46160 + _globals["_SPDATAFRAMEFLATTEN"]._serialized_end = 46383 + _globals["_SPDATAFRAMEFIRST"]._serialized_start = 46386 + _globals["_SPDATAFRAMEFIRST"]._serialized_end = 46549 + _globals["_SPDATAFRAMEGROUPBY_COLUMNS"]._serialized_start = 46552 + _globals["_SPDATAFRAMEGROUPBY_COLUMNS"]._serialized_end = 46696 + _globals["_SPDATAFRAMEGROUPBY_STRINGS"]._serialized_start = 46698 + _globals["_SPDATAFRAMEGROUPBY_STRINGS"]._serialized_end = 46823 + _globals["_SPDATAFRAMEGROUPBY"]._serialized_start = 46825 + _globals["_SPDATAFRAMEGROUPBY"]._serialized_end = 46942 + _globals["_SPDATAFRAMEINTERSECT"]._serialized_start = 46944 + _globals["_SPDATAFRAMEINTERSECT"]._serialized_end = 47068 + _globals["_SPDATAFRAMEJOIN"]._serialized_start = 47071 + _globals["_SPDATAFRAMEJOIN"]._serialized_end = 47385 + _globals["_SPDATAFRAMEJOINTABLEFUNCTION"]._serialized_start = 47387 + _globals["_SPDATAFRAMEJOINTABLEFUNCTION"]._serialized_end = 47506 + _globals["_SPDATAFRAMEJOIN_DATAFRAME_JOINEXPRS"]._serialized_start = 47509 + _globals["_SPDATAFRAMEJOIN_DATAFRAME_JOINEXPRS"]._serialized_end = 47725 + _globals["_SPDATAFRAMEJOIN_DATAFRAME_USINGCOLUMNS"]._serialized_start = 47728 + _globals["_SPDATAFRAMEJOIN_DATAFRAME_USINGCOLUMNS"]._serialized_end = 47964 + _globals["_SPDATAFRAMELIMIT"]._serialized_start = 47966 + _globals["_SPDATAFRAMELIMIT"]._serialized_end = 48076 + _globals["_SPDATAFRAMENATURALJOIN"]._serialized_start = 48079 + _globals["_SPDATAFRAMENATURALJOIN"]._serialized_end = 48240 + _globals["_SPDATAFRAMEPIVOT"]._serialized_start = 48243 + _globals["_SPDATAFRAMEPIVOT"]._serialized_end = 48427 + _globals["_SPDATAFRAMEUNPIVOT"]._serialized_start = 48430 + _globals["_SPDATAFRAMEUNPIVOT"]._serialized_end = 48590 + _globals["_SPDATAFRAMERANDOMSPLIT"]._serialized_start = 48593 + _globals["_SPDATAFRAMERANDOMSPLIT"]._serialized_end = 48794 + _globals["_SPDATAFRAMERENAME"]._serialized_start = 48797 + _globals["_SPDATAFRAMERENAME"]._serialized_end = 48965 + _globals["_SPDATAFRAMEROLLUP_COLUMNS"]._serialized_start = 48968 + _globals["_SPDATAFRAMEROLLUP_COLUMNS"]._serialized_end = 49111 + _globals["_SPDATAFRAMEROLLUP_STRINGS"]._serialized_start = 49113 + _globals["_SPDATAFRAMEROLLUP_STRINGS"]._serialized_end = 49237 + _globals["_SPDATAFRAMEROLLUP"]._serialized_start = 49239 + _globals["_SPDATAFRAMEROLLUP"]._serialized_end = 49355 + _globals["_SPDATAFRAMESAMPLE"]._serialized_start = 49358 + _globals["_SPDATAFRAMESAMPLE"]._serialized_end = 49544 + _globals["_SPDATAFRAMESELECT_COLUMNS"]._serialized_start = 49547 + _globals["_SPDATAFRAMESELECT_COLUMNS"]._serialized_end = 49682 + _globals["_SPDATAFRAMESELECT_EXPRS"]._serialized_start = 49684 + _globals["_SPDATAFRAMESELECT_EXPRS"]._serialized_end = 49807 + _globals["_SPDATAFRAMESORT"]._serialized_start = 49810 + _globals["_SPDATAFRAMESORT"]._serialized_end = 49970 + _globals["_SPDATAFRAMEUNION"]._serialized_start = 49972 + _globals["_SPDATAFRAMEUNION"]._serialized_end = 50092 + _globals["_SPDATAFRAMEUNIONALL"]._serialized_start = 50094 + _globals["_SPDATAFRAMEUNIONALL"]._serialized_end = 50217 + _globals["_SPDATAFRAMEUNIONALLBYNAME"]._serialized_start = 50220 + _globals["_SPDATAFRAMEUNIONALLBYNAME"]._serialized_end = 50349 + _globals["_SPDATAFRAMEUNIONBYNAME"]._serialized_start = 50351 + _globals["_SPDATAFRAMEUNIONBYNAME"]._serialized_end = 50477 + _globals["_SPDATAFRAMEWHERE"]._serialized_start = 50479 + _globals["_SPDATAFRAMEWHERE"]._serialized_end = 50600 + _globals["_SPDATAFRAMEWITHCOLUMN"]._serialized_start = 50603 + _globals["_SPDATAFRAMEWITHCOLUMN"]._serialized_end = 50733 + _globals["_SPDATAFRAMEWITHCOLUMNRENAMED"]._serialized_start = 50736 + _globals["_SPDATAFRAMEWITHCOLUMNRENAMED"]._serialized_end = 50873 + _globals["_SPDATAFRAMEWITHCOLUMNS"]._serialized_start = 50876 + _globals["_SPDATAFRAMEWITHCOLUMNS"]._serialized_end = 51011 + _globals["_SPDATAFRAMEGROUPBYGROUPINGSETS"]._serialized_start = 51014 + _globals["_SPDATAFRAMEGROUPBYGROUPINGSETS"]._serialized_end = 51173 + _globals["_SPGROUPINGSETS"]._serialized_start = 51175 + _globals["_SPGROUPINGSETS"]._serialized_end = 51254 + _globals["_SPDATAFRAMEANALYTICSMOVINGAGG"]._serialized_start = 51257 + _globals["_SPDATAFRAMEANALYTICSMOVINGAGG"]._serialized_end = 51485 + _globals["_SPDATAFRAMEANALYTICSCUMULATIVEAGG"]._serialized_start = 51488 + _globals["_SPDATAFRAMEANALYTICSCUMULATIVEAGG"]._serialized_end = 51718 + _globals["_SPDATAFRAMEANALYTICSCOMPUTELAG"]._serialized_start = 51721 + _globals["_SPDATAFRAMEANALYTICSCOMPUTELAG"]._serialized_end = 51922 + _globals["_SPDATAFRAMEANALYTICSCOMPUTELEAD"]._serialized_start = 51925 + _globals["_SPDATAFRAMEANALYTICSCOMPUTELEAD"]._serialized_end = 52128 + _globals["_SPDATAFRAMEANALYTICSTIMESERIESAGG"]._serialized_start = 52131 + _globals["_SPDATAFRAMEANALYTICSTIMESERIESAGG"]._serialized_end = 52384 + _globals["_SPMATCHEDCLAUSE"]._serialized_start = 52387 + _globals["_SPMATCHEDCLAUSE"]._serialized_end = 52674 + _globals["_SPMERGEUPDATEWHENMATCHEDCLAUSE"]._serialized_start = 52677 + _globals["_SPMERGEUPDATEWHENMATCHEDCLAUSE"]._serialized_end = 52818 + _globals["_SPMERGEDELETEWHENMATCHEDCLAUSE"]._serialized_start = 52820 + _globals["_SPMERGEDELETEWHENMATCHEDCLAUSE"]._serialized_end = 52913 + _globals["_SPMERGEINSERTWHENNOTMATCHEDCLAUSE"]._serialized_start = 52916 + _globals["_SPMERGEINSERTWHENNOTMATCHEDCLAUSE"]._serialized_end = 53088 + _globals["_SPTABLEDELETE"]._serialized_start = 53091 + _globals["_SPTABLEDELETE"]._serialized_end = 53296 + _globals["_SPTABLEDROPTABLE"]._serialized_start = 53298 + _globals["_SPTABLEDROPTABLE"]._serialized_end = 53371 + _globals["_SPTABLEMERGE"]._serialized_start = 53374 + _globals["_SPTABLEMERGE"]._serialized_end = 53617 + _globals["_SPTABLESAMPLE"]._serialized_start = 53620 + _globals["_SPTABLESAMPLE"]._serialized_end = 53900 + _globals["_SPTABLEUPDATE"]._serialized_start = 53903 + _globals["_SPTABLEUPDATE"]._serialized_end = 54153 + _globals["_SPDATAFRAMEREADER"]._serialized_start = 54156 + _globals["_SPDATAFRAMEREADER"]._serialized_end = 54537 + _globals["_SPDATAFRAMEREADERINIT"]._serialized_start = 54539 + _globals["_SPDATAFRAMEREADERINIT"]._serialized_end = 54593 + _globals["_SPDATAFRAMEREADEROPTION"]._serialized_start = 54596 + _globals["_SPDATAFRAMEREADEROPTION"]._serialized_end = 54731 + _globals["_SPDATAFRAMEREADEROPTIONS"]._serialized_start = 54734 + _globals["_SPDATAFRAMEREADEROPTIONS"]._serialized_end = 54872 + _globals["_SPDATAFRAMEREADERSCHEMA"]._serialized_start = 54875 + _globals["_SPDATAFRAMEREADERSCHEMA"]._serialized_end = 55006 + _globals["_SPDATAFRAMEREADERWITHMETADATA"]._serialized_start = 55009 + _globals["_SPDATAFRAMEREADERWITHMETADATA"]._serialized_end = 55155 + _globals["_SPREADTABLE"]._serialized_start = 55157 + _globals["_SPREADTABLE"]._serialized_end = 55273 + _globals["_SPREADCSV"]._serialized_start = 55275 + _globals["_SPREADCSV"]._serialized_end = 55371 + _globals["_SPREADJSON"]._serialized_start = 55373 + _globals["_SPREADJSON"]._serialized_end = 55470 + _globals["_SPREADAVRO"]._serialized_start = 55472 + _globals["_SPREADAVRO"]._serialized_end = 55569 + _globals["_SPREADORC"]._serialized_start = 55571 + _globals["_SPREADORC"]._serialized_end = 55667 + _globals["_SPREADPARQUET"]._serialized_start = 55669 + _globals["_SPREADPARQUET"]._serialized_end = 55769 + _globals["_SPREADXML"]._serialized_start = 55771 + _globals["_SPREADXML"]._serialized_end = 55867 + _globals["_SPDATAFRAMEWRITER"]._serialized_start = 55870 + _globals["_SPDATAFRAMEWRITER"]._serialized_end = 56351 + _globals["_SPDATAFRAMEWRITERSAVEMODE"]._serialized_start = 56353 + _globals["_SPDATAFRAMEWRITERSAVEMODE"]._serialized_end = 56408 + _globals["_SPDATAFRAMEWRITEROPTIONS"]._serialized_start = 56410 + _globals["_SPDATAFRAMEWRITEROPTIONS"]._serialized_end = 56464 + _globals["_SPDATAFRAMEWRITE"]._serialized_start = 56466 + _globals["_SPDATAFRAMEWRITE"]._serialized_end = 56585 + _globals["_SPWRITEFILE"]._serialized_start = 56588 + _globals["_SPWRITEFILE"]._serialized_end = 56814 + _globals["_SPWRITECSV"]._serialized_start = 56817 + _globals["_SPWRITECSV"]._serialized_end = 57119 + _globals["_SPWRITEJSON"]._serialized_start = 57122 + _globals["_SPWRITEJSON"]._serialized_end = 57425 + _globals["_SPWRITEPARQUET"]._serialized_start = 57428 + _globals["_SPWRITEPARQUET"]._serialized_end = 57734 + _globals["_SPWRITETABLE"]._serialized_start = 57737 + _globals["_SPWRITETABLE"]._serialized_end = 58404 + _globals["_SPWRITECOPYINTOLOCATION"]._serialized_start = 58407 + _globals["_SPWRITECOPYINTOLOCATION"]._serialized_end = 58834 + _globals["_SPDATAFRAMECREATEORREPLACEVIEW"]._serialized_start = 58837 + _globals["_SPDATAFRAMECREATEORREPLACEVIEW"]._serialized_end = 59064 + _globals["_SPDATAFRAMECREATEORREPLACEDYNAMICTABLE"]._serialized_start = 59067 + _globals["_SPDATAFRAMECREATEORREPLACEDYNAMICTABLE"]._serialized_end = 59633 + _globals["_SPDATAFRAMECOPYINTOTABLE"]._serialized_start = 59636 + _globals["_SPDATAFRAMECOPYINTOTABLE"]._serialized_end = 60125 + _globals["_SPDATAFRAMECACHERESULT"]._serialized_start = 60128 + _globals["_SPDATAFRAMECACHERESULT"]._serialized_end = 60269 + _globals["_SPDATAFRAMESTATAPPROXQUANTILE"]._serialized_start = 60272 + _globals["_SPDATAFRAMESTATAPPROXQUANTILE"]._serialized_end = 60455 + _globals["_SPDATAFRAMESTATCORR"]._serialized_start = 60458 + _globals["_SPDATAFRAMESTATCORR"]._serialized_end = 60636 + _globals["_SPDATAFRAMESTATCOV"]._serialized_start = 60639 + _globals["_SPDATAFRAMESTATCOV"]._serialized_end = 60816 + _globals["_SPDATAFRAMESTATCROSSTAB"]._serialized_start = 60819 + _globals["_SPDATAFRAMESTATCROSSTAB"]._serialized_end = 61001 + _globals["_SPDATAFRAMESTATSAMPLEBY"]._serialized_start = 61004 + _globals["_SPDATAFRAMESTATSAMPLEBY"]._serialized_end = 61160 + _globals["_SPRELATIONALGROUPEDDATAFRAMEEXPR"]._serialized_start = 61163 + _globals["_SPRELATIONALGROUPEDDATAFRAMEEXPR"]._serialized_end = 61888 + _globals["_SPRELATIONALGROUPEDDATAFRAMEREF"]._serialized_start = 61890 + _globals["_SPRELATIONALGROUPEDDATAFRAMEREF"]._serialized_end = 61978 + _globals["_SPRELATIONALGROUPEDDATAFRAMEAGG"]._serialized_start = 61981 + _globals["_SPRELATIONALGROUPEDDATAFRAMEAGG"]._serialized_end = 62137 + _globals["_SPRELATIONALGROUPEDDATAFRAMEBUILTIN"]._serialized_start = 62140 + _globals["_SPRELATIONALGROUPEDDATAFRAMEBUILTIN"]._serialized_end = 62317 + _globals["_SPRELATIONALGROUPEDDATAFRAMEAPPLYINPANDAS"]._serialized_start = 62320 + _globals["_SPRELATIONALGROUPEDDATAFRAMEAPPLYINPANDAS"]._serialized_end = 62566 + _globals["_SPRELATIONALGROUPEDDATAFRAMEPIVOT"]._serialized_start = 62569 + _globals["_SPRELATIONALGROUPEDDATAFRAMEPIVOT"]._serialized_end = 62795 + _globals["_SPROW"]._serialized_start = 62797 + _globals["_SPROW"]._serialized_end = 62891 + _globals["_EXPRARGLIST"]._serialized_start = 62893 + _globals["_EXPRARGLIST"]._serialized_end = 62949 + _globals["_SPTABLEFNCALLOVER"]._serialized_start = 62952 + _globals["_SPTABLEFNCALLOVER"]._serialized_end = 63088 + _globals["_SPTABLEFNCALLALIAS"]._serialized_start = 63090 + _globals["_SPTABLEFNCALLALIAS"]._serialized_end = 63200 + _globals["_SPDATAFRAMETYPE"]._serialized_start = 63202 + _globals["_SPDATAFRAMETYPE"]._serialized_end = 63260 + _globals["_SPGROUPEDDATAFRAMETYPE"]._serialized_start = 63262 + _globals["_SPGROUPEDDATAFRAMETYPE"]._serialized_end = 63332 + _globals["_SPWINDOWTYPE"]._serialized_start = 63334 + _globals["_SPWINDOWTYPE"]._serialized_end = 63348 + _globals["_SPCOLEXPRTYPE"]._serialized_start = 63350 + _globals["_SPCOLEXPRTYPE"]._serialized_end = 63389 + _globals["_HASSRCPOSITION"]._serialized_start = 63392 + _globals["_HASSRCPOSITION"]._serialized_end = 75710 + _globals["_STMT"]._serialized_start = 75712 + _globals["_STMT"]._serialized_end = 75787 + _globals["_ASSIGN"]._serialized_start = 75789 + _globals["_ASSIGN"]._serialized_end = 75909 + _globals["_EVAL"]._serialized_start = 75911 + _globals["_EVAL"]._serialized_end = 75958 + _globals["_TYPE"]._serialized_start = 75961 + _globals["_TYPE"]._serialized_end = 76921 + _globals["_UNKNOWNTYPE"]._serialized_start = 76923 + _globals["_UNKNOWNTYPE"]._serialized_end = 76936 + _globals["_ANYTYPE"]._serialized_start = 76938 + _globals["_ANYTYPE"]._serialized_end = 76947 + _globals["_SCALARTYPE"]._serialized_start = 76950 + _globals["_SCALARTYPE"]._serialized_end = 77251 + _globals["_NUMERICTYPE"]._serialized_start = 77254 + _globals["_NUMERICTYPE"]._serialized_end = 77436 + _globals["_NUMBERTYPE"]._serialized_start = 77438 + _globals["_NUMBERTYPE"]._serialized_end = 77450 + _globals["_NOTHINGTYPE"]._serialized_start = 77452 + _globals["_NOTHINGTYPE"]._serialized_end = 77465 + _globals["_UNITTYPE"]._serialized_start = 77467 + _globals["_UNITTYPE"]._serialized_end = 77477 + _globals["_BOOLTYPE"]._serialized_start = 77479 + _globals["_BOOLTYPE"]._serialized_end = 77489 + _globals["_INT32TYPE"]._serialized_start = 77491 + _globals["_INT32TYPE"]._serialized_end = 77502 + _globals["_INT64TYPE"]._serialized_start = 77504 + _globals["_INT64TYPE"]._serialized_end = 77515 + _globals["_FLOAT64TYPE"]._serialized_start = 77517 + _globals["_FLOAT64TYPE"]._serialized_end = 77530 + _globals["_STRINGTYPE"]._serialized_start = 77532 + _globals["_STRINGTYPE"]._serialized_end = 77544 + _globals["_PDREPRTYPE"]._serialized_start = 77546 + _globals["_PDREPRTYPE"]._serialized_end = 77558 + _globals["_FNTYPE"]._serialized_start = 77560 + _globals["_FNTYPE"]._serialized_end = 77619 + _globals["_OPTIONTYPE"]._serialized_start = 77621 + _globals["_OPTIONTYPE"]._serialized_end = 77657 + _globals["_TUPLETYPE"]._serialized_start = 77659 + _globals["_TUPLETYPE"]._serialized_end = 77694 + _globals["_LISTTYPE"]._serialized_start = 77696 + _globals["_LISTTYPE"]._serialized_end = 77730 + _globals["_MAPTYPE"]._serialized_start = 77732 + _globals["_MAPTYPE"]._serialized_end = 77785 + _globals["_TYVAR"]._serialized_start = 77787 + _globals["_TYVAR"]._serialized_end = 77806 +# @@protoc_insertion_point(module_scope)