From 019e18efda55685b41c907289b8dd526a18ae161 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 29 Aug 2024 13:40:28 -0700 Subject: [PATCH] asof support with test --- .../snowpark/_internal/proto/ast_pb2.py | 1160 ++++++++--------- src/snowflake/snowpark/dataframe.py | 7 +- tests/ast/data/Dataframe.join.asof.test | 22 + 3 files changed, 605 insertions(+), 584 deletions(-) create mode 100644 tests/ast/data/Dataframe.join.asof.test diff --git a/src/snowflake/snowpark/_internal/proto/ast_pb2.py b/src/snowflake/snowpark/_internal/proto/ast_pb2.py index 13ac12bacd8..f1f0fec8c00 100644 --- a/src/snowflake/snowpark/_internal/proto/ast_pb2.py +++ b/src/snowflake/snowpark/_internal/proto/ast_pb2.py @@ -22,7 +22,7 @@ import snowflake.snowpark._internal.proto.scalapb_pb2 as scalapb_dot_scalapb__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\x18Snowpark/proto/ast.proto\x12\x03\x61st\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x15scalapb/scalapb.proto"$\n\tList_Expr\x12\x17\n\x04list\x18\x01 \x03(\x0b\x32\t.ast.Expr"4\n\x11List_SpColumnExpr\x12\x1f\n\x04list\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr"\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"A\n\x14Map_String_SpVariant\x12)\n\x04list\x18\x01 \x03(\x0b\x32\x1b.ast.Tuple_String_SpVariant";\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"F\n\x19Tuple_String_SpColumnExpr\x12\n\n\x02_1\x18\x01 \x01(\t\x12\x1d\n\x02_2\x18\x02 \x01(\x0b\x32\x11.ast.SpColumnExpr"@\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"\xc8\x01\n\x0fTableFnCallType\x12%\n\x1btable_fn_call_type__builtin\x18\x01 \x01(\x08H\x00\x12+\n!table_fn_call_type__call_table_fn\x18\x02 \x01(\x08H\x00\x12.\n$table_fn_call_type__session_table_fn\x18\x03 \x01(\x08H\x00\x12&\n\x1ctable_fn_call_type__table_fn\x18\x04 \x01(\x08H\x00\x42\t\n\x07variant"\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"\x88\x02\n\nSpJoinType\x12\x1d\n\x13sp_join_type__cross\x18\x01 \x01(\x08H\x00\x12"\n\x18sp_join_type__full_outer\x18\x02 \x01(\x08H\x00\x12\x1d\n\x13sp_join_type__inner\x18\x03 \x01(\x08H\x00\x12!\n\x17sp_join_type__left_anti\x18\x04 \x01(\x08H\x00\x12"\n\x18sp_join_type__left_outer\x18\x05 \x01(\x08H\x00\x12!\n\x17sp_join_type__left_semi\x18\x06 \x01(\x08H\x00\x12#\n\x19sp_join_type__right_outer\x18\x07 \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"\xa2\x06\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\x17\n\rsp_short_type\x18\x10 \x01(\x08H\x00\x12+\n\x0esp_string_type\x18\x11 \x01(\x0b\x32\x11.ast.SpStringTypeH\x00\x12-\n\x0fsp_struct_field\x18\x12 \x01(\x0b\x32\x12.ast.SpStructFieldH\x00\x12+\n\x0esp_struct_type\x18\x13 \x01(\x0b\x32\x11.ast.SpStructTypeH\x00\x12\x16\n\x0csp_time_type\x18\x14 \x01(\x08H\x00\x12\x31\n\x11sp_timestamp_type\x18\x15 \x01(\x0b\x32\x14.ast.SpTimestampTypeH\x00\x12\x19\n\x0fsp_variant_type\x18\x16 \x01(\x08H\x00\x12+\n\x0esp_vector_type\x18\x17 \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"\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"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"\xaf\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\nstring_val\x18\x0f \x01(\x0b\x32\x0e.ast.StringValH\x00\x12 \n\x08time_val\x18\x10 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12*\n\rtimestamp_val\x18\x11 \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"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"\xda\x01\n\tFnRefExpr\x12$\n\nbuiltin_fn\x18\x01 \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12/\n\x10session_table_fn\x18\x02 \x01(\x0b\x32\x13.ast.SessionTableFnH\x00\x12\x30\n\x10stored_procedure\x18\x03 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12 \n\x08table_fn\x18\x04 \x01(\x0b\x32\x0c.ast.TableFnH\x00\x12\x17\n\x03udf\x18\x05 \x01(\x0b\x32\x08.ast.UdfH\x00\x42\t\n\x07variant"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"\xb3\x01\n\x0fStoredProcedure\x12\x34\n\x10log_on_exception\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x19\n\x04name\x18\x02 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x30\n\x10statement_params\x18\x04 \x03(\x0b\x32\x16.ast.Tuple_String_Expr"?\n\x03Udf\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"J\n\x0eSessionTableFn\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"l\n\x07TableFn\x12\'\n\tcall_type\x18\x01 \x01(\x0b\x32\x14.ast.TableFnCallType\x12\x19\n\x04name\x18\x02 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x03 \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"\xcfW\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+\n\x11trait_fn_ref_expr\x18\x03 \x01(\x0b\x32\x0e.ast.FnRefExprH\x00\x12\x31\n\x14trait_sp_column_expr\x18\x04 \x01(\x0b\x32\x11.ast.SpColumnExprH\x00\x12-\n\x12trait_sp_column_fn\x18\x05 \x01(\x0b\x32\x0f.ast.SpColumnFnH\x00\x12H\n trait_sp_copyable_dataframe_expr\x18\x06 \x01(\x0b\x32\x1c.ast.SpCopyableDataframeExprH\x00\x12\x37\n\x17trait_sp_dataframe_expr\x18\x07 \x01(\x0b\x32\x14.ast.SpDataframeExprH\x00\x12J\n!trait_sp_dataframe_reader_options\x18\x08 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\t \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12;\n\x19trait_sp_dataframe_writer\x18\n \x01(\x0b\x32\x16.ast.SpDataframeWriterH\x00\x12J\n!trait_sp_dataframe_writer_options\x18\x0b \x01(\x0b\x32\x1d.ast.SpDataframeWriterOptionsH\x00\x12M\n#trait_sp_dataframe_writer_save_mode\x18\x0c \x01(\x0b\x32\x1e.ast.SpDataframeWriterSaveModeH\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\tcast_expr\x18\x1b \x01(\x0b\x32\r.ast.CastExprH\x00\x12 \n\x08\x64\x61te_val\x18\x1c \x01(\x0b\x32\x0c.ast.DateValH\x00\x12\x17\n\x03\x64iv\x18\x1d \x01(\x0b\x32\x08.ast.DivH\x00\x12\x15\n\x02\x65q\x18\x1e \x01(\x0b\x32\x07.ast.EqH\x00\x12&\n\x0b\x66loat64_val\x18\x1f \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\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- \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12\x17\n\x03not\x18. \x01(\x0b\x32\x08.ast.NotH\x00\x12 \n\x08null_val\x18/ \x01(\x0b\x32\x0c.ast.NullValH\x00\x12\x15\n\x02or\x18\x30 \x01(\x0b\x32\x07.ast.OrH\x00\x12(\n\x0cpd_dataframe\x18\x31 \x01(\x0b\x32\x10.ast.PdDataframeH\x00\x12\x38\n\x15pd_dataframe_get_item\x18\x32 \x01(\x0b\x32\x17.ast.PdDataframeGetItemH\x00\x12\x32\n\x12pd_dataframe_i_loc\x18\x33 \x01(\x0b\x32\x14.ast.PdDataframeILocH\x00\x12/\n\x10pd_dataframe_loc\x18\x34 \x01(\x0b\x32\x13.ast.PdDataframeLocH\x00\x12\x38\n\x15pd_dataframe_set_item\x18\x35 \x01(\x0b\x32\x17.ast.PdDataframeSetItemH\x00\x12#\n\npd_drop_na\x18\x36 \x01(\x0b\x32\r.ast.PdDropNaH\x00\x12\x1e\n\x07pd_repr\x18\x37 \x01(\x0b\x32\x0b.ast.PdReprH\x00\x12\x17\n\x03pow\x18\x38 \x01(\x0b\x32\x08.ast.PowH\x00\x12-\n\x0fpython_date_val\x18\x39 \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= \x01(\x0b\x32\x08.ast.RefH\x00\x12%\n\x0bseq_map_val\x18> \x01(\x0b\x32\x0e.ast.SeqMapValH\x00\x12/\n\x10session_table_fn\x18? \x01(\x0b\x32\x13.ast.SessionTableFnH\x00\x12 \n\x08some_val\x18@ \x01(\x0b\x32\x0c.ast.SomeValH\x00\x12-\n\x0fsp_column_alias\x18\x41 \x01(\x0b\x32\x12.ast.SpColumnAliasH\x00\x12\x36\n\x14sp_column_apply__int\x18\x42 \x01(\x0b\x32\x16.ast.SpColumnApply_IntH\x00\x12<\n\x17sp_column_apply__string\x18\x43 \x01(\x0b\x32\x19.ast.SpColumnApply_StringH\x00\x12)\n\rsp_column_asc\x18\x44 \x01(\x0b\x32\x10.ast.SpColumnAscH\x00\x12\x31\n\x11sp_column_between\x18\x45 \x01(\x0b\x32\x14.ast.SpColumnBetweenH\x00\x12\x34\n\x13sp_column_case_when\x18\x46 \x01(\x0b\x32\x15.ast.SpColumnCaseWhenH\x00\x12+\n\x0esp_column_cast\x18G \x01(\x0b\x32\x11.ast.SpColumnCastH\x00\x12+\n\x0esp_column_desc\x18H \x01(\x0b\x32\x11.ast.SpColumnDescH\x00\x12\x34\n\x13sp_column_equal_nan\x18I \x01(\x0b\x32\x15.ast.SpColumnEqualNanH\x00\x12\x36\n\x14sp_column_equal_null\x18J \x01(\x0b\x32\x16.ast.SpColumnEqualNullH\x00\x12<\n\x17sp_column_in__dataframe\x18K \x01(\x0b\x32\x19.ast.SpColumnIn_DataframeH\x00\x12\x30\n\x11sp_column_in__seq\x18L \x01(\x0b\x32\x13.ast.SpColumnIn_SeqH\x00\x12\x37\n\x15sp_column_is_not_null\x18M \x01(\x0b\x32\x16.ast.SpColumnIsNotNullH\x00\x12\x30\n\x11sp_column_is_null\x18N \x01(\x0b\x32\x13.ast.SpColumnIsNullH\x00\x12+\n\x0esp_column_name\x18O \x01(\x0b\x32\x11.ast.SpColumnNameH\x00\x12+\n\x0esp_column_over\x18P \x01(\x0b\x32\x11.ast.SpColumnOverH\x00\x12)\n\rsp_column_ref\x18Q \x01(\x0b\x32\x10.ast.SpColumnRefH\x00\x12\x32\n\x12sp_column_sql_expr\x18R \x01(\x0b\x32\x14.ast.SpColumnSqlExprH\x00\x12>\n\x18sp_column_string_collate\x18S \x01(\x0b\x32\x1a.ast.SpColumnStringCollateH\x00\x12@\n\x19sp_column_string_contains\x18T \x01(\x0b\x32\x1b.ast.SpColumnStringContainsH\x00\x12\x41\n\x1asp_column_string_ends_with\x18U \x01(\x0b\x32\x1b.ast.SpColumnStringEndsWithH\x00\x12\x38\n\x15sp_column_string_like\x18V \x01(\x0b\x32\x17.ast.SpColumnStringLikeH\x00\x12<\n\x17sp_column_string_regexp\x18W \x01(\x0b\x32\x19.ast.SpColumnStringRegexpH\x00\x12\x45\n\x1csp_column_string_starts_with\x18X \x01(\x0b\x32\x1d.ast.SpColumnStringStartsWithH\x00\x12<\n\x17sp_column_string_substr\x18Y \x01(\x0b\x32\x19.ast.SpColumnStringSubstrH\x00\x12\x32\n\x12sp_column_try_cast\x18Z \x01(\x0b\x32\x14.ast.SpColumnTryCastH\x00\x12:\n\x16sp_column_within_group\x18[ \x01(\x0b\x32\x18.ast.SpColumnWithinGroupH\x00\x12\'\n\x0csp_copy_into\x18\\ \x01(\x0b\x32\x0f.ast.SpCopyIntoH\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_ \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18` \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\x61 \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\x62 \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x63 \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18\x64 \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x33\n\x12sp_dataframe_apply\x18\x65 \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12@\n\x19sp_dataframe_cache_result\x18\x66 \x01(\x0b\x32\x1b.ast.SpDataframeCacheResultH\x00\x12/\n\x10sp_dataframe_col\x18g \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x12\x37\n\x14sp_dataframe_collect\x18h \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x45\n\x1csp_dataframe_copy_into_table\x18i \x01(\x0b\x32\x1d.ast.SpDataframeCopyIntoTableH\x00\x12\x33\n\x12sp_dataframe_count\x18j \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12\x63\n,sp_dataframe_create_or_replace_dynamic_table\x18k \x01(\x0b\x32+.ast.SpDataframeCreateOrReplaceDynamicTableH\x00\x12R\n#sp_dataframe_create_or_replace_view\x18l \x01(\x0b\x32#.ast.SpDataframeCreateOrReplaceViewH\x00\x12<\n\x17sp_dataframe_cross_join\x18m \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x31\n\x11sp_dataframe_cube\x18n \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x39\n\x15sp_dataframe_describe\x18o \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18p \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18q \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18r \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18s \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18t \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18u \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18v \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12\x38\n\x15sp_dataframe_group_by\x18w \x01(\x0b\x32\x17.ast.SpDataframeGroupByH\x00\x12R\n#sp_dataframe_group_by_grouping_sets\x18x \x01(\x0b\x32#.ast.SpDataframeGroupByGroupingSetsH\x00\x12I\n\x1esp_dataframe_group_by__columns\x18y \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_ColumnsH\x00\x12I\n\x1esp_dataframe_group_by__strings\x18z \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\x12\\\n(sp_dataframe_join__dataframe__join_exprs\x18} \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x62\n+sp_dataframe_join__dataframe__using_columns\x18~ \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12Z\n\'sp_dataframe_join__table_function__list\x18\x7f \x01(\x0b\x32\'.ast.SpDataframeJoin_TableFunction_ListH\x00\x12Y\n&sp_dataframe_join__table_function__map\x18\x80\x01 \x01(\x0b\x32&.ast.SpDataframeJoin_TableFunction_MapH\x00\x12\x34\n\x12sp_dataframe_limit\x18\x81\x01 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x46\n\x1csp_dataframe_na_drop__python\x18\x82\x01 \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x44\n\x1bsp_dataframe_na_drop__scala\x18\x83\x01 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x37\n\x14sp_dataframe_na_fill\x18\x84\x01 \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12=\n\x17sp_dataframe_na_replace\x18\x85\x01 \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12\x41\n\x19sp_dataframe_natural_join\x18\x86\x01 \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12\x43\n\x1asp_dataframe_pivot__column\x18\x87\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_ColumnH\x00\x12\x43\n\x1asp_dataframe_pivot__string\x18\x88\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_StringH\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\x12\x34\n\x12sp_dataframe_union\x18\x9a\x01 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12;\n\x16sp_dataframe_union_all\x18\x9b\x01 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12I\n\x1esp_dataframe_union_all_by_name\x18\x9c\x01 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x42\n\x1asp_dataframe_union_by_name\x18\x9d\x01 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x34\n\x12sp_dataframe_where\x18\x9e\x01 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12?\n\x18sp_dataframe_with_column\x18\x9f\x01 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12N\n sp_dataframe_with_column_renamed\x18\xa0\x01 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12\x41\n\x19sp_dataframe_with_columns\x18\xa1\x01 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x34\n\x12sp_dataframe_write\x18\xa2\x01 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12%\n\nsp_flatten\x18\xa3\x01 \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12)\n\x0csp_generator\x18\xa4\x01 \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12\x30\n\x10sp_grouping_sets\x18\xa5\x01 \x01(\x0b\x32\x13.ast.SpGroupingSetsH\x00\x12!\n\x08sp_range\x18\xa6\x01 \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12(\n\x0csp_read_avro\x18\xa7\x01 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12&\n\x0bsp_read_csv\x18\xa8\x01 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12(\n\x0csp_read_json\x18\xa9\x01 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12&\n\x0bsp_read_orc\x18\xaa\x01 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12.\n\x0fsp_read_parquet\x18\xab\x01 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12*\n\rsp_read_table\x18\xac\x01 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12&\n\x0bsp_read_xml\x18\xad\x01 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12T\n#sp_relational_grouped_dataframe_agg\x18\xae\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12\x65\n,sp_relational_grouped_dataframe_agg__columns\x18\xaf\x01 \x01(\x0b\x32,.ast.SpRelationalGroupedDataframeAgg_ColumnsH\x00\x12]\n(sp_relational_grouped_dataframe_agg__map\x18\xb0\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeAgg_MapH\x00\x12_\n)sp_relational_grouped_dataframe_any_value\x18\xb1\x01 \x01(\x0b\x32).ast.SpRelationalGroupedDataframeAnyValueH\x00\x12T\n#sp_relational_grouped_dataframe_avg\x18\xb2\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAvgH\x00\x12\\\n\'sp_relational_grouped_dataframe_builtin\x18\xb3\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12X\n%sp_relational_grouped_dataframe_count\x18\xb4\x01 \x01(\x0b\x32&.ast.SpRelationalGroupedDataframeCountH\x00\x12T\n#sp_relational_grouped_dataframe_max\x18\xb5\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMaxH\x00\x12V\n$sp_relational_grouped_dataframe_mean\x18\xb6\x01 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeMeanH\x00\x12Z\n&sp_relational_grouped_dataframe_median\x18\xb7\x01 \x01(\x0b\x32\'.ast.SpRelationalGroupedDataframeMedianH\x00\x12T\n#sp_relational_grouped_dataframe_min\x18\xb8\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMinH\x00\x12T\n#sp_relational_grouped_dataframe_ref\x18\xb9\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x12T\n#sp_relational_grouped_dataframe_sum\x18\xba\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeSumH\x00\x12\x1d\n\x06sp_row\x18\xbb\x01 \x01(\x0b\x32\n.ast.SpRowH\x00\x12\x1d\n\x06sp_sql\x18\xbc\x01 \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x36\n\x13sp_stored_procedure\x18\xbd\x01 \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12!\n\x08sp_table\x18\xbe\x01 \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12\x32\n\x11sp_table_function\x18\xbf\x01 \x01(\x0b\x32\x14.ast.SpTableFunctionH\x00\x12\x44\n\x1bsp_write_copy_into_location\x18\xc0\x01 \x01(\x0b\x32\x1c.ast.SpWriteCopyIntoLocationH\x00\x12(\n\x0csp_write_csv\x18\xc1\x01 \x01(\x0b\x32\x0f.ast.SpWriteCsvH\x00\x12*\n\rsp_write_json\x18\xc2\x01 \x01(\x0b\x32\x10.ast.SpWriteJsonH\x00\x12.\n\x0fsp_write_pandas\x18\xc3\x01 \x01(\x0b\x32\x12.ast.SpWritePandasH\x00\x12\x30\n\x10sp_write_parquet\x18\xc4\x01 \x01(\x0b\x32\x13.ast.SpWriteParquetH\x00\x12,\n\x0esp_write_table\x18\xc5\x01 \x01(\x0b\x32\x11.ast.SpWriteTableH\x00\x12\x31\n\x10stored_procedure\x18\xc6\x01 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12%\n\nstring_val\x18\xc7\x01 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12\x18\n\x03sub\x18\xc8\x01 \x01(\x0b\x32\x08.ast.SubH\x00\x12!\n\x08table_fn\x18\xc9\x01 \x01(\x0b\x32\x0c.ast.TableFnH\x00\x12!\n\x08time_val\x18\xca\x01 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12+\n\rtimestamp_val\x18\xcb\x01 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x12#\n\ttuple_val\x18\xcc\x01 \x01(\x0b\x32\r.ast.TupleValH\x00\x12\x18\n\x03udf\x18\xcd\x01 \x01(\x0b\x32\x08.ast.UdfH\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"\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"\x84\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\nstring_val\x18\x11 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12 \n\x08time_val\x18\x12 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12*\n\rtimestamp_val\x18\x13 \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"\xfa*\n\x0fSpDataframeExpr\x12H\n trait_sp_copyable_dataframe_expr\x18\x01 \x01(\x0b\x32\x1c.ast.SpCopyableDataframeExprH\x00\x12J\n!trait_sp_dataframe_reader_options\x18\x02 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\x03 \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12\'\n\x0csp_copy_into\x18\x04 \x01(\x0b\x32\x0f.ast.SpCopyIntoH\x00\x12\x35\n\x13sp_create_dataframe\x18\x05 \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18\x06 \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x07 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x08 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\t \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\n \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x0b \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18\x0c \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x37\n\x14sp_dataframe_collect\x18\r \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x33\n\x12sp_dataframe_count\x18\x0e \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12<\n\x17sp_dataframe_cross_join\x18\x0f \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x39\n\x15sp_dataframe_describe\x18\x10 \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18\x11 \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18\x12 \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18\x13 \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18\x14 \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18\x15 \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18\x16 \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18\x17 \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12;\n\x16sp_dataframe_intersect\x18\x18 \x01(\x0b\x32\x19.ast.SpDataframeIntersectH\x00\x12\x31\n\x11sp_dataframe_join\x18\x19 \x01(\x0b\x32\x14.ast.SpDataframeJoinH\x00\x12\\\n(sp_dataframe_join__dataframe__join_exprs\x18\x1a \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x62\n+sp_dataframe_join__dataframe__using_columns\x18\x1b \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12Z\n\'sp_dataframe_join__table_function__list\x18\x1c \x01(\x0b\x32\'.ast.SpDataframeJoin_TableFunction_ListH\x00\x12X\n&sp_dataframe_join__table_function__map\x18\x1d \x01(\x0b\x32&.ast.SpDataframeJoin_TableFunction_MapH\x00\x12\x33\n\x12sp_dataframe_limit\x18\x1e \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x45\n\x1csp_dataframe_na_drop__python\x18\x1f \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x43\n\x1bsp_dataframe_na_drop__scala\x18 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x36\n\x14sp_dataframe_na_fill\x18! \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12<\n\x17sp_dataframe_na_replace\x18" \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12@\n\x19sp_dataframe_natural_join\x18# \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12@\n\x19sp_dataframe_random_split\x18$ \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\x30 \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x32\n\x12sp_dataframe_to_df\x18\x31 \x01(\x0b\x32\x14.ast.SpDataframeToDfH\x00\x12\x33\n\x12sp_dataframe_union\x18\x32 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12:\n\x16sp_dataframe_union_all\x18\x33 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12H\n\x1esp_dataframe_union_all_by_name\x18\x34 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x41\n\x1asp_dataframe_union_by_name\x18\x35 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x33\n\x12sp_dataframe_where\x18\x36 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12>\n\x18sp_dataframe_with_column\x18\x37 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12M\n sp_dataframe_with_column_renamed\x18\x38 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12@\n\x19sp_dataframe_with_columns\x18\x39 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x33\n\x12sp_dataframe_write\x18: \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\x41 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12-\n\x0fsp_read_parquet\x18\x42 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12)\n\rsp_read_table\x18\x43 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12%\n\x0bsp_read_xml\x18\x44 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12S\n#sp_relational_grouped_dataframe_agg\x18\x45 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12\x64\n,sp_relational_grouped_dataframe_agg__columns\x18\x46 \x01(\x0b\x32,.ast.SpRelationalGroupedDataframeAgg_ColumnsH\x00\x12\\\n(sp_relational_grouped_dataframe_agg__map\x18G \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeAgg_MapH\x00\x12^\n)sp_relational_grouped_dataframe_any_value\x18H \x01(\x0b\x32).ast.SpRelationalGroupedDataframeAnyValueH\x00\x12S\n#sp_relational_grouped_dataframe_avg\x18I \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAvgH\x00\x12[\n\'sp_relational_grouped_dataframe_builtin\x18J \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12W\n%sp_relational_grouped_dataframe_count\x18K \x01(\x0b\x32&.ast.SpRelationalGroupedDataframeCountH\x00\x12S\n#sp_relational_grouped_dataframe_max\x18L \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMaxH\x00\x12U\n$sp_relational_grouped_dataframe_mean\x18M \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeMeanH\x00\x12Y\n&sp_relational_grouped_dataframe_median\x18N \x01(\x0b\x32\'.ast.SpRelationalGroupedDataframeMedianH\x00\x12S\n#sp_relational_grouped_dataframe_min\x18O \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMinH\x00\x12S\n#sp_relational_grouped_dataframe_sum\x18P \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeSumH\x00\x12\x1c\n\x06sp_sql\x18Q \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x35\n\x13sp_stored_procedure\x18R \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12 \n\x08sp_table\x18S \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12\x31\n\x11sp_table_function\x18T \x01(\x0b\x32\x14.ast.SpTableFunctionH\x00\x12-\n\x0fsp_write_pandas\x18U \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"~\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\x0fSpTableFunction\x12,\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1e.ast.Tuple_String_SpColumnExpr\x12\n\n\x02\x66n\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"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"\x8e\x02\n!SpDataframeJoin_TableFunction_Map\x12,\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1e.ast.Tuple_String_SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12"\n\x04\x66unc\x18\x03 \x01(\x0b\x32\x14.ast.SpTableFunction\x12(\n\x08order_by\x18\x04 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12,\n\x0cpartition_by\x18\x05 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x02\n"SpDataframeJoin_TableFunction_List\x12\x1f\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12"\n\x04\x66unc\x18\x03 \x01(\x0b\x32\x14.ast.SpTableFunction\x12(\n\x08order_by\x18\x04 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12,\n\x0cpartition_by\x18\x05 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x07 \x01(\x08"\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"\xa3\x01\n\x17SpDataframePivot_Column\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\'\n\x0cpivot_column\x18\x02 \x01(\x0b\x32\x11.ast.SpColumnExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1e\n\x06values\x18\x04 \x03(\x0b\x32\x0e.ast.SpVariant"\x90\x01\n\x17SpDataframePivot_String\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x14\n\x0cpivot_column\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1e\n\x06values\x18\x04 \x03(\x0b\x32\x0e.ast.SpVariant"\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"\x84\x04\n\x17SpCopyableDataframeExpr\x12J\n!trait_sp_dataframe_reader_options\x18\x01 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\x02 \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12\'\n\x0csp_copy_into\x18\x03 \x01(\x0b\x32\x0f.ast.SpCopyIntoH\x00\x12\'\n\x0csp_read_avro\x18\x04 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12%\n\x0bsp_read_csv\x18\x05 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12\'\n\x0csp_read_json\x18\x06 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12%\n\x0bsp_read_orc\x18\x07 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12-\n\x0fsp_read_parquet\x18\x08 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12)\n\rsp_read_table\x18\t \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12%\n\x0bsp_read_xml\x18\n \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x42\t\n\x07variant"6\n\x18SpDataframeReaderOptions\x12\x0f\n\x05\x64ummy\x18\x01 \x01(\x08H\x00\x42\t\n\x07variant"5\n\x17SpDataframeReaderSchema\x12\x0f\n\x05\x64ummy\x18\x01 \x01(\x08H\x00\x42\t\n\x07variant"9\n\nSpReadAvro\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"8\n\tSpReadCsv\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"9\n\nSpReadJson\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"8\n\tSpReadOrc\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"<\n\rSpReadParquet\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition":\n\x0bSpReadTable\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"8\n\tSpReadXml\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\xcb\x01\n\nSpCopyInto\x12*\n\x07options\x18\x01 \x01(\x0b\x32\x19.ast.Map_String_SpVariant\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x12\n\ntable_name\x18\x03 \x01(\t\x12-\n\x13target_column_names\x18\x04 \x01(\x0b\x32\x10.ast.List_String\x12/\n\x0ftransformations\x18\x05 \x01(\x0b\x32\x16.ast.List_SpColumnExpr"\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"\xea\x02\n\x0cSpWriteTable\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\'\n\x0f\x63lustering_keys\x18\x02 \x01(\x0b\x32\x0e.ast.List_Expr\x12\x14\n\x0c\x63olumn_order\x18\x03 \x01(\t\x12-\n\x07\x63omment\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x19\n\x11\x63reate_temp_table\x18\x05 \x01(\x08\x12\x16\n\x02id\x18\x06 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x04mode\x18\x07 \x01(\x0b\x32\x0f.ast.SpSaveMode\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\x12$\n\ntable_name\x18\n \x01(\x0b\x32\x10.ast.SpTableName\x12\x12\n\ntable_type\x18\x0b \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"\xfa\x01\n&SpDataframeCreateOrReplaceDynamicTable\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\x0b\n\x03lag\x18\x03 \x01(\t\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\x12\x11\n\twarehouse\x18\x07 \x01(\t"\xb7\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-\n\x07pattern\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\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\x12\x12\n\ntable_name\x18\x08 \x03(\t\x12\x16\n\x0etarget_columns\x18\t \x03(\t\x12"\n\x0ftransformations\x18\n \x03(\x0b\x32\t.ast.Expr\x12\x35\n\x0fvalidation_mode\x18\x0b \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"\xa8\x06\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\x42\n\x1asp_dataframe_pivot__column\x18\x06 \x01(\x0b\x32\x1c.ast.SpDataframePivot_ColumnH\x00\x12\x42\n\x1asp_dataframe_pivot__string\x18\x07 \x01(\x0b\x32\x1c.ast.SpDataframePivot_StringH\x00\x12\x35\n\x13sp_dataframe_rollup\x18\x08 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12\x46\n\x1csp_dataframe_rollup__columns\x18\t \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12\x46\n\x1csp_dataframe_rollup__strings\x18\n \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12S\n#sp_relational_grouped_dataframe_ref\x18\x0b \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"\xc9\x01\n#SpRelationalGroupedDataframeAgg_Map\x12 \n\x05\x65xprs\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12\x14\n\x0c\x65xprs_is_map\x18\x02 \x01(\x08\x12\x39\n\ngrouped_df\x18\x03 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x05 \x01(\x08"\xb7\x01\n\'SpRelationalGroupedDataframeAgg_Columns\x12 \n\x05\x65xprs\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"\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"\x99\x01\n$SpRelationalGroupedDataframeAnyValue\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeAvg\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xaa\x01\n#SpRelationalGroupedDataframeBuiltin\x12\x10\n\x08\x61gg_name\x18\x01 \x01(\t\x12\x17\n\x04\x63ols\x18\x02 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x03 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"}\n!SpRelationalGroupedDataframeCount\x12\x39\n\ngrouped_df\x18\x01 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeMax\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x95\x01\n SpRelationalGroupedDataframeMean\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x97\x01\n"SpRelationalGroupedDataframeMedian\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeMin\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeSum\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"^\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":\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"\xad[\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+\n\x11trait_fn_ref_expr\x18\x04 \x01(\x0b\x32\x0e.ast.FnRefExprH\x00\x12\x31\n\x14trait_sp_column_expr\x18\x05 \x01(\x0b\x32\x11.ast.SpColumnExprH\x00\x12-\n\x12trait_sp_column_fn\x18\x06 \x01(\x0b\x32\x0f.ast.SpColumnFnH\x00\x12H\n trait_sp_copyable_dataframe_expr\x18\x07 \x01(\x0b\x32\x1c.ast.SpCopyableDataframeExprH\x00\x12\x37\n\x17trait_sp_dataframe_expr\x18\x08 \x01(\x0b\x32\x14.ast.SpDataframeExprH\x00\x12J\n!trait_sp_dataframe_reader_options\x18\t \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\n \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\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[\n*trait_sp_relational_grouped_dataframe_expr\x18\x0e \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExprH\x00\x12:\n\x19trait_sp_window_spec_expr\x18\x0f \x01(\x0b\x32\x15.ast.SpWindowSpecExprH\x00\x12/\n\x13trait_sp_write_file\x18\x10 \x01(\x0b\x32\x10.ast.SpWriteFileH\x00\x12&\n\x0etrait_unary_op\x18\x11 \x01(\x0b\x32\x0c.ast.UnaryOpH\x00\x12\x17\n\x03\x61\x64\x64\x18\x12 \x01(\x0b\x32\x08.ast.AddH\x00\x12\x17\n\x03\x61nd\x18\x13 \x01(\x0b\x32\x08.ast.AndH\x00\x12$\n\napply_expr\x18\x14 \x01(\x0b\x32\x0e.ast.ApplyExprH\x00\x12-\n\x0f\x62ig_decimal_val\x18\x15 \x01(\x0b\x32\x12.ast.BigDecimalValH\x00\x12%\n\x0b\x62ig_int_val\x18\x16 \x01(\x0b\x32\x0e.ast.BigIntValH\x00\x12$\n\nbinary_val\x18\x17 \x01(\x0b\x32\x0e.ast.BinaryValH\x00\x12\x1e\n\x07\x62it_and\x18\x18 \x01(\x0b\x32\x0b.ast.BitAndH\x00\x12\x1c\n\x06\x62it_or\x18\x19 \x01(\x0b\x32\n.ast.BitOrH\x00\x12\x1e\n\x07\x62it_xor\x18\x1a \x01(\x0b\x32\x0b.ast.BitXorH\x00\x12 \n\x08\x62ool_val\x18\x1b \x01(\x0b\x32\x0c.ast.BoolValH\x00\x12$\n\nbuiltin_fn\x18\x1c \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12"\n\tcast_expr\x18\x1d \x01(\x0b\x32\r.ast.CastExprH\x00\x12 \n\x08\x64\x61te_val\x18\x1e \x01(\x0b\x32\x0c.ast.DateValH\x00\x12\x17\n\x03\x64iv\x18\x1f \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\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/ \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12\x17\n\x03not\x18\x30 \x01(\x0b\x32\x08.ast.NotH\x00\x12 \n\x08null_val\x18\x31 \x01(\x0b\x32\x0c.ast.NullValH\x00\x12\x15\n\x02or\x18\x32 \x01(\x0b\x32\x07.ast.OrH\x00\x12(\n\x0cpd_dataframe\x18\x33 \x01(\x0b\x32\x10.ast.PdDataframeH\x00\x12\x38\n\x15pd_dataframe_get_item\x18\x34 \x01(\x0b\x32\x17.ast.PdDataframeGetItemH\x00\x12\x32\n\x12pd_dataframe_i_loc\x18\x35 \x01(\x0b\x32\x14.ast.PdDataframeILocH\x00\x12/\n\x10pd_dataframe_loc\x18\x36 \x01(\x0b\x32\x13.ast.PdDataframeLocH\x00\x12\x38\n\x15pd_dataframe_set_item\x18\x37 \x01(\x0b\x32\x17.ast.PdDataframeSetItemH\x00\x12#\n\npd_drop_na\x18\x38 \x01(\x0b\x32\r.ast.PdDropNaH\x00\x12\x1e\n\x07pd_repr\x18\x39 \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? \x01(\x0b\x32\x08.ast.RefH\x00\x12%\n\x0bseq_map_val\x18@ \x01(\x0b\x32\x0e.ast.SeqMapValH\x00\x12/\n\x10session_table_fn\x18\x41 \x01(\x0b\x32\x13.ast.SessionTableFnH\x00\x12 \n\x08some_val\x18\x42 \x01(\x0b\x32\x0c.ast.SomeValH\x00\x12\'\n\x0csp_case_expr\x18\x43 \x01(\x0b\x32\x0f.ast.SpCaseExprH\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\'\n\x0csp_copy_into\x18_ \x01(\x0b\x32\x0f.ast.SpCopyIntoH\x00\x12\x35\n\x13sp_create_dataframe\x18` \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18\x61 \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x62 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x63 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\x64 \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\x65 \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x66 \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18g \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x33\n\x12sp_dataframe_apply\x18h \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12@\n\x19sp_dataframe_cache_result\x18i \x01(\x0b\x32\x1b.ast.SpDataframeCacheResultH\x00\x12/\n\x10sp_dataframe_col\x18j \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x12\x37\n\x14sp_dataframe_collect\x18k \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x45\n\x1csp_dataframe_copy_into_table\x18l \x01(\x0b\x32\x1d.ast.SpDataframeCopyIntoTableH\x00\x12\x33\n\x12sp_dataframe_count\x18m \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12\x63\n,sp_dataframe_create_or_replace_dynamic_table\x18n \x01(\x0b\x32+.ast.SpDataframeCreateOrReplaceDynamicTableH\x00\x12R\n#sp_dataframe_create_or_replace_view\x18o \x01(\x0b\x32#.ast.SpDataframeCreateOrReplaceViewH\x00\x12<\n\x17sp_dataframe_cross_join\x18p \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x31\n\x11sp_dataframe_cube\x18q \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x39\n\x15sp_dataframe_describe\x18r \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18s \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18t \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18u \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18v \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18w \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18x \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18y \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12\x38\n\x15sp_dataframe_group_by\x18z \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| \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\x7f \x01(\x0b\x32\x14.ast.SpDataframeJoinH\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[\n\'sp_dataframe_join__table_function__list\x18\x82\x01 \x01(\x0b\x32\'.ast.SpDataframeJoin_TableFunction_ListH\x00\x12Y\n&sp_dataframe_join__table_function__map\x18\x83\x01 \x01(\x0b\x32&.ast.SpDataframeJoin_TableFunction_MapH\x00\x12\x34\n\x12sp_dataframe_limit\x18\x84\x01 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x46\n\x1csp_dataframe_na_drop__python\x18\x85\x01 \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x44\n\x1bsp_dataframe_na_drop__scala\x18\x86\x01 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x37\n\x14sp_dataframe_na_fill\x18\x87\x01 \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12=\n\x17sp_dataframe_na_replace\x18\x88\x01 \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12\x41\n\x19sp_dataframe_natural_join\x18\x89\x01 \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12\x43\n\x1asp_dataframe_pivot__column\x18\x8a\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_ColumnH\x00\x12\x43\n\x1asp_dataframe_pivot__string\x18\x8b\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_StringH\x00\x12\x41\n\x19sp_dataframe_random_split\x18\x8c\x01 \x01(\x0b\x32\x1b.ast.SpDataframeRandomSplitH\x00\x12\x30\n\x10sp_dataframe_ref\x18\x8d\x01 \x01(\x0b\x32\x13.ast.SpDataframeRefH\x00\x12\x36\n\x13sp_dataframe_rename\x18\x8e\x01 \x01(\x0b\x32\x16.ast.SpDataframeRenameH\x00\x12\x36\n\x13sp_dataframe_rollup\x18\x8f\x01 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12G\n\x1csp_dataframe_rollup__columns\x18\x90\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12G\n\x1csp_dataframe_rollup__strings\x18\x91\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12\x36\n\x13sp_dataframe_sample\x18\x92\x01 \x01(\x0b\x32\x16.ast.SpDataframeSampleH\x00\x12G\n\x1csp_dataframe_select__columns\x18\x93\x01 \x01(\x0b\x32\x1e.ast.SpDataframeSelect_ColumnsH\x00\x12\x43\n\x1asp_dataframe_select__exprs\x18\x94\x01 \x01(\x0b\x32\x1c.ast.SpDataframeSelect_ExprsH\x00\x12\x32\n\x11sp_dataframe_show\x18\x95\x01 \x01(\x0b\x32\x14.ast.SpDataframeShowH\x00\x12\x32\n\x11sp_dataframe_sort\x18\x96\x01 \x01(\x0b\x32\x14.ast.SpDataframeSortH\x00\x12P\n!sp_dataframe_stat_approx_quantile\x18\x97\x01 \x01(\x0b\x32".ast.SpDataframeStatApproxQuantileH\x00\x12;\n\x16sp_dataframe_stat_corr\x18\x98\x01 \x01(\x0b\x32\x18.ast.SpDataframeStatCorrH\x00\x12\x39\n\x15sp_dataframe_stat_cov\x18\x99\x01 \x01(\x0b\x32\x17.ast.SpDataframeStatCovH\x00\x12\x44\n\x1bsp_dataframe_stat_cross_tab\x18\x9a\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatCrossTabH\x00\x12\x44\n\x1bsp_dataframe_stat_sample_by\x18\x9b\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x33\n\x12sp_dataframe_to_df\x18\x9c\x01 \x01(\x0b\x32\x14.ast.SpDataframeToDfH\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\x34\n\x12sp_dataframe_where\x18\xa1\x01 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12?\n\x18sp_dataframe_with_column\x18\xa2\x01 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12N\n sp_dataframe_with_column_renamed\x18\xa3\x01 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12\x41\n\x19sp_dataframe_with_columns\x18\xa4\x01 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x34\n\x12sp_dataframe_write\x18\xa5\x01 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12%\n\nsp_flatten\x18\xa6\x01 \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12)\n\x0csp_generator\x18\xa7\x01 \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12\x30\n\x10sp_grouping_sets\x18\xa8\x01 \x01(\x0b\x32\x13.ast.SpGroupingSetsH\x00\x12!\n\x08sp_range\x18\xa9\x01 \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12(\n\x0csp_read_avro\x18\xaa\x01 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12&\n\x0bsp_read_csv\x18\xab\x01 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12(\n\x0csp_read_json\x18\xac\x01 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12&\n\x0bsp_read_orc\x18\xad\x01 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12.\n\x0fsp_read_parquet\x18\xae\x01 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12*\n\rsp_read_table\x18\xaf\x01 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12&\n\x0bsp_read_xml\x18\xb0\x01 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12T\n#sp_relational_grouped_dataframe_agg\x18\xb1\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12\x65\n,sp_relational_grouped_dataframe_agg__columns\x18\xb2\x01 \x01(\x0b\x32,.ast.SpRelationalGroupedDataframeAgg_ColumnsH\x00\x12]\n(sp_relational_grouped_dataframe_agg__map\x18\xb3\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeAgg_MapH\x00\x12_\n)sp_relational_grouped_dataframe_any_value\x18\xb4\x01 \x01(\x0b\x32).ast.SpRelationalGroupedDataframeAnyValueH\x00\x12T\n#sp_relational_grouped_dataframe_avg\x18\xb5\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAvgH\x00\x12\\\n\'sp_relational_grouped_dataframe_builtin\x18\xb6\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12X\n%sp_relational_grouped_dataframe_count\x18\xb7\x01 \x01(\x0b\x32&.ast.SpRelationalGroupedDataframeCountH\x00\x12T\n#sp_relational_grouped_dataframe_max\x18\xb8\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMaxH\x00\x12V\n$sp_relational_grouped_dataframe_mean\x18\xb9\x01 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeMeanH\x00\x12Z\n&sp_relational_grouped_dataframe_median\x18\xba\x01 \x01(\x0b\x32\'.ast.SpRelationalGroupedDataframeMedianH\x00\x12T\n#sp_relational_grouped_dataframe_min\x18\xbb\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMinH\x00\x12T\n#sp_relational_grouped_dataframe_ref\x18\xbc\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x12T\n#sp_relational_grouped_dataframe_sum\x18\xbd\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeSumH\x00\x12\x1d\n\x06sp_row\x18\xbe\x01 \x01(\x0b\x32\n.ast.SpRowH\x00\x12\x1d\n\x06sp_sql\x18\xbf\x01 \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x36\n\x13sp_stored_procedure\x18\xc0\x01 \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12!\n\x08sp_table\x18\xc1\x01 \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12\x32\n\x11sp_table_function\x18\xc2\x01 \x01(\x0b\x32\x14.ast.SpTableFunctionH\x00\x12\x37\n\x14sp_window_spec_empty\x18\xc3\x01 \x01(\x0b\x32\x16.ast.SpWindowSpecEmptyH\x00\x12<\n\x17sp_window_spec_order_by\x18\xc4\x01 \x01(\x0b\x32\x18.ast.SpWindowSpecOrderByH\x00\x12\x44\n\x1bsp_window_spec_partition_by\x18\xc5\x01 \x01(\x0b\x32\x1c.ast.SpWindowSpecPartitionByH\x00\x12\x46\n\x1csp_window_spec_range_between\x18\xc6\x01 \x01(\x0b\x32\x1d.ast.SpWindowSpecRangeBetweenH\x00\x12\x44\n\x1bsp_window_spec_rows_between\x18\xc7\x01 \x01(\x0b\x32\x1c.ast.SpWindowSpecRowsBetweenH\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\x08table_fn\x18\xd1\x01 \x01(\x0b\x32\x0c.ast.TableFnH\x00\x12!\n\x08time_val\x18\xd2\x01 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12+\n\rtimestamp_val\x18\xd3\x01 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x12#\n\ttuple_val\x18\xd4\x01 \x01(\x0b\x32\r.ast.TupleValH\x00\x12\x18\n\x03udf\x18\xd5\x01 \x01(\x0b\x32\x08.ast.UdfH\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%\n\x1c\x63om.snowflake.snowpark.proto\xe2?\x04H\x01X\x00\x62\x06proto3' + b'\n\x18Snowpark/proto/ast.proto\x12\x03\x61st\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x15scalapb/scalapb.proto"$\n\tList_Expr\x12\x17\n\x04list\x18\x01 \x03(\x0b\x32\t.ast.Expr"4\n\x11List_SpColumnExpr\x12\x1f\n\x04list\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr"\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"A\n\x14Map_String_SpVariant\x12)\n\x04list\x18\x01 \x03(\x0b\x32\x1b.ast.Tuple_String_SpVariant";\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"F\n\x19Tuple_String_SpColumnExpr\x12\n\n\x02_1\x18\x01 \x01(\t\x12\x1d\n\x02_2\x18\x02 \x01(\x0b\x32\x11.ast.SpColumnExpr"@\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"\xc8\x01\n\x0fTableFnCallType\x12%\n\x1btable_fn_call_type__builtin\x18\x01 \x01(\x08H\x00\x12+\n!table_fn_call_type__call_table_fn\x18\x02 \x01(\x08H\x00\x12.\n$table_fn_call_type__session_table_fn\x18\x03 \x01(\x08H\x00\x12&\n\x1ctable_fn_call_type__table_fn\x18\x04 \x01(\x08H\x00\x42\t\n\x07variant"\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"\xa2\x06\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\x17\n\rsp_short_type\x18\x10 \x01(\x08H\x00\x12+\n\x0esp_string_type\x18\x11 \x01(\x0b\x32\x11.ast.SpStringTypeH\x00\x12-\n\x0fsp_struct_field\x18\x12 \x01(\x0b\x32\x12.ast.SpStructFieldH\x00\x12+\n\x0esp_struct_type\x18\x13 \x01(\x0b\x32\x11.ast.SpStructTypeH\x00\x12\x16\n\x0csp_time_type\x18\x14 \x01(\x08H\x00\x12\x31\n\x11sp_timestamp_type\x18\x15 \x01(\x0b\x32\x14.ast.SpTimestampTypeH\x00\x12\x19\n\x0fsp_variant_type\x18\x16 \x01(\x08H\x00\x12+\n\x0esp_vector_type\x18\x17 \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"\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"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"\xaf\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\nstring_val\x18\x0f \x01(\x0b\x32\x0e.ast.StringValH\x00\x12 \n\x08time_val\x18\x10 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12*\n\rtimestamp_val\x18\x11 \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"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"\xda\x01\n\tFnRefExpr\x12$\n\nbuiltin_fn\x18\x01 \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12/\n\x10session_table_fn\x18\x02 \x01(\x0b\x32\x13.ast.SessionTableFnH\x00\x12\x30\n\x10stored_procedure\x18\x03 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12 \n\x08table_fn\x18\x04 \x01(\x0b\x32\x0c.ast.TableFnH\x00\x12\x17\n\x03udf\x18\x05 \x01(\x0b\x32\x08.ast.UdfH\x00\x42\t\n\x07variant"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"\xb3\x01\n\x0fStoredProcedure\x12\x34\n\x10log_on_exception\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x19\n\x04name\x18\x02 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x30\n\x10statement_params\x18\x04 \x03(\x0b\x32\x16.ast.Tuple_String_Expr"?\n\x03Udf\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"J\n\x0eSessionTableFn\x12\x19\n\x04name\x18\x01 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"l\n\x07TableFn\x12\'\n\tcall_type\x18\x01 \x01(\x0b\x32\x14.ast.TableFnCallType\x12\x19\n\x04name\x18\x02 \x01(\x0b\x32\x0b.ast.FnName\x12\x1d\n\x03src\x18\x03 \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"\xcfW\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+\n\x11trait_fn_ref_expr\x18\x03 \x01(\x0b\x32\x0e.ast.FnRefExprH\x00\x12\x31\n\x14trait_sp_column_expr\x18\x04 \x01(\x0b\x32\x11.ast.SpColumnExprH\x00\x12-\n\x12trait_sp_column_fn\x18\x05 \x01(\x0b\x32\x0f.ast.SpColumnFnH\x00\x12H\n trait_sp_copyable_dataframe_expr\x18\x06 \x01(\x0b\x32\x1c.ast.SpCopyableDataframeExprH\x00\x12\x37\n\x17trait_sp_dataframe_expr\x18\x07 \x01(\x0b\x32\x14.ast.SpDataframeExprH\x00\x12J\n!trait_sp_dataframe_reader_options\x18\x08 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\t \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12;\n\x19trait_sp_dataframe_writer\x18\n \x01(\x0b\x32\x16.ast.SpDataframeWriterH\x00\x12J\n!trait_sp_dataframe_writer_options\x18\x0b \x01(\x0b\x32\x1d.ast.SpDataframeWriterOptionsH\x00\x12M\n#trait_sp_dataframe_writer_save_mode\x18\x0c \x01(\x0b\x32\x1e.ast.SpDataframeWriterSaveModeH\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\tcast_expr\x18\x1b \x01(\x0b\x32\r.ast.CastExprH\x00\x12 \n\x08\x64\x61te_val\x18\x1c \x01(\x0b\x32\x0c.ast.DateValH\x00\x12\x17\n\x03\x64iv\x18\x1d \x01(\x0b\x32\x08.ast.DivH\x00\x12\x15\n\x02\x65q\x18\x1e \x01(\x0b\x32\x07.ast.EqH\x00\x12&\n\x0b\x66loat64_val\x18\x1f \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\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- \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12\x17\n\x03not\x18. \x01(\x0b\x32\x08.ast.NotH\x00\x12 \n\x08null_val\x18/ \x01(\x0b\x32\x0c.ast.NullValH\x00\x12\x15\n\x02or\x18\x30 \x01(\x0b\x32\x07.ast.OrH\x00\x12(\n\x0cpd_dataframe\x18\x31 \x01(\x0b\x32\x10.ast.PdDataframeH\x00\x12\x38\n\x15pd_dataframe_get_item\x18\x32 \x01(\x0b\x32\x17.ast.PdDataframeGetItemH\x00\x12\x32\n\x12pd_dataframe_i_loc\x18\x33 \x01(\x0b\x32\x14.ast.PdDataframeILocH\x00\x12/\n\x10pd_dataframe_loc\x18\x34 \x01(\x0b\x32\x13.ast.PdDataframeLocH\x00\x12\x38\n\x15pd_dataframe_set_item\x18\x35 \x01(\x0b\x32\x17.ast.PdDataframeSetItemH\x00\x12#\n\npd_drop_na\x18\x36 \x01(\x0b\x32\r.ast.PdDropNaH\x00\x12\x1e\n\x07pd_repr\x18\x37 \x01(\x0b\x32\x0b.ast.PdReprH\x00\x12\x17\n\x03pow\x18\x38 \x01(\x0b\x32\x08.ast.PowH\x00\x12-\n\x0fpython_date_val\x18\x39 \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= \x01(\x0b\x32\x08.ast.RefH\x00\x12%\n\x0bseq_map_val\x18> \x01(\x0b\x32\x0e.ast.SeqMapValH\x00\x12/\n\x10session_table_fn\x18? \x01(\x0b\x32\x13.ast.SessionTableFnH\x00\x12 \n\x08some_val\x18@ \x01(\x0b\x32\x0c.ast.SomeValH\x00\x12-\n\x0fsp_column_alias\x18\x41 \x01(\x0b\x32\x12.ast.SpColumnAliasH\x00\x12\x36\n\x14sp_column_apply__int\x18\x42 \x01(\x0b\x32\x16.ast.SpColumnApply_IntH\x00\x12<\n\x17sp_column_apply__string\x18\x43 \x01(\x0b\x32\x19.ast.SpColumnApply_StringH\x00\x12)\n\rsp_column_asc\x18\x44 \x01(\x0b\x32\x10.ast.SpColumnAscH\x00\x12\x31\n\x11sp_column_between\x18\x45 \x01(\x0b\x32\x14.ast.SpColumnBetweenH\x00\x12\x34\n\x13sp_column_case_when\x18\x46 \x01(\x0b\x32\x15.ast.SpColumnCaseWhenH\x00\x12+\n\x0esp_column_cast\x18G \x01(\x0b\x32\x11.ast.SpColumnCastH\x00\x12+\n\x0esp_column_desc\x18H \x01(\x0b\x32\x11.ast.SpColumnDescH\x00\x12\x34\n\x13sp_column_equal_nan\x18I \x01(\x0b\x32\x15.ast.SpColumnEqualNanH\x00\x12\x36\n\x14sp_column_equal_null\x18J \x01(\x0b\x32\x16.ast.SpColumnEqualNullH\x00\x12<\n\x17sp_column_in__dataframe\x18K \x01(\x0b\x32\x19.ast.SpColumnIn_DataframeH\x00\x12\x30\n\x11sp_column_in__seq\x18L \x01(\x0b\x32\x13.ast.SpColumnIn_SeqH\x00\x12\x37\n\x15sp_column_is_not_null\x18M \x01(\x0b\x32\x16.ast.SpColumnIsNotNullH\x00\x12\x30\n\x11sp_column_is_null\x18N \x01(\x0b\x32\x13.ast.SpColumnIsNullH\x00\x12+\n\x0esp_column_name\x18O \x01(\x0b\x32\x11.ast.SpColumnNameH\x00\x12+\n\x0esp_column_over\x18P \x01(\x0b\x32\x11.ast.SpColumnOverH\x00\x12)\n\rsp_column_ref\x18Q \x01(\x0b\x32\x10.ast.SpColumnRefH\x00\x12\x32\n\x12sp_column_sql_expr\x18R \x01(\x0b\x32\x14.ast.SpColumnSqlExprH\x00\x12>\n\x18sp_column_string_collate\x18S \x01(\x0b\x32\x1a.ast.SpColumnStringCollateH\x00\x12@\n\x19sp_column_string_contains\x18T \x01(\x0b\x32\x1b.ast.SpColumnStringContainsH\x00\x12\x41\n\x1asp_column_string_ends_with\x18U \x01(\x0b\x32\x1b.ast.SpColumnStringEndsWithH\x00\x12\x38\n\x15sp_column_string_like\x18V \x01(\x0b\x32\x17.ast.SpColumnStringLikeH\x00\x12<\n\x17sp_column_string_regexp\x18W \x01(\x0b\x32\x19.ast.SpColumnStringRegexpH\x00\x12\x45\n\x1csp_column_string_starts_with\x18X \x01(\x0b\x32\x1d.ast.SpColumnStringStartsWithH\x00\x12<\n\x17sp_column_string_substr\x18Y \x01(\x0b\x32\x19.ast.SpColumnStringSubstrH\x00\x12\x32\n\x12sp_column_try_cast\x18Z \x01(\x0b\x32\x14.ast.SpColumnTryCastH\x00\x12:\n\x16sp_column_within_group\x18[ \x01(\x0b\x32\x18.ast.SpColumnWithinGroupH\x00\x12\'\n\x0csp_copy_into\x18\\ \x01(\x0b\x32\x0f.ast.SpCopyIntoH\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_ \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18` \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\x61 \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\x62 \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x63 \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18\x64 \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x33\n\x12sp_dataframe_apply\x18\x65 \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12@\n\x19sp_dataframe_cache_result\x18\x66 \x01(\x0b\x32\x1b.ast.SpDataframeCacheResultH\x00\x12/\n\x10sp_dataframe_col\x18g \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x12\x37\n\x14sp_dataframe_collect\x18h \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x45\n\x1csp_dataframe_copy_into_table\x18i \x01(\x0b\x32\x1d.ast.SpDataframeCopyIntoTableH\x00\x12\x33\n\x12sp_dataframe_count\x18j \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12\x63\n,sp_dataframe_create_or_replace_dynamic_table\x18k \x01(\x0b\x32+.ast.SpDataframeCreateOrReplaceDynamicTableH\x00\x12R\n#sp_dataframe_create_or_replace_view\x18l \x01(\x0b\x32#.ast.SpDataframeCreateOrReplaceViewH\x00\x12<\n\x17sp_dataframe_cross_join\x18m \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x31\n\x11sp_dataframe_cube\x18n \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x39\n\x15sp_dataframe_describe\x18o \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18p \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18q \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18r \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18s \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18t \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18u \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18v \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12\x38\n\x15sp_dataframe_group_by\x18w \x01(\x0b\x32\x17.ast.SpDataframeGroupByH\x00\x12R\n#sp_dataframe_group_by_grouping_sets\x18x \x01(\x0b\x32#.ast.SpDataframeGroupByGroupingSetsH\x00\x12I\n\x1esp_dataframe_group_by__columns\x18y \x01(\x0b\x32\x1f.ast.SpDataframeGroupBy_ColumnsH\x00\x12I\n\x1esp_dataframe_group_by__strings\x18z \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\x12\\\n(sp_dataframe_join__dataframe__join_exprs\x18} \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x62\n+sp_dataframe_join__dataframe__using_columns\x18~ \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12Z\n\'sp_dataframe_join__table_function__list\x18\x7f \x01(\x0b\x32\'.ast.SpDataframeJoin_TableFunction_ListH\x00\x12Y\n&sp_dataframe_join__table_function__map\x18\x80\x01 \x01(\x0b\x32&.ast.SpDataframeJoin_TableFunction_MapH\x00\x12\x34\n\x12sp_dataframe_limit\x18\x81\x01 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x46\n\x1csp_dataframe_na_drop__python\x18\x82\x01 \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x44\n\x1bsp_dataframe_na_drop__scala\x18\x83\x01 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x37\n\x14sp_dataframe_na_fill\x18\x84\x01 \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12=\n\x17sp_dataframe_na_replace\x18\x85\x01 \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12\x41\n\x19sp_dataframe_natural_join\x18\x86\x01 \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12\x43\n\x1asp_dataframe_pivot__column\x18\x87\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_ColumnH\x00\x12\x43\n\x1asp_dataframe_pivot__string\x18\x88\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_StringH\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\x12\x34\n\x12sp_dataframe_union\x18\x9a\x01 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12;\n\x16sp_dataframe_union_all\x18\x9b\x01 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12I\n\x1esp_dataframe_union_all_by_name\x18\x9c\x01 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x42\n\x1asp_dataframe_union_by_name\x18\x9d\x01 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x34\n\x12sp_dataframe_where\x18\x9e\x01 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12?\n\x18sp_dataframe_with_column\x18\x9f\x01 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12N\n sp_dataframe_with_column_renamed\x18\xa0\x01 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12\x41\n\x19sp_dataframe_with_columns\x18\xa1\x01 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x34\n\x12sp_dataframe_write\x18\xa2\x01 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12%\n\nsp_flatten\x18\xa3\x01 \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12)\n\x0csp_generator\x18\xa4\x01 \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12\x30\n\x10sp_grouping_sets\x18\xa5\x01 \x01(\x0b\x32\x13.ast.SpGroupingSetsH\x00\x12!\n\x08sp_range\x18\xa6\x01 \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12(\n\x0csp_read_avro\x18\xa7\x01 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12&\n\x0bsp_read_csv\x18\xa8\x01 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12(\n\x0csp_read_json\x18\xa9\x01 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12&\n\x0bsp_read_orc\x18\xaa\x01 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12.\n\x0fsp_read_parquet\x18\xab\x01 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12*\n\rsp_read_table\x18\xac\x01 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12&\n\x0bsp_read_xml\x18\xad\x01 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12T\n#sp_relational_grouped_dataframe_agg\x18\xae\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12\x65\n,sp_relational_grouped_dataframe_agg__columns\x18\xaf\x01 \x01(\x0b\x32,.ast.SpRelationalGroupedDataframeAgg_ColumnsH\x00\x12]\n(sp_relational_grouped_dataframe_agg__map\x18\xb0\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeAgg_MapH\x00\x12_\n)sp_relational_grouped_dataframe_any_value\x18\xb1\x01 \x01(\x0b\x32).ast.SpRelationalGroupedDataframeAnyValueH\x00\x12T\n#sp_relational_grouped_dataframe_avg\x18\xb2\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAvgH\x00\x12\\\n\'sp_relational_grouped_dataframe_builtin\x18\xb3\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12X\n%sp_relational_grouped_dataframe_count\x18\xb4\x01 \x01(\x0b\x32&.ast.SpRelationalGroupedDataframeCountH\x00\x12T\n#sp_relational_grouped_dataframe_max\x18\xb5\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMaxH\x00\x12V\n$sp_relational_grouped_dataframe_mean\x18\xb6\x01 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeMeanH\x00\x12Z\n&sp_relational_grouped_dataframe_median\x18\xb7\x01 \x01(\x0b\x32\'.ast.SpRelationalGroupedDataframeMedianH\x00\x12T\n#sp_relational_grouped_dataframe_min\x18\xb8\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMinH\x00\x12T\n#sp_relational_grouped_dataframe_ref\x18\xb9\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x12T\n#sp_relational_grouped_dataframe_sum\x18\xba\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeSumH\x00\x12\x1d\n\x06sp_row\x18\xbb\x01 \x01(\x0b\x32\n.ast.SpRowH\x00\x12\x1d\n\x06sp_sql\x18\xbc\x01 \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x36\n\x13sp_stored_procedure\x18\xbd\x01 \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12!\n\x08sp_table\x18\xbe\x01 \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12\x32\n\x11sp_table_function\x18\xbf\x01 \x01(\x0b\x32\x14.ast.SpTableFunctionH\x00\x12\x44\n\x1bsp_write_copy_into_location\x18\xc0\x01 \x01(\x0b\x32\x1c.ast.SpWriteCopyIntoLocationH\x00\x12(\n\x0csp_write_csv\x18\xc1\x01 \x01(\x0b\x32\x0f.ast.SpWriteCsvH\x00\x12*\n\rsp_write_json\x18\xc2\x01 \x01(\x0b\x32\x10.ast.SpWriteJsonH\x00\x12.\n\x0fsp_write_pandas\x18\xc3\x01 \x01(\x0b\x32\x12.ast.SpWritePandasH\x00\x12\x30\n\x10sp_write_parquet\x18\xc4\x01 \x01(\x0b\x32\x13.ast.SpWriteParquetH\x00\x12,\n\x0esp_write_table\x18\xc5\x01 \x01(\x0b\x32\x11.ast.SpWriteTableH\x00\x12\x31\n\x10stored_procedure\x18\xc6\x01 \x01(\x0b\x32\x14.ast.StoredProcedureH\x00\x12%\n\nstring_val\x18\xc7\x01 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12\x18\n\x03sub\x18\xc8\x01 \x01(\x0b\x32\x08.ast.SubH\x00\x12!\n\x08table_fn\x18\xc9\x01 \x01(\x0b\x32\x0c.ast.TableFnH\x00\x12!\n\x08time_val\x18\xca\x01 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12+\n\rtimestamp_val\x18\xcb\x01 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x12#\n\ttuple_val\x18\xcc\x01 \x01(\x0b\x32\r.ast.TupleValH\x00\x12\x18\n\x03udf\x18\xcd\x01 \x01(\x0b\x32\x08.ast.UdfH\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"\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"\x84\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\nstring_val\x18\x11 \x01(\x0b\x32\x0e.ast.StringValH\x00\x12 \n\x08time_val\x18\x12 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12*\n\rtimestamp_val\x18\x13 \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"\xfa*\n\x0fSpDataframeExpr\x12H\n trait_sp_copyable_dataframe_expr\x18\x01 \x01(\x0b\x32\x1c.ast.SpCopyableDataframeExprH\x00\x12J\n!trait_sp_dataframe_reader_options\x18\x02 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\x03 \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12\'\n\x0csp_copy_into\x18\x04 \x01(\x0b\x32\x0f.ast.SpCopyIntoH\x00\x12\x35\n\x13sp_create_dataframe\x18\x05 \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18\x06 \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x07 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x08 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\t \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\n \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x0b \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18\x0c \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x37\n\x14sp_dataframe_collect\x18\r \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x33\n\x12sp_dataframe_count\x18\x0e \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12<\n\x17sp_dataframe_cross_join\x18\x0f \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x39\n\x15sp_dataframe_describe\x18\x10 \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18\x11 \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18\x12 \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18\x13 \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18\x14 \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18\x15 \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18\x16 \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18\x17 \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12;\n\x16sp_dataframe_intersect\x18\x18 \x01(\x0b\x32\x19.ast.SpDataframeIntersectH\x00\x12\x31\n\x11sp_dataframe_join\x18\x19 \x01(\x0b\x32\x14.ast.SpDataframeJoinH\x00\x12\\\n(sp_dataframe_join__dataframe__join_exprs\x18\x1a \x01(\x0b\x32(.ast.SpDataframeJoin_Dataframe_JoinExprsH\x00\x12\x62\n+sp_dataframe_join__dataframe__using_columns\x18\x1b \x01(\x0b\x32+.ast.SpDataframeJoin_Dataframe_UsingColumnsH\x00\x12Z\n\'sp_dataframe_join__table_function__list\x18\x1c \x01(\x0b\x32\'.ast.SpDataframeJoin_TableFunction_ListH\x00\x12X\n&sp_dataframe_join__table_function__map\x18\x1d \x01(\x0b\x32&.ast.SpDataframeJoin_TableFunction_MapH\x00\x12\x33\n\x12sp_dataframe_limit\x18\x1e \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x45\n\x1csp_dataframe_na_drop__python\x18\x1f \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x43\n\x1bsp_dataframe_na_drop__scala\x18 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x36\n\x14sp_dataframe_na_fill\x18! \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12<\n\x17sp_dataframe_na_replace\x18" \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12@\n\x19sp_dataframe_natural_join\x18# \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12@\n\x19sp_dataframe_random_split\x18$ \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\x30 \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x32\n\x12sp_dataframe_to_df\x18\x31 \x01(\x0b\x32\x14.ast.SpDataframeToDfH\x00\x12\x33\n\x12sp_dataframe_union\x18\x32 \x01(\x0b\x32\x15.ast.SpDataframeUnionH\x00\x12:\n\x16sp_dataframe_union_all\x18\x33 \x01(\x0b\x32\x18.ast.SpDataframeUnionAllH\x00\x12H\n\x1esp_dataframe_union_all_by_name\x18\x34 \x01(\x0b\x32\x1e.ast.SpDataframeUnionAllByNameH\x00\x12\x41\n\x1asp_dataframe_union_by_name\x18\x35 \x01(\x0b\x32\x1b.ast.SpDataframeUnionByNameH\x00\x12\x33\n\x12sp_dataframe_where\x18\x36 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12>\n\x18sp_dataframe_with_column\x18\x37 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12M\n sp_dataframe_with_column_renamed\x18\x38 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12@\n\x19sp_dataframe_with_columns\x18\x39 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x33\n\x12sp_dataframe_write\x18: \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\x41 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12-\n\x0fsp_read_parquet\x18\x42 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12)\n\rsp_read_table\x18\x43 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12%\n\x0bsp_read_xml\x18\x44 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12S\n#sp_relational_grouped_dataframe_agg\x18\x45 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12\x64\n,sp_relational_grouped_dataframe_agg__columns\x18\x46 \x01(\x0b\x32,.ast.SpRelationalGroupedDataframeAgg_ColumnsH\x00\x12\\\n(sp_relational_grouped_dataframe_agg__map\x18G \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeAgg_MapH\x00\x12^\n)sp_relational_grouped_dataframe_any_value\x18H \x01(\x0b\x32).ast.SpRelationalGroupedDataframeAnyValueH\x00\x12S\n#sp_relational_grouped_dataframe_avg\x18I \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAvgH\x00\x12[\n\'sp_relational_grouped_dataframe_builtin\x18J \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12W\n%sp_relational_grouped_dataframe_count\x18K \x01(\x0b\x32&.ast.SpRelationalGroupedDataframeCountH\x00\x12S\n#sp_relational_grouped_dataframe_max\x18L \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMaxH\x00\x12U\n$sp_relational_grouped_dataframe_mean\x18M \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeMeanH\x00\x12Y\n&sp_relational_grouped_dataframe_median\x18N \x01(\x0b\x32\'.ast.SpRelationalGroupedDataframeMedianH\x00\x12S\n#sp_relational_grouped_dataframe_min\x18O \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMinH\x00\x12S\n#sp_relational_grouped_dataframe_sum\x18P \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeSumH\x00\x12\x1c\n\x06sp_sql\x18Q \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x35\n\x13sp_stored_procedure\x18R \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12 \n\x08sp_table\x18S \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12\x31\n\x11sp_table_function\x18T \x01(\x0b\x32\x14.ast.SpTableFunctionH\x00\x12-\n\x0fsp_write_pandas\x18U \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"~\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\x0fSpTableFunction\x12,\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1e.ast.Tuple_String_SpColumnExpr\x12\n\n\x02\x66n\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"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"\x8e\x02\n!SpDataframeJoin_TableFunction_Map\x12,\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1e.ast.Tuple_String_SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12"\n\x04\x66unc\x18\x03 \x01(\x0b\x32\x14.ast.SpTableFunction\x12(\n\x08order_by\x18\x04 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12,\n\x0cpartition_by\x18\x05 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x02\n"SpDataframeJoin_TableFunction_List\x12\x1f\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12 \n\x02\x64\x66\x18\x02 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12"\n\x04\x66unc\x18\x03 \x01(\x0b\x32\x14.ast.SpTableFunction\x12(\n\x08order_by\x18\x04 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12,\n\x0cpartition_by\x18\x05 \x01(\x0b\x32\x16.ast.List_SpColumnExpr\x12\x1d\n\x03src\x18\x06 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x07 \x01(\x08"\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"\xa3\x01\n\x17SpDataframePivot_Column\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\'\n\x0cpivot_column\x18\x02 \x01(\x0b\x32\x11.ast.SpColumnExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1e\n\x06values\x18\x04 \x03(\x0b\x32\x0e.ast.SpVariant"\x90\x01\n\x17SpDataframePivot_String\x12 \n\x02\x64\x66\x18\x01 \x01(\x0b\x32\x14.ast.SpDataframeExpr\x12\x14\n\x0cpivot_column\x18\x02 \x01(\t\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x1e\n\x06values\x18\x04 \x03(\x0b\x32\x0e.ast.SpVariant"\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"\x84\x04\n\x17SpCopyableDataframeExpr\x12J\n!trait_sp_dataframe_reader_options\x18\x01 \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\x02 \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\x00\x12\'\n\x0csp_copy_into\x18\x03 \x01(\x0b\x32\x0f.ast.SpCopyIntoH\x00\x12\'\n\x0csp_read_avro\x18\x04 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12%\n\x0bsp_read_csv\x18\x05 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12\'\n\x0csp_read_json\x18\x06 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12%\n\x0bsp_read_orc\x18\x07 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12-\n\x0fsp_read_parquet\x18\x08 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12)\n\rsp_read_table\x18\t \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12%\n\x0bsp_read_xml\x18\n \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x42\t\n\x07variant"6\n\x18SpDataframeReaderOptions\x12\x0f\n\x05\x64ummy\x18\x01 \x01(\x08H\x00\x42\t\n\x07variant"5\n\x17SpDataframeReaderSchema\x12\x0f\n\x05\x64ummy\x18\x01 \x01(\x08H\x00\x42\t\n\x07variant"9\n\nSpReadAvro\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"8\n\tSpReadCsv\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"9\n\nSpReadJson\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"8\n\tSpReadOrc\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"<\n\rSpReadParquet\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition":\n\x0bSpReadTable\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"8\n\tSpReadXml\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\xcb\x01\n\nSpCopyInto\x12*\n\x07options\x18\x01 \x01(\x0b\x32\x19.ast.Map_String_SpVariant\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x12\n\ntable_name\x18\x03 \x01(\t\x12-\n\x13target_column_names\x18\x04 \x01(\x0b\x32\x10.ast.List_String\x12/\n\x0ftransformations\x18\x05 \x01(\x0b\x32\x16.ast.List_SpColumnExpr"\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"\xea\x02\n\x0cSpWriteTable\x12\r\n\x05\x62lock\x18\x01 \x01(\x08\x12\'\n\x0f\x63lustering_keys\x18\x02 \x01(\x0b\x32\x0e.ast.List_Expr\x12\x14\n\x0c\x63olumn_order\x18\x03 \x01(\t\x12-\n\x07\x63omment\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x19\n\x11\x63reate_temp_table\x18\x05 \x01(\x08\x12\x16\n\x02id\x18\x06 \x01(\x0b\x32\n.ast.VarId\x12\x1d\n\x04mode\x18\x07 \x01(\x0b\x32\x0f.ast.SpSaveMode\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\x12$\n\ntable_name\x18\n \x01(\x0b\x32\x10.ast.SpTableName\x12\x12\n\ntable_type\x18\x0b \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"\xfa\x01\n&SpDataframeCreateOrReplaceDynamicTable\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\x0b\n\x03lag\x18\x03 \x01(\t\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\x12\x11\n\twarehouse\x18\x07 \x01(\t"\xb7\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-\n\x07pattern\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\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\x12\x12\n\ntable_name\x18\x08 \x03(\t\x12\x16\n\x0etarget_columns\x18\t \x03(\t\x12"\n\x0ftransformations\x18\n \x03(\x0b\x32\t.ast.Expr\x12\x35\n\x0fvalidation_mode\x18\x0b \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"\xa8\x06\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\x42\n\x1asp_dataframe_pivot__column\x18\x06 \x01(\x0b\x32\x1c.ast.SpDataframePivot_ColumnH\x00\x12\x42\n\x1asp_dataframe_pivot__string\x18\x07 \x01(\x0b\x32\x1c.ast.SpDataframePivot_StringH\x00\x12\x35\n\x13sp_dataframe_rollup\x18\x08 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12\x46\n\x1csp_dataframe_rollup__columns\x18\t \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12\x46\n\x1csp_dataframe_rollup__strings\x18\n \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12S\n#sp_relational_grouped_dataframe_ref\x18\x0b \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"\xc9\x01\n#SpRelationalGroupedDataframeAgg_Map\x12 \n\x05\x65xprs\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12\x14\n\x0c\x65xprs_is_map\x18\x02 \x01(\x08\x12\x39\n\ngrouped_df\x18\x03 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x05 \x01(\x08"\xb7\x01\n\'SpRelationalGroupedDataframeAgg_Columns\x12 \n\x05\x65xprs\x18\x01 \x03(\x0b\x32\x11.ast.SpColumnExpr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition\x12\x10\n\x08variadic\x18\x04 \x01(\x08"\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"\x99\x01\n$SpRelationalGroupedDataframeAnyValue\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeAvg\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\xaa\x01\n#SpRelationalGroupedDataframeBuiltin\x12\x10\n\x08\x61gg_name\x18\x01 \x01(\t\x12\x17\n\x04\x63ols\x18\x02 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x03 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x04 \x01(\x0b\x32\x10.ast.SrcPosition"}\n!SpRelationalGroupedDataframeCount\x12\x39\n\ngrouped_df\x18\x01 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x02 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeMax\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x95\x01\n SpRelationalGroupedDataframeMean\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x97\x01\n"SpRelationalGroupedDataframeMedian\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeMin\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"\x94\x01\n\x1fSpRelationalGroupedDataframeSum\x12\x17\n\x04\x63ols\x18\x01 \x03(\x0b\x32\t.ast.Expr\x12\x39\n\ngrouped_df\x18\x02 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExpr\x12\x1d\n\x03src\x18\x03 \x01(\x0b\x32\x10.ast.SrcPosition"^\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":\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"\xad[\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+\n\x11trait_fn_ref_expr\x18\x04 \x01(\x0b\x32\x0e.ast.FnRefExprH\x00\x12\x31\n\x14trait_sp_column_expr\x18\x05 \x01(\x0b\x32\x11.ast.SpColumnExprH\x00\x12-\n\x12trait_sp_column_fn\x18\x06 \x01(\x0b\x32\x0f.ast.SpColumnFnH\x00\x12H\n trait_sp_copyable_dataframe_expr\x18\x07 \x01(\x0b\x32\x1c.ast.SpCopyableDataframeExprH\x00\x12\x37\n\x17trait_sp_dataframe_expr\x18\x08 \x01(\x0b\x32\x14.ast.SpDataframeExprH\x00\x12J\n!trait_sp_dataframe_reader_options\x18\t \x01(\x0b\x32\x1d.ast.SpDataframeReaderOptionsH\x00\x12H\n trait_sp_dataframe_reader_schema\x18\n \x01(\x0b\x32\x1c.ast.SpDataframeReaderSchemaH\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[\n*trait_sp_relational_grouped_dataframe_expr\x18\x0e \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeExprH\x00\x12:\n\x19trait_sp_window_spec_expr\x18\x0f \x01(\x0b\x32\x15.ast.SpWindowSpecExprH\x00\x12/\n\x13trait_sp_write_file\x18\x10 \x01(\x0b\x32\x10.ast.SpWriteFileH\x00\x12&\n\x0etrait_unary_op\x18\x11 \x01(\x0b\x32\x0c.ast.UnaryOpH\x00\x12\x17\n\x03\x61\x64\x64\x18\x12 \x01(\x0b\x32\x08.ast.AddH\x00\x12\x17\n\x03\x61nd\x18\x13 \x01(\x0b\x32\x08.ast.AndH\x00\x12$\n\napply_expr\x18\x14 \x01(\x0b\x32\x0e.ast.ApplyExprH\x00\x12-\n\x0f\x62ig_decimal_val\x18\x15 \x01(\x0b\x32\x12.ast.BigDecimalValH\x00\x12%\n\x0b\x62ig_int_val\x18\x16 \x01(\x0b\x32\x0e.ast.BigIntValH\x00\x12$\n\nbinary_val\x18\x17 \x01(\x0b\x32\x0e.ast.BinaryValH\x00\x12\x1e\n\x07\x62it_and\x18\x18 \x01(\x0b\x32\x0b.ast.BitAndH\x00\x12\x1c\n\x06\x62it_or\x18\x19 \x01(\x0b\x32\n.ast.BitOrH\x00\x12\x1e\n\x07\x62it_xor\x18\x1a \x01(\x0b\x32\x0b.ast.BitXorH\x00\x12 \n\x08\x62ool_val\x18\x1b \x01(\x0b\x32\x0c.ast.BoolValH\x00\x12$\n\nbuiltin_fn\x18\x1c \x01(\x0b\x32\x0e.ast.BuiltinFnH\x00\x12"\n\tcast_expr\x18\x1d \x01(\x0b\x32\r.ast.CastExprH\x00\x12 \n\x08\x64\x61te_val\x18\x1e \x01(\x0b\x32\x0c.ast.DateValH\x00\x12\x17\n\x03\x64iv\x18\x1f \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\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/ \x01(\x0b\x32\x0c.ast.NoneValH\x00\x12\x17\n\x03not\x18\x30 \x01(\x0b\x32\x08.ast.NotH\x00\x12 \n\x08null_val\x18\x31 \x01(\x0b\x32\x0c.ast.NullValH\x00\x12\x15\n\x02or\x18\x32 \x01(\x0b\x32\x07.ast.OrH\x00\x12(\n\x0cpd_dataframe\x18\x33 \x01(\x0b\x32\x10.ast.PdDataframeH\x00\x12\x38\n\x15pd_dataframe_get_item\x18\x34 \x01(\x0b\x32\x17.ast.PdDataframeGetItemH\x00\x12\x32\n\x12pd_dataframe_i_loc\x18\x35 \x01(\x0b\x32\x14.ast.PdDataframeILocH\x00\x12/\n\x10pd_dataframe_loc\x18\x36 \x01(\x0b\x32\x13.ast.PdDataframeLocH\x00\x12\x38\n\x15pd_dataframe_set_item\x18\x37 \x01(\x0b\x32\x17.ast.PdDataframeSetItemH\x00\x12#\n\npd_drop_na\x18\x38 \x01(\x0b\x32\r.ast.PdDropNaH\x00\x12\x1e\n\x07pd_repr\x18\x39 \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? \x01(\x0b\x32\x08.ast.RefH\x00\x12%\n\x0bseq_map_val\x18@ \x01(\x0b\x32\x0e.ast.SeqMapValH\x00\x12/\n\x10session_table_fn\x18\x41 \x01(\x0b\x32\x13.ast.SessionTableFnH\x00\x12 \n\x08some_val\x18\x42 \x01(\x0b\x32\x0c.ast.SomeValH\x00\x12\'\n\x0csp_case_expr\x18\x43 \x01(\x0b\x32\x0f.ast.SpCaseExprH\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\'\n\x0csp_copy_into\x18_ \x01(\x0b\x32\x0f.ast.SpCopyIntoH\x00\x12\x35\n\x13sp_create_dataframe\x18` \x01(\x0b\x32\x16.ast.SpCreateDataframeH\x00\x12/\n\x10sp_dataframe_agg\x18\x61 \x01(\x0b\x32\x13.ast.SpDataframeAggH\x00\x12\x33\n\x12sp_dataframe_alias\x18\x62 \x01(\x0b\x32\x15.ast.SpDataframeAliasH\x00\x12Q\n"sp_dataframe_analytics_compute_lag\x18\x63 \x01(\x0b\x32#.ast.SpDataframeAnalyticsComputeLagH\x00\x12S\n#sp_dataframe_analytics_compute_lead\x18\x64 \x01(\x0b\x32$.ast.SpDataframeAnalyticsComputeLeadH\x00\x12W\n%sp_dataframe_analytics_cumulative_agg\x18\x65 \x01(\x0b\x32&.ast.SpDataframeAnalyticsCumulativeAggH\x00\x12O\n!sp_dataframe_analytics_moving_agg\x18\x66 \x01(\x0b\x32".ast.SpDataframeAnalyticsMovingAggH\x00\x12X\n&sp_dataframe_analytics_time_series_agg\x18g \x01(\x0b\x32&.ast.SpDataframeAnalyticsTimeSeriesAggH\x00\x12\x33\n\x12sp_dataframe_apply\x18h \x01(\x0b\x32\x15.ast.SpDataframeApplyH\x00\x12@\n\x19sp_dataframe_cache_result\x18i \x01(\x0b\x32\x1b.ast.SpDataframeCacheResultH\x00\x12/\n\x10sp_dataframe_col\x18j \x01(\x0b\x32\x13.ast.SpDataframeColH\x00\x12\x37\n\x14sp_dataframe_collect\x18k \x01(\x0b\x32\x17.ast.SpDataframeCollectH\x00\x12\x45\n\x1csp_dataframe_copy_into_table\x18l \x01(\x0b\x32\x1d.ast.SpDataframeCopyIntoTableH\x00\x12\x33\n\x12sp_dataframe_count\x18m \x01(\x0b\x32\x15.ast.SpDataframeCountH\x00\x12\x63\n,sp_dataframe_create_or_replace_dynamic_table\x18n \x01(\x0b\x32+.ast.SpDataframeCreateOrReplaceDynamicTableH\x00\x12R\n#sp_dataframe_create_or_replace_view\x18o \x01(\x0b\x32#.ast.SpDataframeCreateOrReplaceViewH\x00\x12<\n\x17sp_dataframe_cross_join\x18p \x01(\x0b\x32\x19.ast.SpDataframeCrossJoinH\x00\x12\x31\n\x11sp_dataframe_cube\x18q \x01(\x0b\x32\x14.ast.SpDataframeCubeH\x00\x12\x39\n\x15sp_dataframe_describe\x18r \x01(\x0b\x32\x18.ast.SpDataframeDescribeH\x00\x12\x39\n\x15sp_dataframe_distinct\x18s \x01(\x0b\x32\x18.ast.SpDataframeDistinctH\x00\x12\x31\n\x11sp_dataframe_drop\x18t \x01(\x0b\x32\x14.ast.SpDataframeDropH\x00\x12\x46\n\x1csp_dataframe_drop_duplicates\x18u \x01(\x0b\x32\x1e.ast.SpDataframeDropDuplicatesH\x00\x12\x35\n\x13sp_dataframe_except\x18v \x01(\x0b\x32\x16.ast.SpDataframeExceptH\x00\x12\x35\n\x13sp_dataframe_filter\x18w \x01(\x0b\x32\x16.ast.SpDataframeFilterH\x00\x12\x33\n\x12sp_dataframe_first\x18x \x01(\x0b\x32\x15.ast.SpDataframeFirstH\x00\x12\x37\n\x14sp_dataframe_flatten\x18y \x01(\x0b\x32\x17.ast.SpDataframeFlattenH\x00\x12\x38\n\x15sp_dataframe_group_by\x18z \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| \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\x7f \x01(\x0b\x32\x14.ast.SpDataframeJoinH\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[\n\'sp_dataframe_join__table_function__list\x18\x82\x01 \x01(\x0b\x32\'.ast.SpDataframeJoin_TableFunction_ListH\x00\x12Y\n&sp_dataframe_join__table_function__map\x18\x83\x01 \x01(\x0b\x32&.ast.SpDataframeJoin_TableFunction_MapH\x00\x12\x34\n\x12sp_dataframe_limit\x18\x84\x01 \x01(\x0b\x32\x15.ast.SpDataframeLimitH\x00\x12\x46\n\x1csp_dataframe_na_drop__python\x18\x85\x01 \x01(\x0b\x32\x1d.ast.SpDataframeNaDrop_PythonH\x00\x12\x44\n\x1bsp_dataframe_na_drop__scala\x18\x86\x01 \x01(\x0b\x32\x1c.ast.SpDataframeNaDrop_ScalaH\x00\x12\x37\n\x14sp_dataframe_na_fill\x18\x87\x01 \x01(\x0b\x32\x16.ast.SpDataframeNaFillH\x00\x12=\n\x17sp_dataframe_na_replace\x18\x88\x01 \x01(\x0b\x32\x19.ast.SpDataframeNaReplaceH\x00\x12\x41\n\x19sp_dataframe_natural_join\x18\x89\x01 \x01(\x0b\x32\x1b.ast.SpDataframeNaturalJoinH\x00\x12\x43\n\x1asp_dataframe_pivot__column\x18\x8a\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_ColumnH\x00\x12\x43\n\x1asp_dataframe_pivot__string\x18\x8b\x01 \x01(\x0b\x32\x1c.ast.SpDataframePivot_StringH\x00\x12\x41\n\x19sp_dataframe_random_split\x18\x8c\x01 \x01(\x0b\x32\x1b.ast.SpDataframeRandomSplitH\x00\x12\x30\n\x10sp_dataframe_ref\x18\x8d\x01 \x01(\x0b\x32\x13.ast.SpDataframeRefH\x00\x12\x36\n\x13sp_dataframe_rename\x18\x8e\x01 \x01(\x0b\x32\x16.ast.SpDataframeRenameH\x00\x12\x36\n\x13sp_dataframe_rollup\x18\x8f\x01 \x01(\x0b\x32\x16.ast.SpDataframeRollupH\x00\x12G\n\x1csp_dataframe_rollup__columns\x18\x90\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_ColumnsH\x00\x12G\n\x1csp_dataframe_rollup__strings\x18\x91\x01 \x01(\x0b\x32\x1e.ast.SpDataframeRollup_StringsH\x00\x12\x36\n\x13sp_dataframe_sample\x18\x92\x01 \x01(\x0b\x32\x16.ast.SpDataframeSampleH\x00\x12G\n\x1csp_dataframe_select__columns\x18\x93\x01 \x01(\x0b\x32\x1e.ast.SpDataframeSelect_ColumnsH\x00\x12\x43\n\x1asp_dataframe_select__exprs\x18\x94\x01 \x01(\x0b\x32\x1c.ast.SpDataframeSelect_ExprsH\x00\x12\x32\n\x11sp_dataframe_show\x18\x95\x01 \x01(\x0b\x32\x14.ast.SpDataframeShowH\x00\x12\x32\n\x11sp_dataframe_sort\x18\x96\x01 \x01(\x0b\x32\x14.ast.SpDataframeSortH\x00\x12P\n!sp_dataframe_stat_approx_quantile\x18\x97\x01 \x01(\x0b\x32".ast.SpDataframeStatApproxQuantileH\x00\x12;\n\x16sp_dataframe_stat_corr\x18\x98\x01 \x01(\x0b\x32\x18.ast.SpDataframeStatCorrH\x00\x12\x39\n\x15sp_dataframe_stat_cov\x18\x99\x01 \x01(\x0b\x32\x17.ast.SpDataframeStatCovH\x00\x12\x44\n\x1bsp_dataframe_stat_cross_tab\x18\x9a\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatCrossTabH\x00\x12\x44\n\x1bsp_dataframe_stat_sample_by\x18\x9b\x01 \x01(\x0b\x32\x1c.ast.SpDataframeStatSampleByH\x00\x12\x33\n\x12sp_dataframe_to_df\x18\x9c\x01 \x01(\x0b\x32\x14.ast.SpDataframeToDfH\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\x34\n\x12sp_dataframe_where\x18\xa1\x01 \x01(\x0b\x32\x15.ast.SpDataframeWhereH\x00\x12?\n\x18sp_dataframe_with_column\x18\xa2\x01 \x01(\x0b\x32\x1a.ast.SpDataframeWithColumnH\x00\x12N\n sp_dataframe_with_column_renamed\x18\xa3\x01 \x01(\x0b\x32!.ast.SpDataframeWithColumnRenamedH\x00\x12\x41\n\x19sp_dataframe_with_columns\x18\xa4\x01 \x01(\x0b\x32\x1b.ast.SpDataframeWithColumnsH\x00\x12\x34\n\x12sp_dataframe_write\x18\xa5\x01 \x01(\x0b\x32\x15.ast.SpDataframeWriteH\x00\x12%\n\nsp_flatten\x18\xa6\x01 \x01(\x0b\x32\x0e.ast.SpFlattenH\x00\x12)\n\x0csp_generator\x18\xa7\x01 \x01(\x0b\x32\x10.ast.SpGeneratorH\x00\x12\x30\n\x10sp_grouping_sets\x18\xa8\x01 \x01(\x0b\x32\x13.ast.SpGroupingSetsH\x00\x12!\n\x08sp_range\x18\xa9\x01 \x01(\x0b\x32\x0c.ast.SpRangeH\x00\x12(\n\x0csp_read_avro\x18\xaa\x01 \x01(\x0b\x32\x0f.ast.SpReadAvroH\x00\x12&\n\x0bsp_read_csv\x18\xab\x01 \x01(\x0b\x32\x0e.ast.SpReadCsvH\x00\x12(\n\x0csp_read_json\x18\xac\x01 \x01(\x0b\x32\x0f.ast.SpReadJsonH\x00\x12&\n\x0bsp_read_orc\x18\xad\x01 \x01(\x0b\x32\x0e.ast.SpReadOrcH\x00\x12.\n\x0fsp_read_parquet\x18\xae\x01 \x01(\x0b\x32\x12.ast.SpReadParquetH\x00\x12*\n\rsp_read_table\x18\xaf\x01 \x01(\x0b\x32\x10.ast.SpReadTableH\x00\x12&\n\x0bsp_read_xml\x18\xb0\x01 \x01(\x0b\x32\x0e.ast.SpReadXmlH\x00\x12T\n#sp_relational_grouped_dataframe_agg\x18\xb1\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAggH\x00\x12\x65\n,sp_relational_grouped_dataframe_agg__columns\x18\xb2\x01 \x01(\x0b\x32,.ast.SpRelationalGroupedDataframeAgg_ColumnsH\x00\x12]\n(sp_relational_grouped_dataframe_agg__map\x18\xb3\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeAgg_MapH\x00\x12_\n)sp_relational_grouped_dataframe_any_value\x18\xb4\x01 \x01(\x0b\x32).ast.SpRelationalGroupedDataframeAnyValueH\x00\x12T\n#sp_relational_grouped_dataframe_avg\x18\xb5\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeAvgH\x00\x12\\\n\'sp_relational_grouped_dataframe_builtin\x18\xb6\x01 \x01(\x0b\x32(.ast.SpRelationalGroupedDataframeBuiltinH\x00\x12X\n%sp_relational_grouped_dataframe_count\x18\xb7\x01 \x01(\x0b\x32&.ast.SpRelationalGroupedDataframeCountH\x00\x12T\n#sp_relational_grouped_dataframe_max\x18\xb8\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMaxH\x00\x12V\n$sp_relational_grouped_dataframe_mean\x18\xb9\x01 \x01(\x0b\x32%.ast.SpRelationalGroupedDataframeMeanH\x00\x12Z\n&sp_relational_grouped_dataframe_median\x18\xba\x01 \x01(\x0b\x32\'.ast.SpRelationalGroupedDataframeMedianH\x00\x12T\n#sp_relational_grouped_dataframe_min\x18\xbb\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeMinH\x00\x12T\n#sp_relational_grouped_dataframe_ref\x18\xbc\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeRefH\x00\x12T\n#sp_relational_grouped_dataframe_sum\x18\xbd\x01 \x01(\x0b\x32$.ast.SpRelationalGroupedDataframeSumH\x00\x12\x1d\n\x06sp_row\x18\xbe\x01 \x01(\x0b\x32\n.ast.SpRowH\x00\x12\x1d\n\x06sp_sql\x18\xbf\x01 \x01(\x0b\x32\n.ast.SpSqlH\x00\x12\x36\n\x13sp_stored_procedure\x18\xc0\x01 \x01(\x0b\x32\x16.ast.SpStoredProcedureH\x00\x12!\n\x08sp_table\x18\xc1\x01 \x01(\x0b\x32\x0c.ast.SpTableH\x00\x12\x32\n\x11sp_table_function\x18\xc2\x01 \x01(\x0b\x32\x14.ast.SpTableFunctionH\x00\x12\x37\n\x14sp_window_spec_empty\x18\xc3\x01 \x01(\x0b\x32\x16.ast.SpWindowSpecEmptyH\x00\x12<\n\x17sp_window_spec_order_by\x18\xc4\x01 \x01(\x0b\x32\x18.ast.SpWindowSpecOrderByH\x00\x12\x44\n\x1bsp_window_spec_partition_by\x18\xc5\x01 \x01(\x0b\x32\x1c.ast.SpWindowSpecPartitionByH\x00\x12\x46\n\x1csp_window_spec_range_between\x18\xc6\x01 \x01(\x0b\x32\x1d.ast.SpWindowSpecRangeBetweenH\x00\x12\x44\n\x1bsp_window_spec_rows_between\x18\xc7\x01 \x01(\x0b\x32\x1c.ast.SpWindowSpecRowsBetweenH\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\x08table_fn\x18\xd1\x01 \x01(\x0b\x32\x0c.ast.TableFnH\x00\x12!\n\x08time_val\x18\xd2\x01 \x01(\x0b\x32\x0c.ast.TimeValH\x00\x12+\n\rtimestamp_val\x18\xd3\x01 \x01(\x0b\x32\x11.ast.TimestampValH\x00\x12#\n\ttuple_val\x18\xd4\x01 \x01(\x0b\x32\r.ast.TupleValH\x00\x12\x18\n\x03udf\x18\xd5\x01 \x01(\x0b\x32\x08.ast.UdfH\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%\n\x1c\x63om.snowflake.snowpark.proto\xe2?\x04H\x01X\x00\x62\x06proto3' ) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) @@ -33,8 +33,8 @@ DESCRIPTOR._serialized_options = ( b"\n\034com.snowflake.snowpark.proto\342?\004H\001X\000" ) - ___VERSION__._serialized_start = 71579 - ___VERSION__._serialized_end = 71635 + ___VERSION__._serialized_start = 71609 + ___VERSION__._serialized_end = 71665 _LIST_EXPR._serialized_start = 88 _LIST_EXPR._serialized_end = 124 _LIST_SPCOLUMNEXPR._serialized_start = 126 @@ -118,581 +118,581 @@ _SPSAVEMODE._serialized_start = 3194 _SPSAVEMODE._serialized_end = 3386 _SPJOINTYPE._serialized_start = 3389 - _SPJOINTYPE._serialized_end = 3653 - _SPTIMESTAMPTIMEZONE._serialized_start = 3656 - _SPTIMESTAMPTIMEZONE._serialized_end = 3843 - _SPDATATYPE._serialized_start = 3846 - _SPDATATYPE._serialized_end = 4648 - _SPARRAYTYPE._serialized_start = 4650 - _SPARRAYTYPE._serialized_end = 4712 - _SPCOLUMNIDENTIFIER._serialized_start = 4714 - _SPCOLUMNIDENTIFIER._serialized_end = 4748 - _SPDECIMALTYPE._serialized_start = 4750 - _SPDECIMALTYPE._serialized_end = 4799 - _SPMAPTYPE._serialized_start = 4801 - _SPMAPTYPE._serialized_end = 4900 - _SPSTRINGTYPE._serialized_start = 4902 - _SPSTRINGTYPE._serialized_end = 4961 - _SPSTRUCTFIELD._serialized_start = 4963 - _SPSTRUCTFIELD._serialized_end = 5084 - _SPSTRUCTTYPE._serialized_start = 5086 - _SPSTRUCTTYPE._serialized_end = 5156 - _SPTIMESTAMPTYPE._serialized_start = 5158 - _SPTIMESTAMPTYPE._serialized_end = 5220 - _SPVECTORTYPE._serialized_start = 5222 - _SPVECTORTYPE._serialized_end = 5284 - _SPVARIANT._serialized_start = 5287 - _SPVARIANT._serialized_end = 5993 - _SPVARIANT_OBJECT._serialized_start = 5995 - _SPVARIANT_OBJECT._serialized_end = 6050 - _SPVARIANT_LIST._serialized_start = 6052 - _SPVARIANT_LIST._serialized_end = 6103 - _SPVARIANT_TIMESTAMP._serialized_start = 6105 - _SPVARIANT_TIMESTAMP._serialized_end = 6137 - _SPVARIANT_DATE._serialized_start = 6139 - _SPVARIANT_DATE._serialized_end = 6166 - _SPVARIANT_TIME._serialized_start = 6168 - _SPVARIANT_TIME._serialized_end = 6195 - _SPVARIANT_BYTES._serialized_start = 6197 - _SPVARIANT_BYTES._serialized_end = 6225 - _SPVARIANT_STRING._serialized_start = 6227 - _SPVARIANT_STRING._serialized_end = 6256 - _SPVARIANT_BOOL._serialized_start = 6258 - _SPVARIANT_BOOL._serialized_end = 6285 - _SPVARIANT_BIGINT._serialized_start = 6287 - _SPVARIANT_BIGINT._serialized_end = 6316 - _SPVARIANT_BIGDECIMAL._serialized_start = 6318 - _SPVARIANT_BIGDECIMAL._serialized_end = 6351 - _SPVARIANT_INT._serialized_start = 6353 - _SPVARIANT_INT._serialized_end = 6379 - _SPVARIANT_FLOAT._serialized_start = 6381 - _SPVARIANT_FLOAT._serialized_end = 6409 - _SPVARIANT_DOUBLE._serialized_start = 6411 - _SPVARIANT_DOUBLE._serialized_end = 6440 - _SPTABLENAME._serialized_start = 6443 - _SPTABLENAME._serialized_end = 6588 - _SPTABLENAMEFLAT._serialized_start = 6590 - _SPTABLENAMEFLAT._serialized_end = 6621 - _SPTABLENAMESTRUCTURED._serialized_start = 6623 - _SPTABLENAMESTRUCTURED._serialized_end = 6660 - _STAGEDPANDASDATAFRAME._serialized_start = 6662 - _STAGEDPANDASDATAFRAME._serialized_end = 6723 - _SPDATAFRAMEDATA._serialized_start = 6726 - _SPDATAFRAMEDATA._serialized_end = 6951 - _SPDATAFRAMEDATA_LIST._serialized_start = 6953 - _SPDATAFRAMEDATA_LIST._serialized_end = 6998 - _SPDATAFRAMEDATA_TUPLE._serialized_start = 7000 - _SPDATAFRAMEDATA_TUPLE._serialized_end = 7046 - _SPDATAFRAMEDATA_PANDAS._serialized_start = 7048 - _SPDATAFRAMEDATA_PANDAS._serialized_end = 7111 - _SPDATAFRAMESCHEMA._serialized_start = 7114 - _SPDATAFRAMESCHEMA._serialized_end = 7285 - _SPDATAFRAMESCHEMA_LIST._serialized_start = 7287 - _SPDATAFRAMESCHEMA_LIST._serialized_end = 7323 - _SPDATAFRAMESCHEMA_STRUCT._serialized_start = 7325 - _SPDATAFRAMESCHEMA_STRUCT._serialized_end = 7381 - _SRCPOSITION._serialized_start = 7383 - _SRCPOSITION._serialized_end = 7490 - _VARID._serialized_start = 7492 - _VARID._serialized_end = 7518 - _REQUEST._serialized_start = 7521 - _REQUEST._serialized_end = 7661 - _RESPONSE._serialized_start = 7663 - _RESPONSE._serialized_end = 7700 - _CONST._serialized_start = 7703 - _CONST._serialized_end = 8390 - _NONEVAL._serialized_start = 8392 - _NONEVAL._serialized_end = 8432 - _NULLVAL._serialized_start = 8434 - _NULLVAL._serialized_end = 8474 - _BOOLVAL._serialized_start = 8476 - _BOOLVAL._serialized_end = 8527 - _INT32VAL._serialized_start = 8529 - _INT32VAL._serialized_end = 8581 - _INT64VAL._serialized_start = 8583 - _INT64VAL._serialized_end = 8635 - _FLOAT64VAL._serialized_start = 8637 - _FLOAT64VAL._serialized_end = 8691 - _BIGINTVAL._serialized_start = 8693 - _BIGINTVAL._serialized_end = 8746 - _BIGDECIMALVAL._serialized_start = 8748 - _BIGDECIMALVAL._serialized_end = 8833 - _STRINGVAL._serialized_start = 8835 - _STRINGVAL._serialized_end = 8888 - _BINARYVAL._serialized_start = 8890 - _BINARYVAL._serialized_end = 8943 - _TIMESTAMPVAL._serialized_start = 8945 - _TIMESTAMPVAL._serialized_end = 9001 - _DATEVAL._serialized_start = 9003 - _DATEVAL._serialized_end = 9054 - _TIMEVAL._serialized_start = 9056 - _TIMEVAL._serialized_end = 9107 - _PYTHONTIMESTAMPVAL._serialized_start = 9110 - _PYTHONTIMESTAMPVAL._serialized_end = 9303 - _PYTHONDATEVAL._serialized_start = 9305 - _PYTHONDATEVAL._serialized_end = 9393 - _PYTHONTIMEVAL._serialized_start = 9396 - _PYTHONTIMEVAL._serialized_end = 9542 - _FNVAL._serialized_start = 9544 - _FNVAL._serialized_end = 9623 - _IFEXPR._serialized_start = 9625 - _IFEXPR._serialized_end = 9746 - _SOMEVAL._serialized_start = 9748 - _SOMEVAL._serialized_end = 9810 - _TUPLEVAL._serialized_start = 9812 - _TUPLEVAL._serialized_end = 9876 - _LISTVAL._serialized_start = 9878 - _LISTVAL._serialized_end = 9941 - _SEQMAPVAL._serialized_start = 9943 - _SEQMAPVAL._serialized_end = 10013 - _APPLYEXPR._serialized_start = 10016 - _APPLYEXPR._serialized_end = 10159 - _FNREFEXPR._serialized_start = 10162 - _FNREFEXPR._serialized_end = 10380 - _BUILTINFN._serialized_start = 10382 - _BUILTINFN._serialized_end = 10451 - _STOREDPROCEDURE._serialized_start = 10454 - _STOREDPROCEDURE._serialized_end = 10633 - _UDF._serialized_start = 10635 - _UDF._serialized_end = 10698 - _SESSIONTABLEFN._serialized_start = 10700 - _SESSIONTABLEFN._serialized_end = 10774 - _TABLEFN._serialized_start = 10776 - _TABLEFN._serialized_end = 10884 - _UNARYOP._serialized_start = 10886 - _UNARYOP._serialized_end = 10956 - _BINOP._serialized_start = 10959 - _BINOP._serialized_end = 11413 - _NOT._serialized_start = 11415 - _NOT._serialized_end = 11479 - _AND._serialized_start = 11481 - _AND._serialized_end = 11565 - _OR._serialized_start = 11567 - _OR._serialized_end = 11650 - _EQ._serialized_start = 11652 - _EQ._serialized_end = 11735 - _NEQ._serialized_start = 11737 - _NEQ._serialized_end = 11821 - _LT._serialized_start = 11823 - _LT._serialized_end = 11906 - _LEQ._serialized_start = 11908 - _LEQ._serialized_end = 11992 - _GT._serialized_start = 11994 - _GT._serialized_end = 12077 - _GEQ._serialized_start = 12079 - _GEQ._serialized_end = 12163 - _NEG._serialized_start = 12165 - _NEG._serialized_end = 12229 - _ADD._serialized_start = 12231 - _ADD._serialized_end = 12315 - _SUB._serialized_start = 12317 - _SUB._serialized_end = 12401 - _MUL._serialized_start = 12403 - _MUL._serialized_end = 12487 - _DIV._serialized_start = 12489 - _DIV._serialized_end = 12573 - _MOD._serialized_start = 12575 - _MOD._serialized_end = 12659 - _POW._serialized_start = 12661 - _POW._serialized_end = 12745 - _BITAND._serialized_start = 12747 - _BITAND._serialized_end = 12834 - _BITOR._serialized_start = 12836 - _BITOR._serialized_end = 12922 - _BITXOR._serialized_start = 12924 - _BITXOR._serialized_end = 13011 - _RANGEVAL._serialized_start = 13013 - _RANGEVAL._serialized_end = 13130 - _SPWINDOWSPECEXPR._serialized_start = 13133 - _SPWINDOWSPECEXPR._serialized_end = 13488 - _SPWINDOWSPECEMPTY._serialized_start = 13490 - _SPWINDOWSPECEMPTY._serialized_end = 13576 - _SPWINDOWSPECORDERBY._serialized_start = 13578 - _SPWINDOWSPECORDERBY._serialized_end = 13691 - _SPWINDOWSPECPARTITIONBY._serialized_start = 13693 - _SPWINDOWSPECPARTITIONBY._serialized_end = 13810 - _SPWINDOWSPECRANGEBETWEEN._serialized_start = 13813 - _SPWINDOWSPECRANGEBETWEEN._serialized_end = 13996 - _SPWINDOWSPECROWSBETWEEN._serialized_start = 13999 - _SPWINDOWSPECROWSBETWEEN._serialized_end = 14181 - _EXPR._serialized_start = 14184 - _EXPR._serialized_end = 25399 - _REF._serialized_start = 25401 - _REF._serialized_end = 25465 - _CASTEXPR._serialized_start = 25467 - _CASTEXPR._serialized_end = 25554 - _PDDATAFRAME._serialized_start = 25557 - _PDDATAFRAME._serialized_end = 25706 - _PDDROPNA._serialized_start = 25709 - _PDDROPNA._serialized_end = 25851 - _PDDATAFRAMEGETITEM._serialized_start = 25853 - _PDDATAFRAMEGETITEM._serialized_end = 25954 - _PDDATAFRAMESETITEM._serialized_start = 25956 - _PDDATAFRAMESETITEM._serialized_end = 26079 - _PDDATAFRAMELOC._serialized_start = 26081 - _PDDATAFRAMELOC._serialized_end = 26203 - _PDDATAFRAMEILOC._serialized_start = 26205 - _PDDATAFRAMEILOC._serialized_end = 26328 - _PDREPR._serialized_start = 26330 - _PDREPR._serialized_end = 26444 - _PDREPRRESULT._serialized_start = 26446 - _PDREPRRESULT._serialized_end = 26563 - _RESULT._serialized_start = 26566 - _RESULT._serialized_end = 26724 - _EVALRESULT._serialized_start = 26727 - _EVALRESULT._serialized_end = 27499 - _EVALOK._serialized_start = 27501 - _EVALOK._serialized_end = 27581 - _ERROR._serialized_start = 27583 - _ERROR._serialized_end = 27673 - _SESSIONRESETREQUIREDERROR._serialized_start = 27675 - _SESSIONRESETREQUIREDERROR._serialized_end = 27743 - _SPCOLUMNEXPR._serialized_start = 27746 - _SPCOLUMNEXPR._serialized_end = 28078 - _SPCOLUMNREF._serialized_start = 28080 - _SPCOLUMNREF._serialized_end = 28136 - _SPCOLUMNSQLEXPR._serialized_start = 28138 - _SPCOLUMNSQLEXPR._serialized_end = 28247 - _SPCASEEXPR._serialized_start = 28249 - _SPCASEEXPR._serialized_end = 28348 - _SPCOLUMNCASEWHEN._serialized_start = 28350 - _SPCOLUMNCASEWHEN._serialized_end = 28431 - _SPCOLUMNFN._serialized_start = 28434 - _SPCOLUMNFN._serialized_end = 29731 - _SPCOLUMNALIAS._serialized_start = 29734 - _SPCOLUMNALIAS._serialized_end = 29869 - _SPCOLUMNAPPLY_INT._serialized_start = 29871 - _SPCOLUMNAPPLY_INT._serialized_end = 29958 - _SPCOLUMNAPPLY_STRING._serialized_start = 29960 - _SPCOLUMNAPPLY_STRING._serialized_end = 30052 - _SPCOLUMNASC._serialized_start = 30054 - _SPCOLUMNASC._serialized_end = 30171 - _SPCOLUMNBETWEEN._serialized_start = 30174 - _SPCOLUMNBETWEEN._serialized_end = 30310 - _SPCOLUMNCAST._serialized_start = 30312 - _SPCOLUMNCAST._serialized_end = 30410 - _SPCOLUMNTRYCAST._serialized_start = 30412 - _SPCOLUMNTRYCAST._serialized_end = 30513 - _SPCOLUMNDESC._serialized_start = 30515 - _SPCOLUMNDESC._serialized_end = 30633 - _SPCOLUMNEQUALNAN._serialized_start = 30635 - _SPCOLUMNEQUALNAN._serialized_end = 30708 - _SPCOLUMNEQUALNULL._serialized_start = 30710 - _SPCOLUMNEQUALNULL._serialized_end = 30808 - _SPCOLUMNIN_DATAFRAME._serialized_start = 30810 - _SPCOLUMNIN_DATAFRAME._serialized_end = 30921 - _SPCOLUMNIN_SEQ._serialized_start = 30923 - _SPCOLUMNIN_SEQ._serialized_end = 31021 - _SPCOLUMNISNOTNULL._serialized_start = 31023 - _SPCOLUMNISNOTNULL._serialized_end = 31097 - _SPCOLUMNISNULL._serialized_start = 31099 - _SPCOLUMNISNULL._serialized_end = 31170 - _SPCOLUMNNAME._serialized_start = 31172 - _SPCOLUMNNAME._serialized_end = 31256 - _SPCOLUMNOVER._serialized_start = 31258 - _SPCOLUMNOVER._serialized_end = 31371 - _SPCOLUMNWITHINGROUP._serialized_start = 31373 - _SPCOLUMNWITHINGROUP._serialized_end = 31481 - _SPCOLUMNSTRINGLIKE._serialized_start = 31483 - _SPCOLUMNSTRINGLIKE._serialized_end = 31586 - _SPCOLUMNSTRINGREGEXP._serialized_start = 31589 - _SPCOLUMNSTRINGREGEXP._serialized_end = 31725 - _SPCOLUMNSTRINGSTARTSWITH._serialized_start = 31727 - _SPCOLUMNSTRINGSTARTSWITH._serialized_end = 31835 - _SPCOLUMNSTRINGENDSWITH._serialized_start = 31837 - _SPCOLUMNSTRINGENDSWITH._serialized_end = 31943 - _SPCOLUMNSTRINGSUBSTR._serialized_start = 31945 - _SPCOLUMNSTRINGSUBSTR._serialized_end = 32070 - _SPCOLUMNSTRINGCOLLATE._serialized_start = 32072 - _SPCOLUMNSTRINGCOLLATE._serialized_end = 32185 - _SPCOLUMNSTRINGCONTAINS._serialized_start = 32187 - _SPCOLUMNSTRINGCONTAINS._serialized_end = 32294 - _SPDATAFRAMEEXPR._serialized_start = 32297 - _SPDATAFRAMEEXPR._serialized_end = 37795 - _SPDATAFRAMEREF._serialized_start = 37797 - _SPDATAFRAMEREF._serialized_end = 37868 - _SPDATAFRAMESHOW._serialized_start = 37870 - _SPDATAFRAMESHOW._serialized_end = 37942 - _SPDATAFRAMECOUNT._serialized_start = 37945 - _SPDATAFRAMECOUNT._serialized_end = 38085 - _SPDATAFRAMECOLLECT._serialized_start = 38088 - _SPDATAFRAMECOLLECT._serialized_end = 38297 - _SPCREATEDATAFRAME._serialized_start = 38299 - _SPCREATEDATAFRAME._serialized_end = 38425 - _SPWRITEPANDAS._serialized_start = 38428 - _SPWRITEPANDAS._serialized_end = 38812 - _SPFLATTEN._serialized_start = 38815 - _SPFLATTEN._serialized_end = 38995 - _SPGENERATOR._serialized_start = 38998 - _SPGENERATOR._serialized_end = 39135 - _SPRANGE._serialized_start = 39138 - _SPRANGE._serialized_end = 39278 - _SPSQL._serialized_start = 39280 - _SPSQL._serialized_end = 39360 - _SPSTOREDPROCEDURE._serialized_start = 39362 - _SPSTOREDPROCEDURE._serialized_end = 39477 - _SPTABLE._serialized_start = 39480 - _SPTABLE._serialized_end = 39625 - _SPTABLEFUNCTION._serialized_start = 39627 - _SPTABLEFUNCTION._serialized_end = 39751 - _SPDATAFRAMETODF._serialized_start = 39753 - _SPDATAFRAMETODF._serialized_end = 39872 - _SPDATAFRAMENADROP_SCALA._serialized_start = 39875 - _SPDATAFRAMENADROP_SCALA._serialized_end = 40010 - _SPDATAFRAMENADROP_PYTHON._serialized_start = 40013 - _SPDATAFRAMENADROP_PYTHON._serialized_end = 40196 - _SPDATAFRAMENAFILL._serialized_start = 40199 - _SPDATAFRAMENAFILL._serialized_end = 40384 - _SPDATAFRAMENAREPLACE._serialized_start = 40387 - _SPDATAFRAMENAREPLACE._serialized_end = 40689 - _SPDATAFRAMEAGG._serialized_start = 40691 - _SPDATAFRAMEAGG._serialized_end = 40805 - _SPDATAFRAMEALIAS._serialized_start = 40807 - _SPDATAFRAMEALIAS._serialized_end = 40904 - _SPDATAFRAMEAPPLY._serialized_start = 40906 - _SPDATAFRAMEAPPLY._serialized_end = 41007 - _SPDATAFRAMECOL._serialized_start = 41009 - _SPDATAFRAMECOL._serialized_end = 41108 - _SPDATAFRAMECROSSJOIN._serialized_start = 41111 - _SPDATAFRAMECROSSJOIN._serialized_end = 41328 - _SPDATAFRAMECUBE._serialized_start = 41330 - _SPDATAFRAMECUBE._serialized_end = 41444 - _SPDATAFRAMEDESCRIBE._serialized_start = 41446 - _SPDATAFRAMEDESCRIBE._serialized_end = 41564 - _SPDATAFRAMEDISTINCT._serialized_start = 41566 - _SPDATAFRAMEDISTINCT._serialized_end = 41652 - _SPDATAFRAMEDROP._serialized_start = 41654 - _SPDATAFRAMEDROP._serialized_end = 41768 - _SPDATAFRAMEDROPDUPLICATES._serialized_start = 41770 - _SPDATAFRAMEDROPDUPLICATES._serialized_end = 41894 - _SPDATAFRAMEEXCEPT._serialized_start = 41896 - _SPDATAFRAMEEXCEPT._serialized_end = 42017 - _SPDATAFRAMEFILTER._serialized_start = 42019 - _SPDATAFRAMEFILTER._serialized_end = 42133 - _SPDATAFRAMEFLATTEN._serialized_start = 42136 - _SPDATAFRAMEFLATTEN._serialized_end = 42359 - _SPDATAFRAMEFIRST._serialized_start = 42362 - _SPDATAFRAMEFIRST._serialized_end = 42525 - _SPDATAFRAMEGROUPBY_COLUMNS._serialized_start = 42528 - _SPDATAFRAMEGROUPBY_COLUMNS._serialized_end = 42672 - _SPDATAFRAMEGROUPBY_STRINGS._serialized_start = 42674 - _SPDATAFRAMEGROUPBY_STRINGS._serialized_end = 42799 - _SPDATAFRAMEGROUPBY._serialized_start = 42801 - _SPDATAFRAMEGROUPBY._serialized_end = 42918 - _SPDATAFRAMEINTERSECT._serialized_start = 42920 - _SPDATAFRAMEINTERSECT._serialized_end = 43044 - _SPDATAFRAMEJOIN._serialized_start = 43047 - _SPDATAFRAMEJOIN._serialized_end = 43361 - _SPDATAFRAMEJOIN_TABLEFUNCTION_MAP._serialized_start = 43364 - _SPDATAFRAMEJOIN_TABLEFUNCTION_MAP._serialized_end = 43634 - _SPDATAFRAMEJOIN_TABLEFUNCTION_LIST._serialized_start = 43637 - _SPDATAFRAMEJOIN_TABLEFUNCTION_LIST._serialized_end = 43913 - _SPDATAFRAMEJOIN_DATAFRAME_JOINEXPRS._serialized_start = 43916 - _SPDATAFRAMEJOIN_DATAFRAME_JOINEXPRS._serialized_end = 44132 - _SPDATAFRAMEJOIN_DATAFRAME_USINGCOLUMNS._serialized_start = 44135 - _SPDATAFRAMEJOIN_DATAFRAME_USINGCOLUMNS._serialized_end = 44371 - _SPDATAFRAMELIMIT._serialized_start = 44373 - _SPDATAFRAMELIMIT._serialized_end = 44483 - _SPDATAFRAMENATURALJOIN._serialized_start = 44486 - _SPDATAFRAMENATURALJOIN._serialized_end = 44647 - _SPDATAFRAMEPIVOT_COLUMN._serialized_start = 44650 - _SPDATAFRAMEPIVOT_COLUMN._serialized_end = 44813 - _SPDATAFRAMEPIVOT_STRING._serialized_start = 44816 - _SPDATAFRAMEPIVOT_STRING._serialized_end = 44960 - _SPDATAFRAMERANDOMSPLIT._serialized_start = 44963 - _SPDATAFRAMERANDOMSPLIT._serialized_end = 45164 - _SPDATAFRAMERENAME._serialized_start = 45167 - _SPDATAFRAMERENAME._serialized_end = 45335 - _SPDATAFRAMEROLLUP_COLUMNS._serialized_start = 45338 - _SPDATAFRAMEROLLUP_COLUMNS._serialized_end = 45481 - _SPDATAFRAMEROLLUP_STRINGS._serialized_start = 45483 - _SPDATAFRAMEROLLUP_STRINGS._serialized_end = 45607 - _SPDATAFRAMEROLLUP._serialized_start = 45609 - _SPDATAFRAMEROLLUP._serialized_end = 45725 - _SPDATAFRAMESAMPLE._serialized_start = 45728 - _SPDATAFRAMESAMPLE._serialized_end = 45914 - _SPDATAFRAMESELECT_COLUMNS._serialized_start = 45917 - _SPDATAFRAMESELECT_COLUMNS._serialized_end = 46052 - _SPDATAFRAMESELECT_EXPRS._serialized_start = 46054 - _SPDATAFRAMESELECT_EXPRS._serialized_end = 46177 - _SPDATAFRAMESORT._serialized_start = 46180 - _SPDATAFRAMESORT._serialized_end = 46340 - _SPDATAFRAMEUNION._serialized_start = 46342 - _SPDATAFRAMEUNION._serialized_end = 46462 - _SPDATAFRAMEUNIONALL._serialized_start = 46464 - _SPDATAFRAMEUNIONALL._serialized_end = 46587 - _SPDATAFRAMEUNIONALLBYNAME._serialized_start = 46590 - _SPDATAFRAMEUNIONALLBYNAME._serialized_end = 46719 - _SPDATAFRAMEUNIONBYNAME._serialized_start = 46721 - _SPDATAFRAMEUNIONBYNAME._serialized_end = 46847 - _SPDATAFRAMEWHERE._serialized_start = 46849 - _SPDATAFRAMEWHERE._serialized_end = 46970 - _SPDATAFRAMEWITHCOLUMN._serialized_start = 46973 - _SPDATAFRAMEWITHCOLUMN._serialized_end = 47103 - _SPDATAFRAMEWITHCOLUMNRENAMED._serialized_start = 47106 - _SPDATAFRAMEWITHCOLUMNRENAMED._serialized_end = 47243 - _SPDATAFRAMEWITHCOLUMNS._serialized_start = 47246 - _SPDATAFRAMEWITHCOLUMNS._serialized_end = 47381 - _SPDATAFRAMEGROUPBYGROUPINGSETS._serialized_start = 47384 - _SPDATAFRAMEGROUPBYGROUPINGSETS._serialized_end = 47543 - _SPGROUPINGSETS._serialized_start = 47545 - _SPGROUPINGSETS._serialized_end = 47624 - _SPDATAFRAMEANALYTICSMOVINGAGG._serialized_start = 47627 - _SPDATAFRAMEANALYTICSMOVINGAGG._serialized_end = 47855 - _SPDATAFRAMEANALYTICSCUMULATIVEAGG._serialized_start = 47858 - _SPDATAFRAMEANALYTICSCUMULATIVEAGG._serialized_end = 48088 - _SPDATAFRAMEANALYTICSCOMPUTELAG._serialized_start = 48091 - _SPDATAFRAMEANALYTICSCOMPUTELAG._serialized_end = 48292 - _SPDATAFRAMEANALYTICSCOMPUTELEAD._serialized_start = 48295 - _SPDATAFRAMEANALYTICSCOMPUTELEAD._serialized_end = 48498 - _SPDATAFRAMEANALYTICSTIMESERIESAGG._serialized_start = 48501 - _SPDATAFRAMEANALYTICSTIMESERIESAGG._serialized_end = 48754 - _SPCOPYABLEDATAFRAMEEXPR._serialized_start = 48757 - _SPCOPYABLEDATAFRAMEEXPR._serialized_end = 49273 - _SPDATAFRAMEREADEROPTIONS._serialized_start = 49275 - _SPDATAFRAMEREADEROPTIONS._serialized_end = 49329 - _SPDATAFRAMEREADERSCHEMA._serialized_start = 49331 - _SPDATAFRAMEREADERSCHEMA._serialized_end = 49384 - _SPREADAVRO._serialized_start = 49386 - _SPREADAVRO._serialized_end = 49443 - _SPREADCSV._serialized_start = 49445 - _SPREADCSV._serialized_end = 49501 - _SPREADJSON._serialized_start = 49503 - _SPREADJSON._serialized_end = 49560 - _SPREADORC._serialized_start = 49562 - _SPREADORC._serialized_end = 49618 - _SPREADPARQUET._serialized_start = 49620 - _SPREADPARQUET._serialized_end = 49680 - _SPREADTABLE._serialized_start = 49682 - _SPREADTABLE._serialized_end = 49740 - _SPREADXML._serialized_start = 49742 - _SPREADXML._serialized_end = 49798 - _SPCOPYINTO._serialized_start = 49801 - _SPCOPYINTO._serialized_end = 50004 - _SPDATAFRAMEWRITER._serialized_start = 50007 - _SPDATAFRAMEWRITER._serialized_end = 50488 - _SPDATAFRAMEWRITERSAVEMODE._serialized_start = 50490 - _SPDATAFRAMEWRITERSAVEMODE._serialized_end = 50545 - _SPDATAFRAMEWRITEROPTIONS._serialized_start = 50547 - _SPDATAFRAMEWRITEROPTIONS._serialized_end = 50601 - _SPDATAFRAMEWRITE._serialized_start = 50603 - _SPDATAFRAMEWRITE._serialized_end = 50722 - _SPWRITEFILE._serialized_start = 50725 - _SPWRITEFILE._serialized_end = 50951 - _SPWRITECSV._serialized_start = 50954 - _SPWRITECSV._serialized_end = 51256 - _SPWRITEJSON._serialized_start = 51259 - _SPWRITEJSON._serialized_end = 51562 - _SPWRITEPARQUET._serialized_start = 51565 - _SPWRITEPARQUET._serialized_end = 51871 - _SPWRITETABLE._serialized_start = 51874 - _SPWRITETABLE._serialized_end = 52236 - _SPWRITECOPYINTOLOCATION._serialized_start = 52239 - _SPWRITECOPYINTOLOCATION._serialized_end = 52666 - _SPDATAFRAMECREATEORREPLACEVIEW._serialized_start = 52669 - _SPDATAFRAMECREATEORREPLACEVIEW._serialized_end = 52896 - _SPDATAFRAMECREATEORREPLACEDYNAMICTABLE._serialized_start = 52899 - _SPDATAFRAMECREATEORREPLACEDYNAMICTABLE._serialized_end = 53149 - _SPDATAFRAMECOPYINTOTABLE._serialized_start = 53152 - _SPDATAFRAMECOPYINTOTABLE._serialized_end = 53591 - _SPDATAFRAMECACHERESULT._serialized_start = 53594 - _SPDATAFRAMECACHERESULT._serialized_end = 53735 - _SPDATAFRAMESTATAPPROXQUANTILE._serialized_start = 53738 - _SPDATAFRAMESTATAPPROXQUANTILE._serialized_end = 53921 - _SPDATAFRAMESTATCORR._serialized_start = 53924 - _SPDATAFRAMESTATCORR._serialized_end = 54102 - _SPDATAFRAMESTATCOV._serialized_start = 54105 - _SPDATAFRAMESTATCOV._serialized_end = 54282 - _SPDATAFRAMESTATCROSSTAB._serialized_start = 54285 - _SPDATAFRAMESTATCROSSTAB._serialized_end = 54467 - _SPDATAFRAMESTATSAMPLEBY._serialized_start = 54470 - _SPDATAFRAMESTATSAMPLEBY._serialized_end = 54626 - _SPRELATIONALGROUPEDDATAFRAMEEXPR._serialized_start = 54629 - _SPRELATIONALGROUPEDDATAFRAMEEXPR._serialized_end = 55437 - _SPRELATIONALGROUPEDDATAFRAMEREF._serialized_start = 55439 - _SPRELATIONALGROUPEDDATAFRAMEREF._serialized_end = 55527 - _SPRELATIONALGROUPEDDATAFRAMEAGG_MAP._serialized_start = 55530 - _SPRELATIONALGROUPEDDATAFRAMEAGG_MAP._serialized_end = 55731 - _SPRELATIONALGROUPEDDATAFRAMEAGG_COLUMNS._serialized_start = 55734 - _SPRELATIONALGROUPEDDATAFRAMEAGG_COLUMNS._serialized_end = 55917 - _SPRELATIONALGROUPEDDATAFRAMEAGG._serialized_start = 55920 - _SPRELATIONALGROUPEDDATAFRAMEAGG._serialized_end = 56076 - _SPRELATIONALGROUPEDDATAFRAMEANYVALUE._serialized_start = 56079 - _SPRELATIONALGROUPEDDATAFRAMEANYVALUE._serialized_end = 56232 - _SPRELATIONALGROUPEDDATAFRAMEAVG._serialized_start = 56235 - _SPRELATIONALGROUPEDDATAFRAMEAVG._serialized_end = 56383 - _SPRELATIONALGROUPEDDATAFRAMEBUILTIN._serialized_start = 56386 - _SPRELATIONALGROUPEDDATAFRAMEBUILTIN._serialized_end = 56556 - _SPRELATIONALGROUPEDDATAFRAMECOUNT._serialized_start = 56558 - _SPRELATIONALGROUPEDDATAFRAMECOUNT._serialized_end = 56683 - _SPRELATIONALGROUPEDDATAFRAMEMAX._serialized_start = 56686 - _SPRELATIONALGROUPEDDATAFRAMEMAX._serialized_end = 56834 - _SPRELATIONALGROUPEDDATAFRAMEMEAN._serialized_start = 56837 - _SPRELATIONALGROUPEDDATAFRAMEMEAN._serialized_end = 56986 - _SPRELATIONALGROUPEDDATAFRAMEMEDIAN._serialized_start = 56989 - _SPRELATIONALGROUPEDDATAFRAMEMEDIAN._serialized_end = 57140 - _SPRELATIONALGROUPEDDATAFRAMEMIN._serialized_start = 57143 - _SPRELATIONALGROUPEDDATAFRAMEMIN._serialized_end = 57291 - _SPRELATIONALGROUPEDDATAFRAMESUM._serialized_start = 57294 - _SPRELATIONALGROUPEDDATAFRAMESUM._serialized_end = 57442 - _SPROW._serialized_start = 57444 - _SPROW._serialized_end = 57538 - _EXPRARGLIST._serialized_start = 57540 - _EXPRARGLIST._serialized_end = 57596 - _SPDATAFRAMETYPE._serialized_start = 57598 - _SPDATAFRAMETYPE._serialized_end = 57656 - _SPGROUPEDDATAFRAMETYPE._serialized_start = 57658 - _SPGROUPEDDATAFRAMETYPE._serialized_end = 57728 - _SPWINDOWTYPE._serialized_start = 57730 - _SPWINDOWTYPE._serialized_end = 57744 - _SPCOLEXPRTYPE._serialized_start = 57746 - _SPCOLEXPRTYPE._serialized_end = 57785 - _HASSRCPOSITION._serialized_start = 57788 - _HASSRCPOSITION._serialized_end = 69481 - _STMT._serialized_start = 69483 - _STMT._serialized_end = 69558 - _ASSIGN._serialized_start = 69560 - _ASSIGN._serialized_end = 69680 - _EVAL._serialized_start = 69682 - _EVAL._serialized_end = 69729 - _TYPE._serialized_start = 69732 - _TYPE._serialized_end = 70692 - _UNKNOWNTYPE._serialized_start = 70694 - _UNKNOWNTYPE._serialized_end = 70707 - _ANYTYPE._serialized_start = 70709 - _ANYTYPE._serialized_end = 70718 - _SCALARTYPE._serialized_start = 70721 - _SCALARTYPE._serialized_end = 71022 - _NUMERICTYPE._serialized_start = 71025 - _NUMERICTYPE._serialized_end = 71207 - _NUMBERTYPE._serialized_start = 71209 - _NUMBERTYPE._serialized_end = 71221 - _NOTHINGTYPE._serialized_start = 71223 - _NOTHINGTYPE._serialized_end = 71236 - _UNITTYPE._serialized_start = 71238 - _UNITTYPE._serialized_end = 71248 - _BOOLTYPE._serialized_start = 71250 - _BOOLTYPE._serialized_end = 71260 - _INT32TYPE._serialized_start = 71262 - _INT32TYPE._serialized_end = 71273 - _INT64TYPE._serialized_start = 71275 - _INT64TYPE._serialized_end = 71286 - _FLOAT64TYPE._serialized_start = 71288 - _FLOAT64TYPE._serialized_end = 71301 - _STRINGTYPE._serialized_start = 71303 - _STRINGTYPE._serialized_end = 71315 - _PDREPRTYPE._serialized_start = 71317 - _PDREPRTYPE._serialized_end = 71329 - _FNTYPE._serialized_start = 71331 - _FNTYPE._serialized_end = 71390 - _OPTIONTYPE._serialized_start = 71392 - _OPTIONTYPE._serialized_end = 71428 - _TUPLETYPE._serialized_start = 71430 - _TUPLETYPE._serialized_end = 71465 - _LISTTYPE._serialized_start = 71467 - _LISTTYPE._serialized_end = 71501 - _MAPTYPE._serialized_start = 71503 - _MAPTYPE._serialized_end = 71556 - _TYVAR._serialized_start = 71558 - _TYVAR._serialized_end = 71577 + _SPJOINTYPE._serialized_end = 3683 + _SPTIMESTAMPTIMEZONE._serialized_start = 3686 + _SPTIMESTAMPTIMEZONE._serialized_end = 3873 + _SPDATATYPE._serialized_start = 3876 + _SPDATATYPE._serialized_end = 4678 + _SPARRAYTYPE._serialized_start = 4680 + _SPARRAYTYPE._serialized_end = 4742 + _SPCOLUMNIDENTIFIER._serialized_start = 4744 + _SPCOLUMNIDENTIFIER._serialized_end = 4778 + _SPDECIMALTYPE._serialized_start = 4780 + _SPDECIMALTYPE._serialized_end = 4829 + _SPMAPTYPE._serialized_start = 4831 + _SPMAPTYPE._serialized_end = 4930 + _SPSTRINGTYPE._serialized_start = 4932 + _SPSTRINGTYPE._serialized_end = 4991 + _SPSTRUCTFIELD._serialized_start = 4993 + _SPSTRUCTFIELD._serialized_end = 5114 + _SPSTRUCTTYPE._serialized_start = 5116 + _SPSTRUCTTYPE._serialized_end = 5186 + _SPTIMESTAMPTYPE._serialized_start = 5188 + _SPTIMESTAMPTYPE._serialized_end = 5250 + _SPVECTORTYPE._serialized_start = 5252 + _SPVECTORTYPE._serialized_end = 5314 + _SPVARIANT._serialized_start = 5317 + _SPVARIANT._serialized_end = 6023 + _SPVARIANT_OBJECT._serialized_start = 6025 + _SPVARIANT_OBJECT._serialized_end = 6080 + _SPVARIANT_LIST._serialized_start = 6082 + _SPVARIANT_LIST._serialized_end = 6133 + _SPVARIANT_TIMESTAMP._serialized_start = 6135 + _SPVARIANT_TIMESTAMP._serialized_end = 6167 + _SPVARIANT_DATE._serialized_start = 6169 + _SPVARIANT_DATE._serialized_end = 6196 + _SPVARIANT_TIME._serialized_start = 6198 + _SPVARIANT_TIME._serialized_end = 6225 + _SPVARIANT_BYTES._serialized_start = 6227 + _SPVARIANT_BYTES._serialized_end = 6255 + _SPVARIANT_STRING._serialized_start = 6257 + _SPVARIANT_STRING._serialized_end = 6286 + _SPVARIANT_BOOL._serialized_start = 6288 + _SPVARIANT_BOOL._serialized_end = 6315 + _SPVARIANT_BIGINT._serialized_start = 6317 + _SPVARIANT_BIGINT._serialized_end = 6346 + _SPVARIANT_BIGDECIMAL._serialized_start = 6348 + _SPVARIANT_BIGDECIMAL._serialized_end = 6381 + _SPVARIANT_INT._serialized_start = 6383 + _SPVARIANT_INT._serialized_end = 6409 + _SPVARIANT_FLOAT._serialized_start = 6411 + _SPVARIANT_FLOAT._serialized_end = 6439 + _SPVARIANT_DOUBLE._serialized_start = 6441 + _SPVARIANT_DOUBLE._serialized_end = 6470 + _SPTABLENAME._serialized_start = 6473 + _SPTABLENAME._serialized_end = 6618 + _SPTABLENAMEFLAT._serialized_start = 6620 + _SPTABLENAMEFLAT._serialized_end = 6651 + _SPTABLENAMESTRUCTURED._serialized_start = 6653 + _SPTABLENAMESTRUCTURED._serialized_end = 6690 + _STAGEDPANDASDATAFRAME._serialized_start = 6692 + _STAGEDPANDASDATAFRAME._serialized_end = 6753 + _SPDATAFRAMEDATA._serialized_start = 6756 + _SPDATAFRAMEDATA._serialized_end = 6981 + _SPDATAFRAMEDATA_LIST._serialized_start = 6983 + _SPDATAFRAMEDATA_LIST._serialized_end = 7028 + _SPDATAFRAMEDATA_TUPLE._serialized_start = 7030 + _SPDATAFRAMEDATA_TUPLE._serialized_end = 7076 + _SPDATAFRAMEDATA_PANDAS._serialized_start = 7078 + _SPDATAFRAMEDATA_PANDAS._serialized_end = 7141 + _SPDATAFRAMESCHEMA._serialized_start = 7144 + _SPDATAFRAMESCHEMA._serialized_end = 7315 + _SPDATAFRAMESCHEMA_LIST._serialized_start = 7317 + _SPDATAFRAMESCHEMA_LIST._serialized_end = 7353 + _SPDATAFRAMESCHEMA_STRUCT._serialized_start = 7355 + _SPDATAFRAMESCHEMA_STRUCT._serialized_end = 7411 + _SRCPOSITION._serialized_start = 7413 + _SRCPOSITION._serialized_end = 7520 + _VARID._serialized_start = 7522 + _VARID._serialized_end = 7548 + _REQUEST._serialized_start = 7551 + _REQUEST._serialized_end = 7691 + _RESPONSE._serialized_start = 7693 + _RESPONSE._serialized_end = 7730 + _CONST._serialized_start = 7733 + _CONST._serialized_end = 8420 + _NONEVAL._serialized_start = 8422 + _NONEVAL._serialized_end = 8462 + _NULLVAL._serialized_start = 8464 + _NULLVAL._serialized_end = 8504 + _BOOLVAL._serialized_start = 8506 + _BOOLVAL._serialized_end = 8557 + _INT32VAL._serialized_start = 8559 + _INT32VAL._serialized_end = 8611 + _INT64VAL._serialized_start = 8613 + _INT64VAL._serialized_end = 8665 + _FLOAT64VAL._serialized_start = 8667 + _FLOAT64VAL._serialized_end = 8721 + _BIGINTVAL._serialized_start = 8723 + _BIGINTVAL._serialized_end = 8776 + _BIGDECIMALVAL._serialized_start = 8778 + _BIGDECIMALVAL._serialized_end = 8863 + _STRINGVAL._serialized_start = 8865 + _STRINGVAL._serialized_end = 8918 + _BINARYVAL._serialized_start = 8920 + _BINARYVAL._serialized_end = 8973 + _TIMESTAMPVAL._serialized_start = 8975 + _TIMESTAMPVAL._serialized_end = 9031 + _DATEVAL._serialized_start = 9033 + _DATEVAL._serialized_end = 9084 + _TIMEVAL._serialized_start = 9086 + _TIMEVAL._serialized_end = 9137 + _PYTHONTIMESTAMPVAL._serialized_start = 9140 + _PYTHONTIMESTAMPVAL._serialized_end = 9333 + _PYTHONDATEVAL._serialized_start = 9335 + _PYTHONDATEVAL._serialized_end = 9423 + _PYTHONTIMEVAL._serialized_start = 9426 + _PYTHONTIMEVAL._serialized_end = 9572 + _FNVAL._serialized_start = 9574 + _FNVAL._serialized_end = 9653 + _IFEXPR._serialized_start = 9655 + _IFEXPR._serialized_end = 9776 + _SOMEVAL._serialized_start = 9778 + _SOMEVAL._serialized_end = 9840 + _TUPLEVAL._serialized_start = 9842 + _TUPLEVAL._serialized_end = 9906 + _LISTVAL._serialized_start = 9908 + _LISTVAL._serialized_end = 9971 + _SEQMAPVAL._serialized_start = 9973 + _SEQMAPVAL._serialized_end = 10043 + _APPLYEXPR._serialized_start = 10046 + _APPLYEXPR._serialized_end = 10189 + _FNREFEXPR._serialized_start = 10192 + _FNREFEXPR._serialized_end = 10410 + _BUILTINFN._serialized_start = 10412 + _BUILTINFN._serialized_end = 10481 + _STOREDPROCEDURE._serialized_start = 10484 + _STOREDPROCEDURE._serialized_end = 10663 + _UDF._serialized_start = 10665 + _UDF._serialized_end = 10728 + _SESSIONTABLEFN._serialized_start = 10730 + _SESSIONTABLEFN._serialized_end = 10804 + _TABLEFN._serialized_start = 10806 + _TABLEFN._serialized_end = 10914 + _UNARYOP._serialized_start = 10916 + _UNARYOP._serialized_end = 10986 + _BINOP._serialized_start = 10989 + _BINOP._serialized_end = 11443 + _NOT._serialized_start = 11445 + _NOT._serialized_end = 11509 + _AND._serialized_start = 11511 + _AND._serialized_end = 11595 + _OR._serialized_start = 11597 + _OR._serialized_end = 11680 + _EQ._serialized_start = 11682 + _EQ._serialized_end = 11765 + _NEQ._serialized_start = 11767 + _NEQ._serialized_end = 11851 + _LT._serialized_start = 11853 + _LT._serialized_end = 11936 + _LEQ._serialized_start = 11938 + _LEQ._serialized_end = 12022 + _GT._serialized_start = 12024 + _GT._serialized_end = 12107 + _GEQ._serialized_start = 12109 + _GEQ._serialized_end = 12193 + _NEG._serialized_start = 12195 + _NEG._serialized_end = 12259 + _ADD._serialized_start = 12261 + _ADD._serialized_end = 12345 + _SUB._serialized_start = 12347 + _SUB._serialized_end = 12431 + _MUL._serialized_start = 12433 + _MUL._serialized_end = 12517 + _DIV._serialized_start = 12519 + _DIV._serialized_end = 12603 + _MOD._serialized_start = 12605 + _MOD._serialized_end = 12689 + _POW._serialized_start = 12691 + _POW._serialized_end = 12775 + _BITAND._serialized_start = 12777 + _BITAND._serialized_end = 12864 + _BITOR._serialized_start = 12866 + _BITOR._serialized_end = 12952 + _BITXOR._serialized_start = 12954 + _BITXOR._serialized_end = 13041 + _RANGEVAL._serialized_start = 13043 + _RANGEVAL._serialized_end = 13160 + _SPWINDOWSPECEXPR._serialized_start = 13163 + _SPWINDOWSPECEXPR._serialized_end = 13518 + _SPWINDOWSPECEMPTY._serialized_start = 13520 + _SPWINDOWSPECEMPTY._serialized_end = 13606 + _SPWINDOWSPECORDERBY._serialized_start = 13608 + _SPWINDOWSPECORDERBY._serialized_end = 13721 + _SPWINDOWSPECPARTITIONBY._serialized_start = 13723 + _SPWINDOWSPECPARTITIONBY._serialized_end = 13840 + _SPWINDOWSPECRANGEBETWEEN._serialized_start = 13843 + _SPWINDOWSPECRANGEBETWEEN._serialized_end = 14026 + _SPWINDOWSPECROWSBETWEEN._serialized_start = 14029 + _SPWINDOWSPECROWSBETWEEN._serialized_end = 14211 + _EXPR._serialized_start = 14214 + _EXPR._serialized_end = 25429 + _REF._serialized_start = 25431 + _REF._serialized_end = 25495 + _CASTEXPR._serialized_start = 25497 + _CASTEXPR._serialized_end = 25584 + _PDDATAFRAME._serialized_start = 25587 + _PDDATAFRAME._serialized_end = 25736 + _PDDROPNA._serialized_start = 25739 + _PDDROPNA._serialized_end = 25881 + _PDDATAFRAMEGETITEM._serialized_start = 25883 + _PDDATAFRAMEGETITEM._serialized_end = 25984 + _PDDATAFRAMESETITEM._serialized_start = 25986 + _PDDATAFRAMESETITEM._serialized_end = 26109 + _PDDATAFRAMELOC._serialized_start = 26111 + _PDDATAFRAMELOC._serialized_end = 26233 + _PDDATAFRAMEILOC._serialized_start = 26235 + _PDDATAFRAMEILOC._serialized_end = 26358 + _PDREPR._serialized_start = 26360 + _PDREPR._serialized_end = 26474 + _PDREPRRESULT._serialized_start = 26476 + _PDREPRRESULT._serialized_end = 26593 + _RESULT._serialized_start = 26596 + _RESULT._serialized_end = 26754 + _EVALRESULT._serialized_start = 26757 + _EVALRESULT._serialized_end = 27529 + _EVALOK._serialized_start = 27531 + _EVALOK._serialized_end = 27611 + _ERROR._serialized_start = 27613 + _ERROR._serialized_end = 27703 + _SESSIONRESETREQUIREDERROR._serialized_start = 27705 + _SESSIONRESETREQUIREDERROR._serialized_end = 27773 + _SPCOLUMNEXPR._serialized_start = 27776 + _SPCOLUMNEXPR._serialized_end = 28108 + _SPCOLUMNREF._serialized_start = 28110 + _SPCOLUMNREF._serialized_end = 28166 + _SPCOLUMNSQLEXPR._serialized_start = 28168 + _SPCOLUMNSQLEXPR._serialized_end = 28277 + _SPCASEEXPR._serialized_start = 28279 + _SPCASEEXPR._serialized_end = 28378 + _SPCOLUMNCASEWHEN._serialized_start = 28380 + _SPCOLUMNCASEWHEN._serialized_end = 28461 + _SPCOLUMNFN._serialized_start = 28464 + _SPCOLUMNFN._serialized_end = 29761 + _SPCOLUMNALIAS._serialized_start = 29764 + _SPCOLUMNALIAS._serialized_end = 29899 + _SPCOLUMNAPPLY_INT._serialized_start = 29901 + _SPCOLUMNAPPLY_INT._serialized_end = 29988 + _SPCOLUMNAPPLY_STRING._serialized_start = 29990 + _SPCOLUMNAPPLY_STRING._serialized_end = 30082 + _SPCOLUMNASC._serialized_start = 30084 + _SPCOLUMNASC._serialized_end = 30201 + _SPCOLUMNBETWEEN._serialized_start = 30204 + _SPCOLUMNBETWEEN._serialized_end = 30340 + _SPCOLUMNCAST._serialized_start = 30342 + _SPCOLUMNCAST._serialized_end = 30440 + _SPCOLUMNTRYCAST._serialized_start = 30442 + _SPCOLUMNTRYCAST._serialized_end = 30543 + _SPCOLUMNDESC._serialized_start = 30545 + _SPCOLUMNDESC._serialized_end = 30663 + _SPCOLUMNEQUALNAN._serialized_start = 30665 + _SPCOLUMNEQUALNAN._serialized_end = 30738 + _SPCOLUMNEQUALNULL._serialized_start = 30740 + _SPCOLUMNEQUALNULL._serialized_end = 30838 + _SPCOLUMNIN_DATAFRAME._serialized_start = 30840 + _SPCOLUMNIN_DATAFRAME._serialized_end = 30951 + _SPCOLUMNIN_SEQ._serialized_start = 30953 + _SPCOLUMNIN_SEQ._serialized_end = 31051 + _SPCOLUMNISNOTNULL._serialized_start = 31053 + _SPCOLUMNISNOTNULL._serialized_end = 31127 + _SPCOLUMNISNULL._serialized_start = 31129 + _SPCOLUMNISNULL._serialized_end = 31200 + _SPCOLUMNNAME._serialized_start = 31202 + _SPCOLUMNNAME._serialized_end = 31286 + _SPCOLUMNOVER._serialized_start = 31288 + _SPCOLUMNOVER._serialized_end = 31401 + _SPCOLUMNWITHINGROUP._serialized_start = 31403 + _SPCOLUMNWITHINGROUP._serialized_end = 31511 + _SPCOLUMNSTRINGLIKE._serialized_start = 31513 + _SPCOLUMNSTRINGLIKE._serialized_end = 31616 + _SPCOLUMNSTRINGREGEXP._serialized_start = 31619 + _SPCOLUMNSTRINGREGEXP._serialized_end = 31755 + _SPCOLUMNSTRINGSTARTSWITH._serialized_start = 31757 + _SPCOLUMNSTRINGSTARTSWITH._serialized_end = 31865 + _SPCOLUMNSTRINGENDSWITH._serialized_start = 31867 + _SPCOLUMNSTRINGENDSWITH._serialized_end = 31973 + _SPCOLUMNSTRINGSUBSTR._serialized_start = 31975 + _SPCOLUMNSTRINGSUBSTR._serialized_end = 32100 + _SPCOLUMNSTRINGCOLLATE._serialized_start = 32102 + _SPCOLUMNSTRINGCOLLATE._serialized_end = 32215 + _SPCOLUMNSTRINGCONTAINS._serialized_start = 32217 + _SPCOLUMNSTRINGCONTAINS._serialized_end = 32324 + _SPDATAFRAMEEXPR._serialized_start = 32327 + _SPDATAFRAMEEXPR._serialized_end = 37825 + _SPDATAFRAMEREF._serialized_start = 37827 + _SPDATAFRAMEREF._serialized_end = 37898 + _SPDATAFRAMESHOW._serialized_start = 37900 + _SPDATAFRAMESHOW._serialized_end = 37972 + _SPDATAFRAMECOUNT._serialized_start = 37975 + _SPDATAFRAMECOUNT._serialized_end = 38115 + _SPDATAFRAMECOLLECT._serialized_start = 38118 + _SPDATAFRAMECOLLECT._serialized_end = 38327 + _SPCREATEDATAFRAME._serialized_start = 38329 + _SPCREATEDATAFRAME._serialized_end = 38455 + _SPWRITEPANDAS._serialized_start = 38458 + _SPWRITEPANDAS._serialized_end = 38842 + _SPFLATTEN._serialized_start = 38845 + _SPFLATTEN._serialized_end = 39025 + _SPGENERATOR._serialized_start = 39028 + _SPGENERATOR._serialized_end = 39165 + _SPRANGE._serialized_start = 39168 + _SPRANGE._serialized_end = 39308 + _SPSQL._serialized_start = 39310 + _SPSQL._serialized_end = 39390 + _SPSTOREDPROCEDURE._serialized_start = 39392 + _SPSTOREDPROCEDURE._serialized_end = 39507 + _SPTABLE._serialized_start = 39510 + _SPTABLE._serialized_end = 39655 + _SPTABLEFUNCTION._serialized_start = 39657 + _SPTABLEFUNCTION._serialized_end = 39781 + _SPDATAFRAMETODF._serialized_start = 39783 + _SPDATAFRAMETODF._serialized_end = 39902 + _SPDATAFRAMENADROP_SCALA._serialized_start = 39905 + _SPDATAFRAMENADROP_SCALA._serialized_end = 40040 + _SPDATAFRAMENADROP_PYTHON._serialized_start = 40043 + _SPDATAFRAMENADROP_PYTHON._serialized_end = 40226 + _SPDATAFRAMENAFILL._serialized_start = 40229 + _SPDATAFRAMENAFILL._serialized_end = 40414 + _SPDATAFRAMENAREPLACE._serialized_start = 40417 + _SPDATAFRAMENAREPLACE._serialized_end = 40719 + _SPDATAFRAMEAGG._serialized_start = 40721 + _SPDATAFRAMEAGG._serialized_end = 40835 + _SPDATAFRAMEALIAS._serialized_start = 40837 + _SPDATAFRAMEALIAS._serialized_end = 40934 + _SPDATAFRAMEAPPLY._serialized_start = 40936 + _SPDATAFRAMEAPPLY._serialized_end = 41037 + _SPDATAFRAMECOL._serialized_start = 41039 + _SPDATAFRAMECOL._serialized_end = 41138 + _SPDATAFRAMECROSSJOIN._serialized_start = 41141 + _SPDATAFRAMECROSSJOIN._serialized_end = 41358 + _SPDATAFRAMECUBE._serialized_start = 41360 + _SPDATAFRAMECUBE._serialized_end = 41474 + _SPDATAFRAMEDESCRIBE._serialized_start = 41476 + _SPDATAFRAMEDESCRIBE._serialized_end = 41594 + _SPDATAFRAMEDISTINCT._serialized_start = 41596 + _SPDATAFRAMEDISTINCT._serialized_end = 41682 + _SPDATAFRAMEDROP._serialized_start = 41684 + _SPDATAFRAMEDROP._serialized_end = 41798 + _SPDATAFRAMEDROPDUPLICATES._serialized_start = 41800 + _SPDATAFRAMEDROPDUPLICATES._serialized_end = 41924 + _SPDATAFRAMEEXCEPT._serialized_start = 41926 + _SPDATAFRAMEEXCEPT._serialized_end = 42047 + _SPDATAFRAMEFILTER._serialized_start = 42049 + _SPDATAFRAMEFILTER._serialized_end = 42163 + _SPDATAFRAMEFLATTEN._serialized_start = 42166 + _SPDATAFRAMEFLATTEN._serialized_end = 42389 + _SPDATAFRAMEFIRST._serialized_start = 42392 + _SPDATAFRAMEFIRST._serialized_end = 42555 + _SPDATAFRAMEGROUPBY_COLUMNS._serialized_start = 42558 + _SPDATAFRAMEGROUPBY_COLUMNS._serialized_end = 42702 + _SPDATAFRAMEGROUPBY_STRINGS._serialized_start = 42704 + _SPDATAFRAMEGROUPBY_STRINGS._serialized_end = 42829 + _SPDATAFRAMEGROUPBY._serialized_start = 42831 + _SPDATAFRAMEGROUPBY._serialized_end = 42948 + _SPDATAFRAMEINTERSECT._serialized_start = 42950 + _SPDATAFRAMEINTERSECT._serialized_end = 43074 + _SPDATAFRAMEJOIN._serialized_start = 43077 + _SPDATAFRAMEJOIN._serialized_end = 43391 + _SPDATAFRAMEJOIN_TABLEFUNCTION_MAP._serialized_start = 43394 + _SPDATAFRAMEJOIN_TABLEFUNCTION_MAP._serialized_end = 43664 + _SPDATAFRAMEJOIN_TABLEFUNCTION_LIST._serialized_start = 43667 + _SPDATAFRAMEJOIN_TABLEFUNCTION_LIST._serialized_end = 43943 + _SPDATAFRAMEJOIN_DATAFRAME_JOINEXPRS._serialized_start = 43946 + _SPDATAFRAMEJOIN_DATAFRAME_JOINEXPRS._serialized_end = 44162 + _SPDATAFRAMEJOIN_DATAFRAME_USINGCOLUMNS._serialized_start = 44165 + _SPDATAFRAMEJOIN_DATAFRAME_USINGCOLUMNS._serialized_end = 44401 + _SPDATAFRAMELIMIT._serialized_start = 44403 + _SPDATAFRAMELIMIT._serialized_end = 44513 + _SPDATAFRAMENATURALJOIN._serialized_start = 44516 + _SPDATAFRAMENATURALJOIN._serialized_end = 44677 + _SPDATAFRAMEPIVOT_COLUMN._serialized_start = 44680 + _SPDATAFRAMEPIVOT_COLUMN._serialized_end = 44843 + _SPDATAFRAMEPIVOT_STRING._serialized_start = 44846 + _SPDATAFRAMEPIVOT_STRING._serialized_end = 44990 + _SPDATAFRAMERANDOMSPLIT._serialized_start = 44993 + _SPDATAFRAMERANDOMSPLIT._serialized_end = 45194 + _SPDATAFRAMERENAME._serialized_start = 45197 + _SPDATAFRAMERENAME._serialized_end = 45365 + _SPDATAFRAMEROLLUP_COLUMNS._serialized_start = 45368 + _SPDATAFRAMEROLLUP_COLUMNS._serialized_end = 45511 + _SPDATAFRAMEROLLUP_STRINGS._serialized_start = 45513 + _SPDATAFRAMEROLLUP_STRINGS._serialized_end = 45637 + _SPDATAFRAMEROLLUP._serialized_start = 45639 + _SPDATAFRAMEROLLUP._serialized_end = 45755 + _SPDATAFRAMESAMPLE._serialized_start = 45758 + _SPDATAFRAMESAMPLE._serialized_end = 45944 + _SPDATAFRAMESELECT_COLUMNS._serialized_start = 45947 + _SPDATAFRAMESELECT_COLUMNS._serialized_end = 46082 + _SPDATAFRAMESELECT_EXPRS._serialized_start = 46084 + _SPDATAFRAMESELECT_EXPRS._serialized_end = 46207 + _SPDATAFRAMESORT._serialized_start = 46210 + _SPDATAFRAMESORT._serialized_end = 46370 + _SPDATAFRAMEUNION._serialized_start = 46372 + _SPDATAFRAMEUNION._serialized_end = 46492 + _SPDATAFRAMEUNIONALL._serialized_start = 46494 + _SPDATAFRAMEUNIONALL._serialized_end = 46617 + _SPDATAFRAMEUNIONALLBYNAME._serialized_start = 46620 + _SPDATAFRAMEUNIONALLBYNAME._serialized_end = 46749 + _SPDATAFRAMEUNIONBYNAME._serialized_start = 46751 + _SPDATAFRAMEUNIONBYNAME._serialized_end = 46877 + _SPDATAFRAMEWHERE._serialized_start = 46879 + _SPDATAFRAMEWHERE._serialized_end = 47000 + _SPDATAFRAMEWITHCOLUMN._serialized_start = 47003 + _SPDATAFRAMEWITHCOLUMN._serialized_end = 47133 + _SPDATAFRAMEWITHCOLUMNRENAMED._serialized_start = 47136 + _SPDATAFRAMEWITHCOLUMNRENAMED._serialized_end = 47273 + _SPDATAFRAMEWITHCOLUMNS._serialized_start = 47276 + _SPDATAFRAMEWITHCOLUMNS._serialized_end = 47411 + _SPDATAFRAMEGROUPBYGROUPINGSETS._serialized_start = 47414 + _SPDATAFRAMEGROUPBYGROUPINGSETS._serialized_end = 47573 + _SPGROUPINGSETS._serialized_start = 47575 + _SPGROUPINGSETS._serialized_end = 47654 + _SPDATAFRAMEANALYTICSMOVINGAGG._serialized_start = 47657 + _SPDATAFRAMEANALYTICSMOVINGAGG._serialized_end = 47885 + _SPDATAFRAMEANALYTICSCUMULATIVEAGG._serialized_start = 47888 + _SPDATAFRAMEANALYTICSCUMULATIVEAGG._serialized_end = 48118 + _SPDATAFRAMEANALYTICSCOMPUTELAG._serialized_start = 48121 + _SPDATAFRAMEANALYTICSCOMPUTELAG._serialized_end = 48322 + _SPDATAFRAMEANALYTICSCOMPUTELEAD._serialized_start = 48325 + _SPDATAFRAMEANALYTICSCOMPUTELEAD._serialized_end = 48528 + _SPDATAFRAMEANALYTICSTIMESERIESAGG._serialized_start = 48531 + _SPDATAFRAMEANALYTICSTIMESERIESAGG._serialized_end = 48784 + _SPCOPYABLEDATAFRAMEEXPR._serialized_start = 48787 + _SPCOPYABLEDATAFRAMEEXPR._serialized_end = 49303 + _SPDATAFRAMEREADEROPTIONS._serialized_start = 49305 + _SPDATAFRAMEREADEROPTIONS._serialized_end = 49359 + _SPDATAFRAMEREADERSCHEMA._serialized_start = 49361 + _SPDATAFRAMEREADERSCHEMA._serialized_end = 49414 + _SPREADAVRO._serialized_start = 49416 + _SPREADAVRO._serialized_end = 49473 + _SPREADCSV._serialized_start = 49475 + _SPREADCSV._serialized_end = 49531 + _SPREADJSON._serialized_start = 49533 + _SPREADJSON._serialized_end = 49590 + _SPREADORC._serialized_start = 49592 + _SPREADORC._serialized_end = 49648 + _SPREADPARQUET._serialized_start = 49650 + _SPREADPARQUET._serialized_end = 49710 + _SPREADTABLE._serialized_start = 49712 + _SPREADTABLE._serialized_end = 49770 + _SPREADXML._serialized_start = 49772 + _SPREADXML._serialized_end = 49828 + _SPCOPYINTO._serialized_start = 49831 + _SPCOPYINTO._serialized_end = 50034 + _SPDATAFRAMEWRITER._serialized_start = 50037 + _SPDATAFRAMEWRITER._serialized_end = 50518 + _SPDATAFRAMEWRITERSAVEMODE._serialized_start = 50520 + _SPDATAFRAMEWRITERSAVEMODE._serialized_end = 50575 + _SPDATAFRAMEWRITEROPTIONS._serialized_start = 50577 + _SPDATAFRAMEWRITEROPTIONS._serialized_end = 50631 + _SPDATAFRAMEWRITE._serialized_start = 50633 + _SPDATAFRAMEWRITE._serialized_end = 50752 + _SPWRITEFILE._serialized_start = 50755 + _SPWRITEFILE._serialized_end = 50981 + _SPWRITECSV._serialized_start = 50984 + _SPWRITECSV._serialized_end = 51286 + _SPWRITEJSON._serialized_start = 51289 + _SPWRITEJSON._serialized_end = 51592 + _SPWRITEPARQUET._serialized_start = 51595 + _SPWRITEPARQUET._serialized_end = 51901 + _SPWRITETABLE._serialized_start = 51904 + _SPWRITETABLE._serialized_end = 52266 + _SPWRITECOPYINTOLOCATION._serialized_start = 52269 + _SPWRITECOPYINTOLOCATION._serialized_end = 52696 + _SPDATAFRAMECREATEORREPLACEVIEW._serialized_start = 52699 + _SPDATAFRAMECREATEORREPLACEVIEW._serialized_end = 52926 + _SPDATAFRAMECREATEORREPLACEDYNAMICTABLE._serialized_start = 52929 + _SPDATAFRAMECREATEORREPLACEDYNAMICTABLE._serialized_end = 53179 + _SPDATAFRAMECOPYINTOTABLE._serialized_start = 53182 + _SPDATAFRAMECOPYINTOTABLE._serialized_end = 53621 + _SPDATAFRAMECACHERESULT._serialized_start = 53624 + _SPDATAFRAMECACHERESULT._serialized_end = 53765 + _SPDATAFRAMESTATAPPROXQUANTILE._serialized_start = 53768 + _SPDATAFRAMESTATAPPROXQUANTILE._serialized_end = 53951 + _SPDATAFRAMESTATCORR._serialized_start = 53954 + _SPDATAFRAMESTATCORR._serialized_end = 54132 + _SPDATAFRAMESTATCOV._serialized_start = 54135 + _SPDATAFRAMESTATCOV._serialized_end = 54312 + _SPDATAFRAMESTATCROSSTAB._serialized_start = 54315 + _SPDATAFRAMESTATCROSSTAB._serialized_end = 54497 + _SPDATAFRAMESTATSAMPLEBY._serialized_start = 54500 + _SPDATAFRAMESTATSAMPLEBY._serialized_end = 54656 + _SPRELATIONALGROUPEDDATAFRAMEEXPR._serialized_start = 54659 + _SPRELATIONALGROUPEDDATAFRAMEEXPR._serialized_end = 55467 + _SPRELATIONALGROUPEDDATAFRAMEREF._serialized_start = 55469 + _SPRELATIONALGROUPEDDATAFRAMEREF._serialized_end = 55557 + _SPRELATIONALGROUPEDDATAFRAMEAGG_MAP._serialized_start = 55560 + _SPRELATIONALGROUPEDDATAFRAMEAGG_MAP._serialized_end = 55761 + _SPRELATIONALGROUPEDDATAFRAMEAGG_COLUMNS._serialized_start = 55764 + _SPRELATIONALGROUPEDDATAFRAMEAGG_COLUMNS._serialized_end = 55947 + _SPRELATIONALGROUPEDDATAFRAMEAGG._serialized_start = 55950 + _SPRELATIONALGROUPEDDATAFRAMEAGG._serialized_end = 56106 + _SPRELATIONALGROUPEDDATAFRAMEANYVALUE._serialized_start = 56109 + _SPRELATIONALGROUPEDDATAFRAMEANYVALUE._serialized_end = 56262 + _SPRELATIONALGROUPEDDATAFRAMEAVG._serialized_start = 56265 + _SPRELATIONALGROUPEDDATAFRAMEAVG._serialized_end = 56413 + _SPRELATIONALGROUPEDDATAFRAMEBUILTIN._serialized_start = 56416 + _SPRELATIONALGROUPEDDATAFRAMEBUILTIN._serialized_end = 56586 + _SPRELATIONALGROUPEDDATAFRAMECOUNT._serialized_start = 56588 + _SPRELATIONALGROUPEDDATAFRAMECOUNT._serialized_end = 56713 + _SPRELATIONALGROUPEDDATAFRAMEMAX._serialized_start = 56716 + _SPRELATIONALGROUPEDDATAFRAMEMAX._serialized_end = 56864 + _SPRELATIONALGROUPEDDATAFRAMEMEAN._serialized_start = 56867 + _SPRELATIONALGROUPEDDATAFRAMEMEAN._serialized_end = 57016 + _SPRELATIONALGROUPEDDATAFRAMEMEDIAN._serialized_start = 57019 + _SPRELATIONALGROUPEDDATAFRAMEMEDIAN._serialized_end = 57170 + _SPRELATIONALGROUPEDDATAFRAMEMIN._serialized_start = 57173 + _SPRELATIONALGROUPEDDATAFRAMEMIN._serialized_end = 57321 + _SPRELATIONALGROUPEDDATAFRAMESUM._serialized_start = 57324 + _SPRELATIONALGROUPEDDATAFRAMESUM._serialized_end = 57472 + _SPROW._serialized_start = 57474 + _SPROW._serialized_end = 57568 + _EXPRARGLIST._serialized_start = 57570 + _EXPRARGLIST._serialized_end = 57626 + _SPDATAFRAMETYPE._serialized_start = 57628 + _SPDATAFRAMETYPE._serialized_end = 57686 + _SPGROUPEDDATAFRAMETYPE._serialized_start = 57688 + _SPGROUPEDDATAFRAMETYPE._serialized_end = 57758 + _SPWINDOWTYPE._serialized_start = 57760 + _SPWINDOWTYPE._serialized_end = 57774 + _SPCOLEXPRTYPE._serialized_start = 57776 + _SPCOLEXPRTYPE._serialized_end = 57815 + _HASSRCPOSITION._serialized_start = 57818 + _HASSRCPOSITION._serialized_end = 69511 + _STMT._serialized_start = 69513 + _STMT._serialized_end = 69588 + _ASSIGN._serialized_start = 69590 + _ASSIGN._serialized_end = 69710 + _EVAL._serialized_start = 69712 + _EVAL._serialized_end = 69759 + _TYPE._serialized_start = 69762 + _TYPE._serialized_end = 70722 + _UNKNOWNTYPE._serialized_start = 70724 + _UNKNOWNTYPE._serialized_end = 70737 + _ANYTYPE._serialized_start = 70739 + _ANYTYPE._serialized_end = 70748 + _SCALARTYPE._serialized_start = 70751 + _SCALARTYPE._serialized_end = 71052 + _NUMERICTYPE._serialized_start = 71055 + _NUMERICTYPE._serialized_end = 71237 + _NUMBERTYPE._serialized_start = 71239 + _NUMBERTYPE._serialized_end = 71251 + _NOTHINGTYPE._serialized_start = 71253 + _NOTHINGTYPE._serialized_end = 71266 + _UNITTYPE._serialized_start = 71268 + _UNITTYPE._serialized_end = 71278 + _BOOLTYPE._serialized_start = 71280 + _BOOLTYPE._serialized_end = 71290 + _INT32TYPE._serialized_start = 71292 + _INT32TYPE._serialized_end = 71303 + _INT64TYPE._serialized_start = 71305 + _INT64TYPE._serialized_end = 71316 + _FLOAT64TYPE._serialized_start = 71318 + _FLOAT64TYPE._serialized_end = 71331 + _STRINGTYPE._serialized_start = 71333 + _STRINGTYPE._serialized_end = 71345 + _PDREPRTYPE._serialized_start = 71347 + _PDREPRTYPE._serialized_end = 71359 + _FNTYPE._serialized_start = 71361 + _FNTYPE._serialized_end = 71420 + _OPTIONTYPE._serialized_start = 71422 + _OPTIONTYPE._serialized_end = 71458 + _TUPLETYPE._serialized_start = 71460 + _TUPLETYPE._serialized_end = 71495 + _LISTTYPE._serialized_start = 71497 + _LISTTYPE._serialized_end = 71531 + _MAPTYPE._serialized_start = 71533 + _MAPTYPE._serialized_end = 71586 + _TYVAR._serialized_start = 71588 + _TYVAR._serialized_end = 71607 # @@protoc_insertion_point(module_scope) diff --git a/src/snowflake/snowpark/dataframe.py b/src/snowflake/snowpark/dataframe.py index 3f1059d030c..b829fc527a0 100644 --- a/src/snowflake/snowpark/dataframe.py +++ b/src/snowflake/snowpark/dataframe.py @@ -1631,6 +1631,7 @@ def sort( for c in _cols: build_expr_from_snowpark_column_or_col_name(ast.cols.add(), c) ast.cols_variadic = is_variadic + self.set_ast_ref(ast.df) orders = [] # `ascending` is represented by Expr in the AST. @@ -3023,9 +3024,7 @@ def join( elif isinstance(join_type, LeftAnti): ast.join_type.sp_join_type__left_anti = True elif isinstance(join_type, AsOf): - raise NotImplementedError( - "TODO SNOW-1638064: Add support for asof join to IR." - ) + ast.join_type.sp_join_type__asof = True else: raise ValueError(f"Unsupported join type {join_type}") @@ -4069,7 +4068,7 @@ def _show_string(self, n: int = 10, max_width: int = 50, **kwargs) -> str: # Phase 0 code where string gets formatted. if is_sql_select_statement(query): result, meta = self._session._conn.get_result_and_metadata( - self.limit(n)._plan, **kwargs + self.limit(n, _emit_ast=False)._plan, **kwargs ) else: res, meta = self._session._conn.get_result_and_metadata( diff --git a/tests/ast/data/Dataframe.join.asof.test b/tests/ast/data/Dataframe.join.asof.test new file mode 100644 index 00000000000..8c56265327f --- /dev/null +++ b/tests/ast/data/Dataframe.join.asof.test @@ -0,0 +1,22 @@ +## TEST CASE + +df1 = session.create_dataframe([['A', 1, 15, 3.21], + ['A', 2, 16, 3.22], + ['B', 1, 17, 3.23], + ['B', 2, 18, 4.23]], + schema=["c1", "c2", "c3", "c4"]) +df2 = session.create_dataframe([['A', 1, 14, 3.19], + ['B', 2, 16, 3.04]], + schema=["c1", "c2", "c3", "c4"]) + +df1.join(df2, on=(df1.c1 == df2.c1) & (df1.c2 == df2.c2), how="asof", + match_condition=(df1.c3 >= df2.c3), lsuffix="_L", rsuffix="_R") \ + .order_by("C1_L", "C2_L").collect() + +## EXPECTED OUTPUT + +df1 = session.create_dataframe([["A", 1, 15, 3.21], ["A", 2, 16, 3.22], ["B", 1, 17, 3.23], ["B", 2, 18, 4.23]], schema=["c1", "c2", "c3", "c4"]) + +df2 = session.create_dataframe([["A", 1, 14, 3.19], ["B", 2, 16, 3.04]], schema=["c1", "c2", "c3", "c4"]) + +df1.join(df2, on=(df1["c1"] == df2["c1"]) & (df1["c2"] == df2["c2"]), how="asof").sort("C1_L", "C2_L").collect()