From ae1fe680bc9249b6a82d3f447e0417f23687ff83 Mon Sep 17 00:00:00 2001 From: Varnika Budati Date: Tue, 10 Dec 2024 17:32:16 -0800 Subject: [PATCH] SNOW-18844419 Change the aliasing fn type to be an enum instead of optional boolean (#2712) 1. Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR. Fixes SNOW-18844419 2. Fill out the following pre-review checklist: - [ ] I am adding a new automated test(s) to verify correctness of my new code - [ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing - [ ] I am adding new logging messages - [ ] I am adding a new telemetry message - [ ] I am adding new credentials - [ ] I am adding a new dependency - [ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes. - [x] I acknowledge that I have ensured my changes to be thread-safe. Follow the link for more information: [Thread-safe Developer Guidelines](https://github.com/snowflakedb/snowpark-python/blob/main/CONTRIBUTING.md#thread-safe-development) 3. Please describe how your code solves the related issue. Change the aliasing fn type to be an enum instead of optional boolean to differentiate between as_, name, and alias. --- .../snowpark/_internal/proto/ast.proto | 4353 ++++++++--------- src/snowflake/snowpark/column.py | 19 +- tests/ast/data/DataFrame.agg.test | 2 +- tests/ast/data/DataFrame.collect.test | 2 +- tests/ast/data/DataFrame.count.test | 2 +- tests/ast/data/DataFrame.count2.test | 2 +- .../ast/data/DataFrame.create_or_replace.test | 2 +- .../data/DataFrame.cross_join.lsuffix.test | 2 +- .../data/DataFrame.cross_join.rsuffix.test | 2 +- .../ast/data/DataFrame.cross_join.suffix.test | 2 +- tests/ast/data/DataFrame.describe.test | 2 +- tests/ast/data/DataFrame.flatten.test | 2 +- tests/ast/data/DataFrame.indexers.test | 2 +- .../ast/data/DataFrame.join.inner.column.test | 7 +- .../DataFrame.join.inner.column_list.test | 2 +- ...rame.join.inner.column_list_predicate.test | 14 +- .../data/DataFrame.join.inner.predicate.test | 12 +- ...ataFrame.join.inner.predicate_rsuffix.test | 2 +- .../DataFrame.join.left_outer.column.test | 2 +- .../DataFrame.join.right_outer.predicate.test | 2 +- tests/ast/data/DataFrame.natural_join.test | 2 +- tests/ast/data/DataFrame.pivot.test | 2 +- tests/ast/data/DataFrame.select_expr.test | 2 +- tests/ast/data/DataFrame.stat.test | 2 +- tests/ast/data/DataFrame.to_df.test | 2 +- .../ast/data/DataFrame.to_local_iterator.test | 2 +- tests/ast/data/DataFrame.to_pandas.test | 2 +- tests/ast/data/DataFrame.to_pandas_batch.test | 2 +- tests/ast/data/DataFrame.unpivot.test | 2 +- tests/ast/data/DataFrame.write.test | 2 +- tests/ast/data/Dataframe.cube.test | 2 +- tests/ast/data/Dataframe.distinct.test | 2 +- tests/ast/data/Dataframe.drop_duplicates.test | 2 +- tests/ast/data/Dataframe.filter.test | 2 +- tests/ast/data/Dataframe.getitem.test | 2 +- tests/ast/data/Dataframe.group_by.test | 2 +- .../Dataframe.group_by_grouping_sets.test | 2 +- tests/ast/data/Dataframe.join.asof.test | 2 +- tests/ast/data/Dataframe.join.prefix.test | 8 +- tests/ast/data/Dataframe.rollup.test | 2 +- tests/ast/data/Dataframe.with_col_fns.test | 2 +- tests/ast/data/DataframeNaFunctions.test | 2 +- .../data/RelationalGroupedDataFrame.agg.test | 2 +- .../ast/data/RelationalGroupedDataFrame.test | 2 +- tests/ast/data/Session.call.test | 2 +- tests/ast/data/Session.create_dataframe.test | 2 +- tests/ast/data/Session.flatten.test | 2 +- tests/ast/data/Session.table_function.test | 2 +- tests/ast/data/Table.delete.test | 2 +- tests/ast/data/Table.drop_table.test | 2 +- tests/ast/data/Table.init.test | 2 +- tests/ast/data/Table.merge.test | 2 +- tests/ast/data/Table.sample.test | 2 +- tests/ast/data/Table.update.test | 2 +- tests/ast/data/case_when.test | 2 +- tests/ast/data/col_alias.test | 19 +- tests/ast/data/col_asc.test | 2 +- tests/ast/data/col_between.test | 2 +- tests/ast/data/col_binops.test | 2 +- tests/ast/data/col_bitops.test | 2 +- tests/ast/data/col_cast.test | 2 +- tests/ast/data/col_cast_coll.test | 2 +- tests/ast/data/col_desc.test | 2 +- tests/ast/data/col_getitem.test | 2 +- tests/ast/data/col_in_.test | 2 +- tests/ast/data/col_literal.test | 2 +- tests/ast/data/col_null_nan.test | 2 +- tests/ast/data/col_rbinops.test | 2 +- tests/ast/data/col_star.test | 2 +- tests/ast/data/col_string.test | 2 +- tests/ast/data/col_try_cast.test | 2 +- tests/ast/data/col_udf.test | 14 +- tests/ast/data/col_unary_ops.test | 2 +- tests/ast/data/df_alias.test | 2 +- tests/ast/data/df_analytics_functions.test | 2 +- tests/ast/data/df_col.test | 2 +- tests/ast/data/df_drop.test | 2 +- tests/ast/data/df_except.test | 2 +- tests/ast/data/df_first.test | 2 +- tests/ast/data/df_intersect.test | 2 +- tests/ast/data/df_limit.test | 2 +- tests/ast/data/df_random_split.test | 2 +- tests/ast/data/df_sample.test | 2 +- tests/ast/data/df_sort.test | 2 +- tests/ast/data/df_union.test | 2 +- tests/ast/data/functions.test | 2 +- tests/ast/data/interval.test | 2 +- tests/ast/data/select.test | 2 +- tests/ast/data/session.read.test | 2 +- tests/ast/data/session.sql.test | 2 +- tests/ast/data/session_generator.test | 2 +- tests/ast/data/session_range.test | 2 +- tests/ast/data/session_table_dq_abs_l.test | 2 +- tests/ast/data/session_table_dq_abs_s.test | 2 +- tests/ast/data/session_table_dq_rs_l.test | 2 +- tests/ast/data/session_table_dq_rs_s.test | 2 +- tests/ast/data/session_table_dq_rt_l.test | 2 +- tests/ast/data/session_table_dq_rt_s.test | 2 +- tests/ast/data/session_table_uq_abs_l.test | 2 +- tests/ast/data/session_table_uq_abs_s.test | 2 +- tests/ast/data/session_table_uq_rs_l.test | 2 +- tests/ast/data/session_table_uq_rs_s.test | 2 +- tests/ast/data/session_table_uq_rt_l.test | 2 +- tests/ast/data/session_table_uq_rt_s.test | 2 +- tests/ast/data/session_write_pandas.test | 2 +- tests/ast/data/shadowed_local_name.test | 2 +- tests/ast/data/sproc.test | 2 +- tests/ast/data/udaf.test | 2 +- tests/ast/data/udtf.test | 2 +- tests/ast/data/windows.test | 32 +- 110 files changed, 2136 insertions(+), 2544 deletions(-) diff --git a/src/snowflake/snowpark/_internal/proto/ast.proto b/src/snowflake/snowpark/_internal/proto/ast.proto index 93f39f25129..96af78c9c7b 100644 --- a/src/snowflake/snowpark/_internal/proto/ast.proto +++ b/src/snowflake/snowpark/_internal/proto/ast.proto @@ -34,10 +34,6 @@ message Map_String_Expr { repeated Tuple_String_Expr list = 1; } -message Map_String_String { - repeated Tuple_String_String list = 1; -} - message Tuple_Expr_Expr { Expr _1 = 1; Expr _2 = 2; @@ -58,54 +54,11 @@ message Tuple_String_List_String { repeated string _2 = 2; } -message Tuple_String_SpVariant { - string _1 = 1; - SpVariant _2 = 2; -} - message Tuple_String_String { string _1 = 1; string _2 = 2; } -// ast.ir:15 -message Language { - oneof sealed_value { - JavaLanguage java_language = 1; - PythonLanguage python_language = 2; - ScalaLanguage scala_language = 3; - } -} - -// ast.ir:16 -message PythonLanguage { - Version version = 1; -} - -// ast.ir:17 -message ScalaLanguage { - Version version = 1; -} - -// ast.ir:18 -message JavaLanguage { - Version version = 1; -} - -// ast.ir:21 -message Version { - string label = 1; - int64 major = 2; - int64 minor = 3; - int64 patch = 4; -} - -// const.ir:100 -message PythonTimeZone { - google.protobuf.StringValue name = 1; - int64 offset_seconds = 2; -} - // expr-fn.ir:15 message FnName { oneof sealed_value { @@ -124,169 +77,53 @@ message FnNameStructured { repeated string name = 1; } -// expr-fn.ir:89 -message UdtfSchema { - oneof sealed_value { - UdtfSchema_Names udtf_schema__names = 1; - UdtfSchema_Type udtf_schema__type = 2; - } -} - -// expr-fn.ir:90 -message UdtfSchema_Type { - SpDataType return_type = 1; -} - -// expr-fn.ir:91 -message UdtfSchema_Names { - repeated string schema = 1; -} - -// expr-window.ir:6 -message SpWindowRelativePosition { - oneof variant { - bool sp_window_relative_position__current_row = 1; - SpWindowRelativePosition_Position sp_window_relative_position__position = 2; - bool sp_window_relative_position__unbounded_following = 3; - bool sp_window_relative_position__unbounded_preceding = 4; - } -} - -// expr-window.ir:10 -message SpWindowRelativePosition_Position { - Expr n = 1; -} - -// pd-indexing.ir:2 -message PdIndexExpr { - oneof sealed_value { - FlexOrd flex_ord = 1; - Key key = 2; - Ord ord = 3; - } -} - -// pd-indexing.ir:3 -message Ord { - Expr v = 1; -} - -// pd-indexing.ir:4 -message FlexOrd { - Expr v = 1; -} - -// pd-indexing.ir:5 -message Key { - Expr v = 1; -} - -// pd-indexing.ir:9 -message PdProjectIndexExpr { +// ast.ir:15 +message Language { oneof sealed_value { - BoolFilterList bool_filter_list = 1; - FlexOrdList flex_ord_list = 2; - FlexOrdRange flex_ord_range = 3; - KeyList key_list = 4; - KeyRange key_range = 5; - OrdList ord_list = 6; - OrdRange ord_range = 7; + JavaLanguage java_language = 1; + PythonLanguage python_language = 2; + ScalaLanguage scala_language = 3; } } -// pd-indexing.ir:10 -message OrdRange { - Expr start = 1; - Expr step = 2; - Expr stop = 3; -} - -// pd-indexing.ir:11 -message FlexOrdRange { - Expr start = 1; - Expr step = 2; - Expr stop = 3; -} - -// pd-indexing.ir:12 -message KeyRange { - Expr start = 1; - Expr stop = 2; -} - -// pd-indexing.ir:13 -message OrdList { - Expr ords = 1; -} - -// pd-indexing.ir:14 -message FlexOrdList { - Expr ords = 1; -} - -// pd-indexing.ir:15 -message KeyList { - Expr keys = 1; -} - -// pd-indexing.ir:16 -message BoolFilterList { - Expr filter = 1; +// ast.ir:16 +message PythonLanguage { + Version version = 1; } -// sp-df-expr.ir:68 -message SpFlattenMode { - oneof variant { - bool sp_flatten_mode_array = 1; - bool sp_flatten_mode_both = 2; - bool sp_flatten_mode_object = 3; - } +// ast.ir:17 +message ScalaLanguage { + Version version = 1; } -// sp-df-expr.ir:94 -message SpTableVariant { - oneof variant { - bool sp_session_table = 1; - bool sp_table_init = 2; - } +// ast.ir:18 +message JavaLanguage { + Version version = 1; } -// sp-df-io.ir:88 -message SpSaveMode { - oneof variant { - bool sp_save_mode_append = 1; - bool sp_save_mode_error_if_exists = 2; - bool sp_save_mode_ignore = 3; - bool sp_save_mode_overwrite = 4; - bool sp_save_mode_truncate = 5; - } +// const.ir:102 +message PythonTimeZone { + google.protobuf.StringValue name = 1; + int64 offset_seconds = 2; } -// sp-misc.ir:1 -message SpJoinType { - oneof variant { - bool sp_join_type__asof = 1; - bool sp_join_type__cross = 2; - bool sp_join_type__full_outer = 3; - bool sp_join_type__inner = 4; - bool sp_join_type__left_anti = 5; - bool sp_join_type__left_outer = 6; - bool sp_join_type__left_semi = 7; - bool sp_join_type__right_outer = 8; - } +// sp-type.ir:76 +message SpCallable { + int64 id = 1; + string name = 2; + SpTableName object_name = 3; } -// sp-type.ir:17 -message SpTimestampTimeZone { +// sp-col-expr.ir:39 +message SpColumnAliasFn { oneof variant { - bool sp_timestamp_time_zone_default = 1; - bool sp_timestamp_time_zone_ltz = 2; - bool sp_timestamp_time_zone_ntz = 3; - bool sp_timestamp_time_zone_tz = 4; + bool sp_column_alias_fn_alias = 1; + bool sp_column_alias_fn_as = 2; + bool sp_column_alias_fn_name = 3; } } -// sp-type.ir:24 +// sp-type.ir:26 message SpDataType { oneof variant { SpArrayType sp_array_type = 1; @@ -317,178 +154,71 @@ message SpDataType { } } -// sp-type.ir:25 +// sp-type.ir:27 message SpArrayType { bool structured = 1; SpDataType ty = 2; } -// sp-type.ir:29 +// sp-type.ir:31 message SpColumnIdentifier { string name = 1; } -// sp-type.ir:31 +// sp-type.ir:33 message SpDecimalType { int64 precision = 1; int64 scale = 2; } -// sp-type.ir:38 +// sp-type.ir:40 message SpMapType { SpDataType key_ty = 1; bool structured = 2; SpDataType value_ty = 3; } -// sp-type.ir:41 +// sp-type.ir:43 message SpStringType { google.protobuf.Int64Value length = 1; } -// sp-type.ir:42 +// sp-type.ir:44 message SpStructField { SpColumnIdentifier column_identifier = 1; SpDataType data_type = 2; bool nullable = 3; } -// sp-type.ir:43 +// sp-type.ir:45 message SpStructType { repeated SpStructField fields = 1; bool structured = 2; } -// sp-type.ir:45 +// sp-type.ir:47 message SpTimestampType { SpTimestampTimeZone time_zone = 1; } -// sp-type.ir:47 +// sp-type.ir:49 message SpVectorType { int64 dimension = 1; SpDataType ty = 2; } -// sp-type.ir:49 +// sp-type.ir:51 message SpPandasSeriesType { SpDataType el_ty = 1; } -// sp-type.ir:50 +// sp-type.ir:52 message SpPandasDataFrameType { repeated string col_names = 1; repeated SpDataType col_types = 2; } -// sp-type.ir:54 -message SpVariant { - oneof sealed_value { - SpVariant_BigDecimal sp_variant__big_decimal = 1; - SpVariant_BigInt sp_variant__big_int = 2; - SpVariant_Bool sp_variant__bool = 3; - SpVariant_Bytes sp_variant__bytes = 4; - SpVariant_Date sp_variant__date = 5; - SpVariant_Double sp_variant__double = 6; - SpVariant_Float sp_variant__float = 7; - SpVariant_Int sp_variant__int = 8; - SpVariant_List sp_variant__list = 9; - SpVariant_Object sp_variant__object = 10; - SpVariant_String sp_variant__string = 11; - SpVariant_Time sp_variant__time = 12; - SpVariant_Timestamp sp_variant__timestamp = 13; - } -} - -// sp-type.ir:55 -message SpVariant_Object { - repeated Tuple_String_String v = 1; -} - -// sp-type.ir:56 -message SpVariant_List { - repeated Map_String_String v = 1; -} - -// sp-type.ir:57 -message SpVariant_Timestamp { - uint64 v = 1; -} - -// sp-type.ir:58 -message SpVariant_Date { - uint64 v = 1; -} - -// sp-type.ir:59 -message SpVariant_Time { - uint64 v = 1; -} - -// sp-type.ir:60 -message SpVariant_Bytes { - bytes v = 1; -} - -// sp-type.ir:61 -message SpVariant_String { - string v = 1; -} - -// sp-type.ir:62 -message SpVariant_Bool { - bool v = 1; -} - -// sp-type.ir:63 -message SpVariant_BigInt { - bytes v = 1; -} - -// sp-type.ir:64 -message SpVariant_BigDecimal { - bytes v = 1; -} - // sp-type.ir:65 -message SpVariant_Int { - int64 v = 1; -} - -// sp-type.ir:66 -message SpVariant_Float { - uint64 v = 1; -} - -// sp-type.ir:67 -message SpVariant_Double { - uint64 v = 1; -} - -// sp-type.ir:73 -message SpTableName { - oneof sealed_value { - SpTableNameFlat sp_table_name_flat = 1; - SpTableNameStructured sp_table_name_structured = 2; - } -} - -// sp-type.ir:74 -message SpTableNameFlat { - string name = 1; -} - -// sp-type.ir:75 -message SpTableNameStructured { - repeated string name = 1; -} - -// sp-type.ir:78 -message StagedPandasDataframe { - SpTableName temp_table = 1; -} - -// sp-type.ir:82 message SpDataframeData { oneof sealed_value { SpDataframeData_List sp_dataframe_data__list = 1; @@ -497,22 +227,22 @@ message SpDataframeData { } } -// sp-type.ir:83 +// sp-type.ir:66 message SpDataframeData_List { repeated Expr vs = 1; } -// sp-type.ir:84 +// sp-type.ir:67 message SpDataframeData_Tuple { repeated Expr vs = 1; } -// sp-type.ir:85 +// sp-type.ir:68 message SpDataframeData_Pandas { StagedPandasDataframe v = 1; } -// sp-type.ir:88 +// sp-type.ir:71 message SpDataframeSchema { oneof sealed_value { SpDataframeSchema_List sp_dataframe_schema__list = 1; @@ -520,24 +250,40 @@ message SpDataframeSchema { } } -// sp-type.ir:89 +// sp-type.ir:72 message SpDataframeSchema_List { repeated string vs = 1; } -// sp-type.ir:90 +// sp-type.ir:73 message SpDataframeSchema_Struct { SpStructType v = 1; } -// sp-type.ir:93 -message SpCallable { - int64 id = 1; - string name = 2; - SpTableName object_name = 3; +// sp-df-expr.ir:74 +message SpFlattenMode { + oneof variant { + bool sp_flatten_mode_array = 1; + bool sp_flatten_mode_both = 2; + bool sp_flatten_mode_object = 3; + } } -// sp-type.ir:106 +// sp-df-expr.ir:263 +message SpJoinType { + oneof variant { + bool sp_join_type__asof = 1; + bool sp_join_type__cross = 2; + bool sp_join_type__full_outer = 3; + bool sp_join_type__inner = 4; + bool sp_join_type__left_anti = 5; + bool sp_join_type__left_outer = 6; + bool sp_join_type__left_semi = 7; + bool sp_join_type__right_outer = 8; + } +} + +// sp-type.ir:88 message SpPivotValue { oneof sealed_value { SpPivotValue_Dataframe sp_pivot_value__dataframe = 1; @@ -545,16 +291,78 @@ message SpPivotValue { } } -// sp-type.ir:107 +// sp-type.ir:89 message SpPivotValue_Expr { Expr v = 1; } -// sp-type.ir:108 +// sp-type.ir:90 message SpPivotValue_Dataframe { SpDataframeRef v = 1; } +// sp-df-io.ir:75 +message SpSaveMode { + oneof variant { + bool sp_save_mode_append = 1; + bool sp_save_mode_error_if_exists = 2; + bool sp_save_mode_ignore = 3; + bool sp_save_mode_overwrite = 4; + bool sp_save_mode_truncate = 5; + } +} + +// sp-type.ir:56 +message SpTableName { + oneof sealed_value { + SpTableNameFlat sp_table_name_flat = 1; + SpTableNameStructured sp_table_name_structured = 2; + } +} + +// sp-type.ir:57 +message SpTableNameFlat { + string name = 1; +} + +// sp-type.ir:58 +message SpTableNameStructured { + repeated string name = 1; +} + +// sp-df-expr.ir:94 +message SpTableVariant { + oneof variant { + bool sp_session_table = 1; + bool sp_table_init = 2; + } +} + +// sp-type.ir:19 +message SpTimestampTimeZone { + oneof variant { + bool sp_timestamp_time_zone_default = 1; + bool sp_timestamp_time_zone_ltz = 2; + bool sp_timestamp_time_zone_ntz = 3; + bool sp_timestamp_time_zone_tz = 4; + } +} + +// expr-window.ir:6 +message SpWindowRelativePosition { + oneof variant { + bool sp_window_relative_position__current_row = 1; + SpWindowRelativePosition_Position sp_window_relative_position__position = 2; + bool sp_window_relative_position__unbounded_following = 3; + bool sp_window_relative_position__unbounded_preceding = 4; + } +} + +// expr-window.ir:10 +message SpWindowRelativePosition_Position { + Expr n = 1; +} + // src.ir:1 message SrcPosition { int64 end_column = 1; @@ -564,88 +372,73 @@ message SrcPosition { int64 start_line = 5; } -// stmt.ir:22 -message VarId { - uint64 bitfield1 = 1; -} - -// ast.ir:4 -message Request { - repeated Stmt body = 1; - int64 client_ast_version = 2; - Language client_language = 3; - Version client_version = 4; +// sp-type.ir:61 +message StagedPandasDataframe { + SpTableName temp_table = 1; } -// ast.ir:11 -message Response { - repeated Result body = 1; +// expr-fn.ir:89 +message UdtfSchema { + oneof sealed_value { + UdtfSchema_Names udtf_schema__names = 1; + UdtfSchema_Type udtf_schema__type = 2; + } } -message Const { - oneof variant { - BigDecimalVal big_decimal_val = 1; - BigIntVal big_int_val = 2; - BinaryVal binary_val = 3; - BoolVal bool_val = 4; - DateVal date_val = 5; - Float64Val float64_val = 6; - FnVal fn_val = 7; - Int32Val int32_val = 8; - Int64Val int64_val = 9; - NoneVal none_val = 10; - NullVal null_val = 11; - PythonDateVal python_date_val = 12; - PythonTimeVal python_time_val = 13; - PythonTimestampVal python_timestamp_val = 14; - SpDatatypeVal sp_datatype_val = 15; - StringVal string_val = 16; - TimeVal time_val = 17; - TimestampVal timestamp_val = 18; - } +// expr-fn.ir:90 +message UdtfSchema_Type { + SpDataType return_type = 1; } -// const.ir:11 -message NoneVal { - SrcPosition src = 1; +// expr-fn.ir:91 +message UdtfSchema_Names { + repeated string schema = 1; } -// const.ir:13 -message NullVal { - SrcPosition src = 1; +// ast.ir:53 +message VarId { + uint64 bitfield1 = 1; } -// const.ir:19 -message BoolVal { - SrcPosition src = 1; - bool v = 2; +// ast.ir:21 +message Version { + string label = 1; + int64 major = 2; + int64 minor = 3; + int64 patch = 4; } -// const.ir:23 -message Int32Val { - SrcPosition src = 1; - int64 v = 2; +// expr-op.ir:42 +message Add { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// const.ir:27 -message Int64Val { - SrcPosition src = 1; - int64 v = 2; +// expr-op.ir:16 +message And { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// const.ir:31 -message Float64Val { - SrcPosition src = 1; - double v = 2; +// expr-fn.ir:2 +message ApplyExpr { + FnRefExpr fn = 1; + repeated Tuple_String_Expr named_args = 2; + repeated Expr pos_args = 3; + SrcPosition src = 4; } -// const.ir:39 -message BigIntVal { - SrcPosition src = 1; - bytes v = 2; +// ast.ir:34 +message Assign { + Expr expr = 1; + google.protobuf.StringValue symbol = 2; + int64 uid = 3; + VarId var_id = 4; } -// const.ir:43 +// const.ir:45 message BigDecimalVal { int64 scale = 1; google.protobuf.StringValue special = 2; @@ -653,808 +446,139 @@ message BigDecimalVal { bytes unscaled_value = 4; } -// const.ir:49 -message StringVal { - SrcPosition src = 1; - string v = 2; -} - -// const.ir:53 -message BinaryVal { +// const.ir:41 +message BigIntVal { SrcPosition src = 1; bytes v = 2; } -// const.ir:61 -message TimestampVal { - SrcPosition src = 1; - int64 v = 2; -} - -// const.ir:65 -message DateVal { - SrcPosition src = 1; - int64 v = 2; +message BinOp { + oneof variant { + Add add = 1; + And and = 2; + BitAnd bit_and = 3; + BitOr bit_or = 4; + BitXor bit_xor = 5; + Div div = 6; + Eq eq = 7; + Geq geq = 8; + Gt gt = 9; + Leq leq = 10; + Lt lt = 11; + Mod mod = 12; + Mul mul = 13; + Neq neq = 14; + Or or = 15; + Pow pow = 16; + Sub sub = 17; + } } -// const.ir:69 -message TimeVal { +// const.ir:55 +message BinaryVal { SrcPosition src = 1; - int64 v = 2; -} - -// const.ir:73 -message PythonTimestampVal { - int64 day = 1; - int64 hour = 2; - int64 microsecond = 3; - int64 minute = 4; - int64 month = 5; - int64 second = 6; - SrcPosition src = 7; - PythonTimeZone tz = 8; - int64 year = 9; + bytes v = 2; } -// const.ir:84 -message PythonDateVal { - int64 day = 1; - int64 month = 2; +// expr-op.ir:58 +message BitAnd { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; - int64 year = 4; } -// const.ir:90 -message PythonTimeVal { - int64 hour = 1; - int64 microsecond = 2; - int64 minute = 3; - int64 second = 4; - SrcPosition src = 5; - PythonTimeZone tz = 6; +// expr-op.ir:60 +message BitOr { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// const.ir:106 -message FnVal { - Expr body = 1; - repeated string params = 2; +// expr-op.ir:62 +message BitXor { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; } -// const.ir:112 -message SpDatatypeVal { - SpDataType datatype = 1; - SrcPosition src = 2; +// const.ir:21 +message BoolVal { + SrcPosition src = 1; + bool v = 2; } -// expr-bool.ir:1 -message IfExpr { - Expr cond = 1; - Expr if_false = 2; - Expr if_true = 3; - SrcPosition src = 4; +// expr-fn.ir:37 +message BuiltinFn { + FnName name = 1; + SrcPosition src = 2; } -// expr-coll.ir:5 -message SomeVal { - SrcPosition src = 1; - Expr v = 2; +// expr-fn.ir:148 +message CallTableFunctionExpr { + FnName name = 1; + SrcPosition src = 2; } -// expr-coll.ir:13 -message TupleVal { - SrcPosition src = 1; - repeated Expr vs = 2; -} - -// expr-coll.ir:21 -message ListVal { - SrcPosition src = 1; - repeated Expr vs = 2; -} - -// expr-coll.ir:30 -message SeqMapVal { - repeated TupleVal kvs = 1; - SrcPosition src = 2; -} - -// expr-fn.ir:2 -message ApplyExpr { - FnRefExpr fn = 1; - repeated Tuple_String_Expr named_args = 2; - repeated Expr pos_args = 3; - SrcPosition src = 4; -} - -message FnRefExpr { - oneof variant { - FnIdRefExpr trait_fn_id_ref_expr = 1; - FnNameRefExpr trait_fn_name_ref_expr = 2; - BuiltinFn builtin_fn = 3; - CallTableFunctionExpr call_table_function_expr = 4; - IndirectTableFnIdRef indirect_table_fn_id_ref = 5; - IndirectTableFnNameRef indirect_table_fn_name_ref = 6; - SpFnRef sp_fn_ref = 7; - StoredProcedure stored_procedure = 8; - Udaf udaf = 9; - Udf udf = 10; - Udtf udtf = 11; - } -} - -message FnNameRefExpr { - oneof variant { - BuiltinFn builtin_fn = 1; - CallTableFunctionExpr call_table_function_expr = 2; - IndirectTableFnNameRef indirect_table_fn_name_ref = 3; - StoredProcedure stored_procedure = 4; - Udaf udaf = 5; - Udf udf = 6; - Udtf udtf = 7; - } -} - -message FnIdRefExpr { - oneof variant { - IndirectTableFnIdRef indirect_table_fn_id_ref = 1; - SpFnRef sp_fn_ref = 2; - } -} - -// expr-fn.ir:33 -message SpFnRef { - VarId id = 1; - SrcPosition src = 2; -} - -// expr-fn.ir:37 -message BuiltinFn { - FnName name = 1; - SrcPosition src = 2; -} - -// expr-fn.ir:40 -message StoredProcedure { - google.protobuf.StringValue comment = 1; - string execute_as = 2; - repeated string external_access_integrations = 3; - SpCallable func = 4; - bool if_not_exists = 5; - repeated SpTableName imports = 6; - List_SpDataType input_types = 7; - bool is_permanent = 8; - repeated Tuple_String_Expr kwargs = 9; - google.protobuf.BoolValue log_on_exception = 10; - FnName name = 11; - repeated string packages = 12; - int64 parallel = 13; - bool replace = 14; - SpDataType return_type = 15; - repeated Tuple_String_String secrets = 16; - bool source_code_display = 17; - SrcPosition src = 18; - string stage_location = 19; - repeated Tuple_String_String statement_params = 20; - bool strict = 21; -} - -// expr-fn.ir:64 -message Udf { - google.protobuf.StringValue comment = 1; - repeated string external_access_integrations = 2; - SpCallable func = 3; - bool if_not_exists = 4; - bool immutable = 5; - repeated SpTableName imports = 6; - List_SpDataType input_types = 7; - bool is_permanent = 8; - repeated Tuple_String_Expr kwargs = 9; - google.protobuf.Int64Value max_batch_size = 10; - FnName name = 11; - repeated string packages = 12; - int64 parallel = 13; - bool replace = 14; - SpDataType return_type = 15; - repeated Tuple_String_String secrets = 16; - bool secure = 17; - bool source_code_display = 18; - SrcPosition src = 19; - string stage_location = 20; - repeated Tuple_String_String statement_params = 21; - bool strict = 22; -} - -// expr-fn.ir:95 -message Udtf { - google.protobuf.StringValue comment = 1; - repeated string external_access_integrations = 2; - SpCallable handler = 3; - bool if_not_exists = 4; - bool immutable = 5; - repeated SpTableName imports = 6; - List_SpDataType input_types = 7; - bool is_permanent = 8; - repeated Tuple_String_Expr kwargs = 9; - FnName name = 10; - UdtfSchema output_schema = 11; - repeated string packages = 12; - int64 parallel = 13; - bool replace = 14; - repeated Tuple_String_String secrets = 15; - bool secure = 16; - SrcPosition src = 17; - string stage_location = 18; - repeated Tuple_String_String statement_params = 19; - bool strict = 20; -} - -// expr-fn.ir:118 -message Udaf { - google.protobuf.StringValue comment = 1; - repeated string external_access_integrations = 2; - SpCallable handler = 3; - bool if_not_exists = 4; - bool immutable = 5; - repeated SpTableName imports = 6; - List_SpDataType input_types = 7; - bool is_permanent = 8; - repeated Tuple_String_Expr kwargs = 9; - FnName name = 10; - repeated string packages = 11; - int64 parallel = 12; - bool replace = 13; - SpDataType return_type = 14; - repeated Tuple_String_String secrets = 15; - SrcPosition src = 16; - google.protobuf.StringValue stage_location = 17; - repeated Tuple_String_String statement_params = 18; -} - -// expr-fn.ir:139 -message IndirectTableFnNameRef { - FnName name = 1; - SrcPosition src = 2; -} - -// expr-fn.ir:144 -message IndirectTableFnIdRef { - VarId id = 1; - SrcPosition src = 2; -} - -// expr-fn.ir:148 -message CallTableFunctionExpr { - FnName name = 1; - SrcPosition src = 2; -} - -message UnaryOp { - oneof variant { - Neg neg = 1; - Not not = 2; - } -} - -message BinOp { - oneof variant { - Add add = 1; - And and = 2; - BitAnd bit_and = 3; - BitOr bit_or = 4; - BitXor bit_xor = 5; - Div div = 6; - Eq eq = 7; - Geq geq = 8; - Gt gt = 9; - Leq leq = 10; - Lt lt = 11; - Mod mod = 12; - Mul mul = 13; - Neq neq = 14; - Or or = 15; - Pow pow = 16; - Sub sub = 17; - } -} - -// expr-op.ir:14 -message Not { - Expr operand = 1; - SrcPosition src = 2; -} - -// expr-op.ir:16 -message And { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:18 -message Or { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:24 -message Eq { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:26 -message Neq { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:28 -message Lt { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:30 -message Leq { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:32 -message Gt { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:34 -message Geq { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:40 -message Neg { - Expr operand = 1; - SrcPosition src = 2; -} - -// expr-op.ir:42 -message Add { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:44 -message Sub { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:46 -message Mul { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:48 -message Div { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:50 -message Mod { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:52 -message Pow { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:58 -message BitAnd { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:60 -message BitOr { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-op.ir:62 -message BitXor { - Expr lhs = 1; - Expr rhs = 2; - SrcPosition src = 3; -} - -// expr-range.ir:1 -message RangeVal { - SrcPosition src = 1; - Expr start = 2; - Expr step = 3; - Expr stop = 4; -} - -message SpWindowSpecExpr { - oneof variant { - SpWindowSpecEmpty sp_window_spec_empty = 1; - SpWindowSpecOrderBy sp_window_spec_order_by = 2; - SpWindowSpecPartitionBy sp_window_spec_partition_by = 3; - SpWindowSpecRangeBetween sp_window_spec_range_between = 4; - SpWindowSpecRowsBetween sp_window_spec_rows_between = 5; - } -} - -// expr-window.ir:18 -message SpWindowSpecEmpty { - SrcPosition src = 1; - SpWindowSpecExpr wnd = 2; -} - -// expr-window.ir:20 -message SpWindowSpecOrderBy { - repeated Expr cols = 1; - SrcPosition src = 2; - SpWindowSpecExpr wnd = 3; -} - -// expr-window.ir:24 -message SpWindowSpecPartitionBy { - repeated Expr cols = 1; - SrcPosition src = 2; - SpWindowSpecExpr wnd = 3; -} - -// expr-window.ir:28 -message SpWindowSpecRangeBetween { - SpWindowRelativePosition end = 1; - SrcPosition src = 2; - SpWindowRelativePosition start = 3; - SpWindowSpecExpr wnd = 4; -} - -// expr-window.ir:33 -message SpWindowSpecRowsBetween { - SpWindowRelativePosition end = 1; - SrcPosition src = 2; - SpWindowRelativePosition start = 3; - SpWindowSpecExpr wnd = 4; -} - -message Expr { - oneof variant { - BinOp trait_bin_op = 1; - Const trait_const = 2; - FnIdRefExpr trait_fn_id_ref_expr = 3; - FnNameRefExpr trait_fn_name_ref_expr = 4; - FnRefExpr trait_fn_ref_expr = 5; - SpColumnExpr trait_sp_column_expr = 6; - SpColumnFn trait_sp_column_fn = 7; - SpDataframeExpr trait_sp_dataframe_expr = 8; - SpDataframeWriter trait_sp_dataframe_writer = 9; - SpDataframeWriterOptions trait_sp_dataframe_writer_options = 10; - SpDataframeWriterSaveMode trait_sp_dataframe_writer_save_mode = 11; - SpMatchedClause trait_sp_matched_clause = 12; - SpRelationalGroupedDataframeExpr trait_sp_relational_grouped_dataframe_expr = 13; - SpWriteFile trait_sp_write_file = 14; - UnaryOp trait_unary_op = 15; - Add add = 16; - And and = 17; - ApplyExpr apply_expr = 18; - BigDecimalVal big_decimal_val = 19; - BigIntVal big_int_val = 20; - BinaryVal binary_val = 21; - BitAnd bit_and = 22; - BitOr bit_or = 23; - BitXor bit_xor = 24; - BoolVal bool_val = 25; - BuiltinFn builtin_fn = 26; - CallTableFunctionExpr call_table_function_expr = 27; - CastExpr cast_expr = 28; - DateVal date_val = 29; - Div div = 30; - Eq eq = 31; - Float64Val float64_val = 32; - FnVal fn_val = 33; - Geq geq = 34; - Gt gt = 35; - IfExpr if_expr = 36; - IndirectTableFnIdRef indirect_table_fn_id_ref = 37; - IndirectTableFnNameRef indirect_table_fn_name_ref = 38; - Int32Val int32_val = 39; - Int64Val int64_val = 40; - Leq leq = 41; - ListVal list_val = 42; - Lt lt = 43; - Mod mod = 44; - Mul mul = 45; - Neg neg = 46; - Neq neq = 47; - NoneVal none_val = 48; - Not not = 49; - NullVal null_val = 50; - ObjectGetItem object_get_item = 51; - Or or = 52; - PdDataframe pd_dataframe = 53; - PdDataframeGetItem pd_dataframe_get_item = 54; - PdDataframeILoc pd_dataframe_i_loc = 55; - PdDataframeLoc pd_dataframe_loc = 56; - PdDataframeSetItem pd_dataframe_set_item = 57; - PdDropNa pd_drop_na = 58; - PdRepr pd_repr = 59; - Pow pow = 60; - PythonDateVal python_date_val = 61; - PythonTimeVal python_time_val = 62; - PythonTimestampVal python_timestamp_val = 63; - RangeVal range_val = 64; - Ref ref = 65; - SeqMapVal seq_map_val = 66; - SomeVal some_val = 67; - SpColumnAlias sp_column_alias = 68; - SpColumnApply_Int sp_column_apply__int = 69; - SpColumnApply_String sp_column_apply__string = 70; - SpColumnAsc sp_column_asc = 71; - SpColumnBetween sp_column_between = 72; - SpColumnCaseWhen sp_column_case_when = 73; - SpColumnCast sp_column_cast = 74; - SpColumnDesc sp_column_desc = 75; - SpColumnEqualNan sp_column_equal_nan = 76; - SpColumnEqualNull sp_column_equal_null = 77; - SpColumnIn_Dataframe sp_column_in__dataframe = 78; - SpColumnIn_Seq sp_column_in__seq = 79; - SpColumnIsNotNull sp_column_is_not_null = 80; - SpColumnIsNull sp_column_is_null = 81; - SpColumnName sp_column_name = 82; - SpColumnOver sp_column_over = 83; - SpColumnRef sp_column_ref = 84; - SpColumnSqlExpr sp_column_sql_expr = 85; - SpColumnStringCollate sp_column_string_collate = 86; - SpColumnStringContains sp_column_string_contains = 87; - SpColumnStringEndsWith sp_column_string_ends_with = 88; - SpColumnStringLike sp_column_string_like = 89; - SpColumnStringRegexp sp_column_string_regexp = 90; - SpColumnStringStartsWith sp_column_string_starts_with = 91; - SpColumnStringSubstr sp_column_string_substr = 92; - SpColumnTryCast sp_column_try_cast = 93; - SpColumnWithinGroup sp_column_within_group = 94; - SpCreateDataframe sp_create_dataframe = 95; - SpDataframeAgg sp_dataframe_agg = 96; - SpDataframeAlias sp_dataframe_alias = 97; - SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 98; - SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 99; - SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 100; - SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 101; - SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 102; - SpDataframeApply sp_dataframe_apply = 103; - SpDataframeCacheResult sp_dataframe_cache_result = 104; - SpDataframeCol sp_dataframe_col = 105; - SpDataframeCollect sp_dataframe_collect = 106; - SpDataframeCopyIntoTable sp_dataframe_copy_into_table = 107; - SpDataframeCount sp_dataframe_count = 108; - SpDataframeCreateOrReplaceDynamicTable sp_dataframe_create_or_replace_dynamic_table = 109; - SpDataframeCreateOrReplaceView sp_dataframe_create_or_replace_view = 110; - SpDataframeCrossJoin sp_dataframe_cross_join = 111; - SpDataframeCube sp_dataframe_cube = 112; - SpDataframeDescribe sp_dataframe_describe = 113; - SpDataframeDistinct sp_dataframe_distinct = 114; - SpDataframeDrop sp_dataframe_drop = 115; - SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 116; - SpDataframeExcept sp_dataframe_except = 117; - SpDataframeFilter sp_dataframe_filter = 118; - SpDataframeFirst sp_dataframe_first = 119; - SpDataframeFlatten sp_dataframe_flatten = 120; - SpDataframeGroupBy sp_dataframe_group_by = 121; - SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 122; - SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 123; - SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 124; - SpDataframeIntersect sp_dataframe_intersect = 125; - SpDataframeJoin sp_dataframe_join = 126; - SpDataframeJoinTableFunction sp_dataframe_join_table_function = 127; - SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 128; - SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 129; - SpDataframeLimit sp_dataframe_limit = 130; - SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 131; - SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 132; - SpDataframeNaFill sp_dataframe_na_fill = 133; - SpDataframeNaReplace sp_dataframe_na_replace = 134; - SpDataframeNaturalJoin sp_dataframe_natural_join = 135; - SpDataframePivot sp_dataframe_pivot = 136; - SpDataframeRandomSplit sp_dataframe_random_split = 137; - SpDataframeRef sp_dataframe_ref = 138; - SpDataframeRename sp_dataframe_rename = 139; - SpDataframeRollup sp_dataframe_rollup = 140; - SpDataframeRollup_Columns sp_dataframe_rollup__columns = 141; - SpDataframeRollup_Strings sp_dataframe_rollup__strings = 142; - SpDataframeSample sp_dataframe_sample = 143; - SpDataframeSelect_Columns sp_dataframe_select__columns = 144; - SpDataframeSelect_Exprs sp_dataframe_select__exprs = 145; - SpDataframeShow sp_dataframe_show = 146; - SpDataframeSort sp_dataframe_sort = 147; - SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 148; - SpDataframeStatCorr sp_dataframe_stat_corr = 149; - SpDataframeStatCov sp_dataframe_stat_cov = 150; - SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 151; - SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 152; - SpDataframeToDf sp_dataframe_to_df = 153; - SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 154; - SpDataframeToPandas sp_dataframe_to_pandas = 155; - SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 156; - SpDataframeUnion sp_dataframe_union = 157; - SpDataframeUnionAll sp_dataframe_union_all = 158; - SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 159; - SpDataframeUnionByName sp_dataframe_union_by_name = 160; - SpDataframeUnpivot sp_dataframe_unpivot = 161; - SpDataframeWhere sp_dataframe_where = 162; - SpDataframeWithColumn sp_dataframe_with_column = 163; - SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 164; - SpDataframeWithColumns sp_dataframe_with_columns = 165; - SpDataframeWrite sp_dataframe_write = 166; - SpDatatypeVal sp_datatype_val = 167; - SpFlatten sp_flatten = 168; - SpFnRef sp_fn_ref = 169; - SpGenerator sp_generator = 170; - SpGroupingSets sp_grouping_sets = 171; - SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 172; - SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 173; - SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 174; - SpRange sp_range = 175; - SpReadAvro sp_read_avro = 176; - SpReadCsv sp_read_csv = 177; - SpReadJson sp_read_json = 178; - SpReadOrc sp_read_orc = 179; - SpReadParquet sp_read_parquet = 180; - SpReadTable sp_read_table = 181; - SpReadXml sp_read_xml = 182; - SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 183; - SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 184; - SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 185; - SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 186; - SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 187; - SpRow sp_row = 188; - SpSessionTableFunction sp_session_table_function = 189; - SpSql sp_sql = 190; - SpStoredProcedure sp_stored_procedure = 191; - SpTable sp_table = 192; - SpTableDelete sp_table_delete = 193; - SpTableDropTable sp_table_drop_table = 194; - SpTableFnCallAlias sp_table_fn_call_alias = 195; - SpTableFnCallOver sp_table_fn_call_over = 196; - SpTableMerge sp_table_merge = 197; - SpTableSample sp_table_sample = 198; - SpTableUpdate sp_table_update = 199; - SpWriteCopyIntoLocation sp_write_copy_into_location = 200; - SpWriteCsv sp_write_csv = 201; - SpWriteJson sp_write_json = 202; - SpWritePandas sp_write_pandas = 203; - SpWriteParquet sp_write_parquet = 204; - SpWriteTable sp_write_table = 205; - StoredProcedure stored_procedure = 206; - StringVal string_val = 207; - Sub sub = 208; - TimeVal time_val = 209; - TimestampVal timestamp_val = 210; - TupleVal tuple_val = 211; - Udaf udaf = 212; - Udf udf = 213; - Udtf udtf = 214; +message Const { + oneof variant { + BigDecimalVal big_decimal_val = 1; + BigIntVal big_int_val = 2; + BinaryVal binary_val = 3; + BoolVal bool_val = 4; + DateVal date_val = 5; + Float64Val float64_val = 6; + FnVal fn_val = 7; + Int32Val int32_val = 8; + Int64Val int64_val = 9; + NoneVal none_val = 10; + NullVal null_val = 11; + PythonDateVal python_date_val = 12; + PythonTimeVal python_time_val = 13; + PythonTimestampVal python_timestamp_val = 14; + SpDatatypeVal sp_datatype_val = 15; + StringVal string_val = 16; + TimeVal time_val = 17; + TimestampVal timestamp_val = 18; } } -// expr.ir:4 -message Ref { - SrcPosition src = 1; - VarId var_id = 2; -} - -// expr.ir:9 -message CastExpr { +// const.ir:67 +message DateVal { SrcPosition src = 1; - Type typ = 2; - Expr v = 3; -} - -// expr.ir:15 -message ObjectGetItem { - repeated Expr args = 1; - VarId obj = 2; - SrcPosition src = 3; -} - -// pd-dataframe.ir:2 -message PdDataframe { - Expr columns = 1; - Expr data = 2; - Type dtype = 3; - Expr index = 4; - SrcPosition src = 5; -} - -// pd-dataframe.ir:9 -message PdDropNa { - Expr axis = 1; - Ref df = 2; - SrcPosition src = 3; - Expr subset = 4; - Expr thresh = 5; + int64 v = 2; } -// pd-indexing.ir:20 -message PdDataframeGetItem { - Ref df = 1; - Expr key_arg = 2; +// expr-op.ir:48 +message Div { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; } -// pd-indexing.ir:26 -message PdDataframeSetItem { - Ref df = 1; - Expr key_arg = 2; +// expr-op.ir:24 +message Eq { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; - Expr v = 4; -} - -// pd-indexing.ir:32 -message PdDataframeLoc { - Expr columns = 1; - Ref df = 2; - Expr rows = 3; - SrcPosition src = 4; -} - -// pd-indexing.ir:38 -message PdDataframeILoc { - Expr columns = 1; - Ref df = 2; - Expr rows = 3; - SrcPosition src = 4; } -// pd-repr.ir:1 -message PdRepr { - bool async = 1; - int64 max_columns = 2; - int64 max_rows = 3; - SrcPosition src = 4; - Ref v = 5; +message Error { + oneof variant { + SessionResetRequiredError session_reset_required_error = 1; + } } -// pd-repr.ir:11 -message PdReprResult { - int64 num_columns = 1; - int64 num_head_columns = 2; - int64 num_head_rows = 3; - int64 num_rows = 4; - bytes value = 5; +// ast.ir:42 +message Eval { + int64 uid = 1; + VarId var_id = 2; } -message Result { - oneof variant { - Error trait_error = 1; - EvalOk eval_ok = 2; - SessionResetRequiredError session_reset_required_error = 3; - } +// ast.ir:64 +message EvalOk { + EvalResult data = 1; + int64 uid = 2; + VarId var_id = 3; } message EvalResult { @@ -1471,542 +595,934 @@ message EvalResult { Int64Val int64_val = 10; NoneVal none_val = 11; NullVal null_val = 12; - PdReprResult pd_repr_result = 13; - PythonDateVal python_date_val = 14; - PythonTimeVal python_time_val = 15; - PythonTimestampVal python_timestamp_val = 16; - SfQueryResult sf_query_result = 17; - SpDatatypeVal sp_datatype_val = 18; - StringVal string_val = 19; - TimeVal time_val = 20; - TimestampVal timestamp_val = 21; + PythonDateVal python_date_val = 13; + PythonTimeVal python_time_val = 14; + PythonTimestampVal python_timestamp_val = 15; + SfQueryResult sf_query_result = 16; + SpDatatypeVal sp_datatype_val = 17; + StringVal string_val = 18; + TimeVal time_val = 19; + TimestampVal timestamp_val = 20; } } -// result.ir:5 -message EvalOk { - EvalResult data = 1; - int64 uid = 2; - VarId var_id = 3; -} - -message Error { +message Expr { oneof variant { - SessionResetRequiredError session_reset_required_error = 1; + BinOp trait_bin_op = 1; + Const trait_const = 2; + FnIdRefExpr trait_fn_id_ref_expr = 3; + FnNameRefExpr trait_fn_name_ref_expr = 4; + FnRefExpr trait_fn_ref_expr = 5; + SpColumnExpr trait_sp_column_expr = 6; + SpColumnFn trait_sp_column_fn = 7; + SpDataframeExpr trait_sp_dataframe_expr = 8; + SpDataframeWriter trait_sp_dataframe_writer = 9; + SpMatchedClause trait_sp_matched_clause = 10; + SpRelationalGroupedDataframeExpr trait_sp_relational_grouped_dataframe_expr = 11; + SpWriteFile trait_sp_write_file = 12; + UnaryOp trait_unary_op = 13; + Add add = 14; + And and = 15; + ApplyExpr apply_expr = 16; + BigDecimalVal big_decimal_val = 17; + BigIntVal big_int_val = 18; + BinaryVal binary_val = 19; + BitAnd bit_and = 20; + BitOr bit_or = 21; + BitXor bit_xor = 22; + BoolVal bool_val = 23; + BuiltinFn builtin_fn = 24; + CallTableFunctionExpr call_table_function_expr = 25; + DateVal date_val = 26; + Div div = 27; + Eq eq = 28; + Float64Val float64_val = 29; + FnVal fn_val = 30; + Geq geq = 31; + Gt gt = 32; + IndirectTableFnIdRef indirect_table_fn_id_ref = 33; + IndirectTableFnNameRef indirect_table_fn_name_ref = 34; + Int32Val int32_val = 35; + Int64Val int64_val = 36; + Leq leq = 37; + ListVal list_val = 38; + Lt lt = 39; + Mod mod = 40; + Mul mul = 41; + Neg neg = 42; + Neq neq = 43; + NoneVal none_val = 44; + Not not = 45; + NullVal null_val = 46; + ObjectGetItem object_get_item = 47; + Or or = 48; + Pow pow = 49; + PythonDateVal python_date_val = 50; + PythonTimeVal python_time_val = 51; + PythonTimestampVal python_timestamp_val = 52; + Ref ref = 53; + SeqMapVal seq_map_val = 54; + SomeVal some_val = 55; + SpColumnAlias sp_column_alias = 56; + SpColumnApply_Int sp_column_apply__int = 57; + SpColumnApply_String sp_column_apply__string = 58; + SpColumnAsc sp_column_asc = 59; + SpColumnBetween sp_column_between = 60; + SpColumnCaseWhen sp_column_case_when = 61; + SpColumnCast sp_column_cast = 62; + SpColumnDesc sp_column_desc = 63; + SpColumnEqualNan sp_column_equal_nan = 64; + SpColumnEqualNull sp_column_equal_null = 65; + SpColumnIn_Dataframe sp_column_in__dataframe = 66; + SpColumnIn_Seq sp_column_in__seq = 67; + SpColumnIsNotNull sp_column_is_not_null = 68; + SpColumnIsNull sp_column_is_null = 69; + SpColumnOver sp_column_over = 70; + SpColumnRef sp_column_ref = 71; + SpColumnSqlExpr sp_column_sql_expr = 72; + SpColumnStringCollate sp_column_string_collate = 73; + SpColumnStringContains sp_column_string_contains = 74; + SpColumnStringEndsWith sp_column_string_ends_with = 75; + SpColumnStringLike sp_column_string_like = 76; + SpColumnStringRegexp sp_column_string_regexp = 77; + SpColumnStringStartsWith sp_column_string_starts_with = 78; + SpColumnStringSubstr sp_column_string_substr = 79; + SpColumnTryCast sp_column_try_cast = 80; + SpColumnWithinGroup sp_column_within_group = 81; + SpCreateDataframe sp_create_dataframe = 82; + SpDataframeAgg sp_dataframe_agg = 83; + SpDataframeAlias sp_dataframe_alias = 84; + SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 85; + SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 86; + SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 87; + SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 88; + SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 89; + SpDataframeApply sp_dataframe_apply = 90; + SpDataframeCacheResult sp_dataframe_cache_result = 91; + SpDataframeCol sp_dataframe_col = 92; + SpDataframeCollect sp_dataframe_collect = 93; + SpDataframeCopyIntoTable sp_dataframe_copy_into_table = 94; + SpDataframeCount sp_dataframe_count = 95; + SpDataframeCreateOrReplaceDynamicTable sp_dataframe_create_or_replace_dynamic_table = 96; + SpDataframeCreateOrReplaceView sp_dataframe_create_or_replace_view = 97; + SpDataframeCrossJoin sp_dataframe_cross_join = 98; + SpDataframeCube sp_dataframe_cube = 99; + SpDataframeDescribe sp_dataframe_describe = 100; + SpDataframeDistinct sp_dataframe_distinct = 101; + SpDataframeDrop sp_dataframe_drop = 102; + SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 103; + SpDataframeExcept sp_dataframe_except = 104; + SpDataframeFilter sp_dataframe_filter = 105; + SpDataframeFirst sp_dataframe_first = 106; + SpDataframeFlatten sp_dataframe_flatten = 107; + SpDataframeGroupBy sp_dataframe_group_by = 108; + SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 109; + SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 110; + SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 111; + SpDataframeIntersect sp_dataframe_intersect = 112; + SpDataframeJoin sp_dataframe_join = 113; + SpDataframeJoinTableFunction sp_dataframe_join_table_function = 114; + SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 115; + SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 116; + SpDataframeLimit sp_dataframe_limit = 117; + SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 118; + SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 119; + SpDataframeNaFill sp_dataframe_na_fill = 120; + SpDataframeNaReplace sp_dataframe_na_replace = 121; + SpDataframeNaturalJoin sp_dataframe_natural_join = 122; + SpDataframePivot sp_dataframe_pivot = 123; + SpDataframeRandomSplit sp_dataframe_random_split = 124; + SpDataframeRef sp_dataframe_ref = 125; + SpDataframeRename sp_dataframe_rename = 126; + SpDataframeRollup sp_dataframe_rollup = 127; + SpDataframeRollup_Columns sp_dataframe_rollup__columns = 128; + SpDataframeRollup_Strings sp_dataframe_rollup__strings = 129; + SpDataframeSample sp_dataframe_sample = 130; + SpDataframeSelect_Columns sp_dataframe_select__columns = 131; + SpDataframeSelect_Exprs sp_dataframe_select__exprs = 132; + SpDataframeShow sp_dataframe_show = 133; + SpDataframeSort sp_dataframe_sort = 134; + SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 135; + SpDataframeStatCorr sp_dataframe_stat_corr = 136; + SpDataframeStatCov sp_dataframe_stat_cov = 137; + SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 138; + SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 139; + SpDataframeToDf sp_dataframe_to_df = 140; + SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 141; + SpDataframeToPandas sp_dataframe_to_pandas = 142; + SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 143; + SpDataframeUnion sp_dataframe_union = 144; + SpDataframeUnionAll sp_dataframe_union_all = 145; + SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 146; + SpDataframeUnionByName sp_dataframe_union_by_name = 147; + SpDataframeUnpivot sp_dataframe_unpivot = 148; + SpDataframeWhere sp_dataframe_where = 149; + SpDataframeWithColumn sp_dataframe_with_column = 150; + SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 151; + SpDataframeWithColumns sp_dataframe_with_columns = 152; + SpDataframeWrite sp_dataframe_write = 153; + SpDatatypeVal sp_datatype_val = 154; + SpFlatten sp_flatten = 155; + SpFnRef sp_fn_ref = 156; + SpGenerator sp_generator = 157; + SpGroupingSets sp_grouping_sets = 158; + SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 159; + SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 160; + SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 161; + SpRange sp_range = 162; + SpReadAvro sp_read_avro = 163; + SpReadCsv sp_read_csv = 164; + SpReadJson sp_read_json = 165; + SpReadOrc sp_read_orc = 166; + SpReadParquet sp_read_parquet = 167; + SpReadTable sp_read_table = 168; + SpReadXml sp_read_xml = 169; + SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 170; + SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 171; + SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 172; + SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 173; + SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 174; + SpRow sp_row = 175; + SpSessionTableFunction sp_session_table_function = 176; + SpSql sp_sql = 177; + SpTable sp_table = 178; + SpTableDelete sp_table_delete = 179; + SpTableDropTable sp_table_drop_table = 180; + SpTableFnCallAlias sp_table_fn_call_alias = 181; + SpTableFnCallOver sp_table_fn_call_over = 182; + SpTableMerge sp_table_merge = 183; + SpTableSample sp_table_sample = 184; + SpTableUpdate sp_table_update = 185; + SpWriteCopyIntoLocation sp_write_copy_into_location = 186; + SpWriteCsv sp_write_csv = 187; + SpWriteJson sp_write_json = 188; + SpWritePandas sp_write_pandas = 189; + SpWriteParquet sp_write_parquet = 190; + SpWriteTable sp_write_table = 191; + StoredProcedure stored_procedure = 192; + StringVal string_val = 193; + Sub sub = 194; + TimeVal time_val = 195; + TimestampVal timestamp_val = 196; + TupleVal tuple_val = 197; + Udaf udaf = 198; + Udf udf = 199; + Udtf udtf = 200; } } -// result.ir:17 -message SessionResetRequiredError { - int64 uid = 1; - VarId var_id = 2; +// expr.ir:29 +message ExprArgList { + repeated Expr args = 1; + bool variadic = 2; } -// result.ir:23 -message SfQueryResult { - string uuid = 1; +// const.ir:33 +message Float64Val { + SrcPosition src = 1; + double v = 2; } -message SpColumnExpr { +message FnIdRefExpr { oneof variant { - SpColumnCaseWhen sp_column_case_when = 1; - SpColumnEqualNull sp_column_equal_null = 2; - SpColumnRef sp_column_ref = 3; - SpColumnSqlExpr sp_column_sql_expr = 4; - SpDataframeApply sp_dataframe_apply = 5; - SpDataframeCol sp_dataframe_col = 6; + IndirectTableFnIdRef indirect_table_fn_id_ref = 1; + SpFnRef sp_fn_ref = 2; } } -// sp-col-expr.ir:5 -message SpColumnRef { - string id = 1; - SrcPosition src = 2; +message FnNameRefExpr { + oneof variant { + BuiltinFn builtin_fn = 1; + CallTableFunctionExpr call_table_function_expr = 2; + IndirectTableFnNameRef indirect_table_fn_name_ref = 3; + StoredProcedure stored_procedure = 4; + Udaf udaf = 5; + Udf udf = 6; + Udtf udtf = 7; + } } -// sp-col-expr.ir:10 -message SpColumnSqlExpr { - google.protobuf.StringValue df_alias = 1; - string sql = 2; +message FnRefExpr { + oneof variant { + FnIdRefExpr trait_fn_id_ref_expr = 1; + FnNameRefExpr trait_fn_name_ref_expr = 2; + BuiltinFn builtin_fn = 3; + CallTableFunctionExpr call_table_function_expr = 4; + IndirectTableFnIdRef indirect_table_fn_id_ref = 5; + IndirectTableFnNameRef indirect_table_fn_name_ref = 6; + SpFnRef sp_fn_ref = 7; + StoredProcedure stored_procedure = 8; + Udaf udaf = 9; + Udf udf = 10; + Udtf udtf = 11; + } +} + +// const.ir:108 +message FnVal { + Expr body = 1; + repeated string params = 2; SrcPosition src = 3; } -// sp-col-expr.ir:17 -message SpCaseExpr { - Expr condition = 1; - SrcPosition src = 2; - Expr value = 3; +// expr-op.ir:34 +message Geq { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// sp-col-expr.ir:22 -message SpColumnCaseWhen { - repeated SpCaseExpr cases = 1; - SrcPosition src = 2; +// expr-op.ir:32 +message Gt { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -message SpColumnFn { +message HasSrcPosition { oneof variant { - SpColumnAlias sp_column_alias = 1; - SpColumnApply_Int sp_column_apply__int = 2; - SpColumnApply_String sp_column_apply__string = 3; - SpColumnAsc sp_column_asc = 4; - SpColumnBetween sp_column_between = 5; - SpColumnCast sp_column_cast = 6; - SpColumnDesc sp_column_desc = 7; - SpColumnEqualNan sp_column_equal_nan = 8; - SpColumnIn_Dataframe sp_column_in__dataframe = 9; - SpColumnIn_Seq sp_column_in__seq = 10; - SpColumnIsNotNull sp_column_is_not_null = 11; - SpColumnIsNull sp_column_is_null = 12; - SpColumnName sp_column_name = 13; - SpColumnOver sp_column_over = 14; - SpColumnStringCollate sp_column_string_collate = 15; - SpColumnStringContains sp_column_string_contains = 16; - SpColumnStringEndsWith sp_column_string_ends_with = 17; - SpColumnStringLike sp_column_string_like = 18; - SpColumnStringRegexp sp_column_string_regexp = 19; - SpColumnStringStartsWith sp_column_string_starts_with = 20; - SpColumnStringSubstr sp_column_string_substr = 21; - SpColumnTryCast sp_column_try_cast = 22; - SpColumnWithinGroup sp_column_within_group = 23; + BinOp trait_bin_op = 1; + Const trait_const = 2; + Expr trait_expr = 3; + FnIdRefExpr trait_fn_id_ref_expr = 4; + FnNameRefExpr trait_fn_name_ref_expr = 5; + FnRefExpr trait_fn_ref_expr = 6; + SpColumnExpr trait_sp_column_expr = 7; + SpColumnFn trait_sp_column_fn = 8; + SpDataframeExpr trait_sp_dataframe_expr = 9; + SpDataframeReader trait_sp_dataframe_reader = 10; + SpDataframeWriter trait_sp_dataframe_writer = 11; + SpMatchedClause trait_sp_matched_clause = 12; + SpRelationalGroupedDataframeExpr trait_sp_relational_grouped_dataframe_expr = 13; + SpWindowSpecExpr trait_sp_window_spec_expr = 14; + SpWriteFile trait_sp_write_file = 15; + UnaryOp trait_unary_op = 16; + Add add = 17; + And and = 18; + ApplyExpr apply_expr = 19; + BigDecimalVal big_decimal_val = 20; + BigIntVal big_int_val = 21; + BinaryVal binary_val = 22; + BitAnd bit_and = 23; + BitOr bit_or = 24; + BitXor bit_xor = 25; + BoolVal bool_val = 26; + BuiltinFn builtin_fn = 27; + CallTableFunctionExpr call_table_function_expr = 28; + DateVal date_val = 29; + Div div = 30; + Eq eq = 31; + Float64Val float64_val = 32; + FnVal fn_val = 33; + Geq geq = 34; + Gt gt = 35; + IndirectTableFnIdRef indirect_table_fn_id_ref = 36; + IndirectTableFnNameRef indirect_table_fn_name_ref = 37; + Int32Val int32_val = 38; + Int64Val int64_val = 39; + Leq leq = 40; + ListVal list_val = 41; + Lt lt = 42; + Mod mod = 43; + Mul mul = 44; + Neg neg = 45; + Neq neq = 46; + NoneVal none_val = 47; + Not not = 48; + NullVal null_val = 49; + ObjectGetItem object_get_item = 50; + Or or = 51; + Pow pow = 52; + PythonDateVal python_date_val = 53; + PythonTimeVal python_time_val = 54; + PythonTimestampVal python_timestamp_val = 55; + Ref ref = 56; + SeqMapVal seq_map_val = 57; + SomeVal some_val = 58; + SpCaseExpr sp_case_expr = 59; + SpColumnAlias sp_column_alias = 60; + SpColumnApply_Int sp_column_apply__int = 61; + SpColumnApply_String sp_column_apply__string = 62; + SpColumnAsc sp_column_asc = 63; + SpColumnBetween sp_column_between = 64; + SpColumnCaseWhen sp_column_case_when = 65; + SpColumnCast sp_column_cast = 66; + SpColumnDesc sp_column_desc = 67; + SpColumnEqualNan sp_column_equal_nan = 68; + SpColumnEqualNull sp_column_equal_null = 69; + SpColumnIn_Dataframe sp_column_in__dataframe = 70; + SpColumnIn_Seq sp_column_in__seq = 71; + SpColumnIsNotNull sp_column_is_not_null = 72; + SpColumnIsNull sp_column_is_null = 73; + SpColumnOver sp_column_over = 74; + SpColumnRef sp_column_ref = 75; + SpColumnSqlExpr sp_column_sql_expr = 76; + SpColumnStringCollate sp_column_string_collate = 77; + SpColumnStringContains sp_column_string_contains = 78; + SpColumnStringEndsWith sp_column_string_ends_with = 79; + SpColumnStringLike sp_column_string_like = 80; + SpColumnStringRegexp sp_column_string_regexp = 81; + SpColumnStringStartsWith sp_column_string_starts_with = 82; + SpColumnStringSubstr sp_column_string_substr = 83; + SpColumnTryCast sp_column_try_cast = 84; + SpColumnWithinGroup sp_column_within_group = 85; + SpCreateDataframe sp_create_dataframe = 86; + SpDataframeAgg sp_dataframe_agg = 87; + SpDataframeAlias sp_dataframe_alias = 88; + SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 89; + SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 90; + SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 91; + SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 92; + SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 93; + SpDataframeApply sp_dataframe_apply = 94; + SpDataframeCacheResult sp_dataframe_cache_result = 95; + SpDataframeCol sp_dataframe_col = 96; + SpDataframeCollect sp_dataframe_collect = 97; + SpDataframeCopyIntoTable sp_dataframe_copy_into_table = 98; + SpDataframeCount sp_dataframe_count = 99; + SpDataframeCreateOrReplaceDynamicTable sp_dataframe_create_or_replace_dynamic_table = 100; + SpDataframeCreateOrReplaceView sp_dataframe_create_or_replace_view = 101; + SpDataframeCrossJoin sp_dataframe_cross_join = 102; + SpDataframeCube sp_dataframe_cube = 103; + SpDataframeDescribe sp_dataframe_describe = 104; + SpDataframeDistinct sp_dataframe_distinct = 105; + SpDataframeDrop sp_dataframe_drop = 106; + SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 107; + SpDataframeExcept sp_dataframe_except = 108; + SpDataframeFilter sp_dataframe_filter = 109; + SpDataframeFirst sp_dataframe_first = 110; + SpDataframeFlatten sp_dataframe_flatten = 111; + SpDataframeGroupBy sp_dataframe_group_by = 112; + SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 113; + SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 114; + SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 115; + SpDataframeIntersect sp_dataframe_intersect = 116; + SpDataframeJoin sp_dataframe_join = 117; + SpDataframeJoinTableFunction sp_dataframe_join_table_function = 118; + SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 119; + SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 120; + SpDataframeLimit sp_dataframe_limit = 121; + SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 122; + SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 123; + SpDataframeNaFill sp_dataframe_na_fill = 124; + SpDataframeNaReplace sp_dataframe_na_replace = 125; + SpDataframeNaturalJoin sp_dataframe_natural_join = 126; + SpDataframePivot sp_dataframe_pivot = 127; + SpDataframeRandomSplit sp_dataframe_random_split = 128; + SpDataframeReaderInit sp_dataframe_reader_init = 129; + SpDataframeReaderOption sp_dataframe_reader_option = 130; + SpDataframeReaderOptions sp_dataframe_reader_options = 131; + SpDataframeReaderSchema sp_dataframe_reader_schema = 132; + SpDataframeReaderWithMetadata sp_dataframe_reader_with_metadata = 133; + SpDataframeRef sp_dataframe_ref = 134; + SpDataframeRename sp_dataframe_rename = 135; + SpDataframeRollup sp_dataframe_rollup = 136; + SpDataframeRollup_Columns sp_dataframe_rollup__columns = 137; + SpDataframeRollup_Strings sp_dataframe_rollup__strings = 138; + SpDataframeSample sp_dataframe_sample = 139; + SpDataframeSelect_Columns sp_dataframe_select__columns = 140; + SpDataframeSelect_Exprs sp_dataframe_select__exprs = 141; + SpDataframeShow sp_dataframe_show = 142; + SpDataframeSort sp_dataframe_sort = 143; + SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 144; + SpDataframeStatCorr sp_dataframe_stat_corr = 145; + SpDataframeStatCov sp_dataframe_stat_cov = 146; + SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 147; + SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 148; + SpDataframeToDf sp_dataframe_to_df = 149; + SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 150; + SpDataframeToPandas sp_dataframe_to_pandas = 151; + SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 152; + SpDataframeUnion sp_dataframe_union = 153; + SpDataframeUnionAll sp_dataframe_union_all = 154; + SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 155; + SpDataframeUnionByName sp_dataframe_union_by_name = 156; + SpDataframeUnpivot sp_dataframe_unpivot = 157; + SpDataframeWhere sp_dataframe_where = 158; + SpDataframeWithColumn sp_dataframe_with_column = 159; + SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 160; + SpDataframeWithColumns sp_dataframe_with_columns = 161; + SpDataframeWrite sp_dataframe_write = 162; + SpDatatypeVal sp_datatype_val = 163; + SpFlatten sp_flatten = 164; + SpFnRef sp_fn_ref = 165; + SpGenerator sp_generator = 166; + SpGroupingSets sp_grouping_sets = 167; + SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 168; + SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 169; + SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 170; + SpRange sp_range = 171; + SpReadAvro sp_read_avro = 172; + SpReadCsv sp_read_csv = 173; + SpReadJson sp_read_json = 174; + SpReadOrc sp_read_orc = 175; + SpReadParquet sp_read_parquet = 176; + SpReadTable sp_read_table = 177; + SpReadXml sp_read_xml = 178; + SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 179; + SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 180; + SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 181; + SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 182; + SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 183; + SpRow sp_row = 184; + SpSessionTableFunction sp_session_table_function = 185; + SpSql sp_sql = 186; + SpTable sp_table = 187; + SpTableDelete sp_table_delete = 188; + SpTableDropTable sp_table_drop_table = 189; + SpTableFnCallAlias sp_table_fn_call_alias = 190; + SpTableFnCallOver sp_table_fn_call_over = 191; + SpTableMerge sp_table_merge = 192; + SpTableSample sp_table_sample = 193; + SpTableUpdate sp_table_update = 194; + SpWindowSpecEmpty sp_window_spec_empty = 195; + SpWindowSpecOrderBy sp_window_spec_order_by = 196; + SpWindowSpecPartitionBy sp_window_spec_partition_by = 197; + SpWindowSpecRangeBetween sp_window_spec_range_between = 198; + SpWindowSpecRowsBetween sp_window_spec_rows_between = 199; + SpWriteCopyIntoLocation sp_write_copy_into_location = 200; + SpWriteCsv sp_write_csv = 201; + SpWriteJson sp_write_json = 202; + SpWritePandas sp_write_pandas = 203; + SpWriteParquet sp_write_parquet = 204; + SpWriteTable sp_write_table = 205; + StoredProcedure stored_procedure = 206; + StringVal string_val = 207; + Sub sub = 208; + TimeVal time_val = 209; + TimestampVal timestamp_val = 210; + TupleVal tuple_val = 211; + Udaf udaf = 212; + Udf udf = 213; + Udtf udtf = 214; } } -// sp-col-expr.ir:34 -message SpColumnAlias { - Expr col = 1; - string name = 2; - SrcPosition src = 3; - google.protobuf.BoolValue variant_is_as = 4; +// expr-fn.ir:144 +message IndirectTableFnIdRef { + VarId id = 1; + SrcPosition src = 2; } -// sp-col-expr.ir:39 -message SpColumnApply_Int { - Expr col = 1; - int64 idx = 2; - SrcPosition src = 3; +// expr-fn.ir:139 +message IndirectTableFnNameRef { + FnName name = 1; + SrcPosition src = 2; } -// sp-col-expr.ir:43 -message SpColumnApply_String { - Expr col = 1; - string field = 2; - SrcPosition src = 3; +// const.ir:25 +message Int32Val { + SrcPosition src = 1; + int64 v = 2; +} + +// const.ir:29 +message Int64Val { + SrcPosition src = 1; + int64 v = 2; } -// sp-col-expr.ir:47 -message SpColumnAsc { - Expr col = 1; - google.protobuf.BoolValue nulls_first = 2; +// expr-op.ir:30 +message Leq { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; } -// sp-col-expr.ir:51 -message SpColumnBetween { - Expr col = 1; - Expr lower_bound = 2; - SrcPosition src = 3; - Expr upper_bound = 4; +// expr.ir:19 +message ListVal { + SrcPosition src = 1; + repeated Expr vs = 2; } -// sp-col-expr.ir:56 -message SpColumnCast { - Expr col = 1; - SrcPosition src = 2; - SpDataType to = 3; +// expr-op.ir:28 +message Lt { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// sp-col-expr.ir:60 -message SpColumnTryCast { - Expr col = 1; - SrcPosition src = 2; - SpDataType to = 3; +// expr-op.ir:50 +message Mod { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// sp-col-expr.ir:64 -message SpColumnDesc { - Expr col = 1; - google.protobuf.BoolValue nulls_first = 2; +// expr-op.ir:46 +message Mul { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; } -// sp-col-expr.ir:68 -message SpColumnEqualNan { - Expr col = 1; +// expr-op.ir:40 +message Neg { + Expr operand = 1; SrcPosition src = 2; } -// sp-col-expr.ir:70 -message SpColumnEqualNull { +// expr-op.ir:26 +message Neq { Expr lhs = 1; Expr rhs = 2; SrcPosition src = 3; } -// sp-col-expr.ir:75 -message SpColumnIn_Dataframe { - Expr col = 1; - SpDataframeExpr df = 2; - SrcPosition src = 3; +// const.ir:12 +message NoneVal { + SrcPosition src = 1; } -// sp-col-expr.ir:79 -message SpColumnIn_Seq { - Expr col = 1; +// expr-op.ir:14 +message Not { + Expr operand = 1; SrcPosition src = 2; - repeated Expr values = 3; } -// sp-col-expr.ir:83 -message SpColumnIsNotNull { - Expr col = 1; - SrcPosition src = 2; +// const.ir:15 +message NullVal { + SrcPosition src = 1; } -// sp-col-expr.ir:85 -message SpColumnIsNull { - Expr col = 1; - SrcPosition src = 2; +// expr.ir:35 +message ObjectGetItem { + repeated Expr args = 1; + VarId obj = 2; + SrcPosition src = 3; } -// sp-col-expr.ir:87 -message SpColumnName { - string alias = 1; - Expr col = 2; +// expr-op.ir:18 +message Or { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; } -// sp-col-expr.ir:91 -message SpColumnOver { - Expr col = 1; - SrcPosition src = 2; - SpWindowSpecExpr window_spec = 3; +// expr-op.ir:52 +message Pow { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// sp-col-expr.ir:95 -message SpColumnWithinGroup { - Expr col = 1; - ExprArgList cols = 2; +// const.ir:86 +message PythonDateVal { + int64 day = 1; + int64 month = 2; SrcPosition src = 3; + int64 year = 4; } -// sp-col-expr.ir:99 -message SpColumnStringLike { - Expr col = 1; - Expr pattern = 2; - SrcPosition src = 3; +// const.ir:92 +message PythonTimeVal { + int64 hour = 1; + int64 microsecond = 2; + int64 minute = 3; + int64 second = 4; + SrcPosition src = 5; + PythonTimeZone tz = 6; } -// sp-col-expr.ir:103 -message SpColumnStringRegexp { - Expr col = 1; - Expr parameters = 2; - Expr pattern = 3; - SrcPosition src = 4; +// const.ir:75 +message PythonTimestampVal { + int64 day = 1; + int64 hour = 2; + int64 microsecond = 3; + int64 minute = 4; + int64 month = 5; + int64 second = 6; + SrcPosition src = 7; + PythonTimeZone tz = 8; + int64 year = 9; } -// sp-col-expr.ir:108 -message SpColumnStringStartsWith { - Expr col = 1; - Expr prefix = 2; - SrcPosition src = 3; +// expr.ir:4 +message Ref { + SrcPosition src = 1; + VarId var_id = 2; } -// sp-col-expr.ir:112 -message SpColumnStringEndsWith { - Expr col = 1; +// ast.ir:4 +message Request { + repeated Stmt body = 1; + int64 client_ast_version = 2; + Language client_language = 3; + Version client_version = 4; +} + +// ast.ir:11 +message Response { + repeated Result body = 1; +} + +message Result { + oneof variant { + Error trait_error = 1; + EvalOk eval_ok = 2; + SessionResetRequiredError session_reset_required_error = 3; + } +} + +// expr.ir:24 +message SeqMapVal { + repeated TupleVal kvs = 1; SrcPosition src = 2; - Expr suffix = 3; } -// sp-col-expr.ir:116 -message SpColumnStringSubstr { - Expr col = 1; - Expr len = 2; - Expr pos = 3; - SrcPosition src = 4; +// ast.ir:90 +message SessionResetRequiredError { + int64 uid = 1; + VarId var_id = 2; } -// sp-col-expr.ir:121 -message SpColumnStringCollate { - Expr col = 1; - Expr collation_spec = 2; - SrcPosition src = 3; +// ast.ir:79 +message SfQueryResult { + string uuid = 1; } -// sp-col-expr.ir:125 -message SpColumnStringContains { - Expr col = 1; - Expr pattern = 2; - SrcPosition src = 3; +// expr.ir:9 +message SomeVal { + SrcPosition src = 1; + Expr v = 2; } -message SpDataframeExpr { - oneof variant { - SpCreateDataframe sp_create_dataframe = 1; - SpDataframeAgg sp_dataframe_agg = 2; - SpDataframeAlias sp_dataframe_alias = 3; - SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 4; - SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 5; - SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 6; - SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 7; - SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 8; - SpDataframeCollect sp_dataframe_collect = 9; - SpDataframeCount sp_dataframe_count = 10; - SpDataframeCrossJoin sp_dataframe_cross_join = 11; - SpDataframeDescribe sp_dataframe_describe = 12; - SpDataframeDistinct sp_dataframe_distinct = 13; - SpDataframeDrop sp_dataframe_drop = 14; - SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 15; - SpDataframeExcept sp_dataframe_except = 16; - SpDataframeFilter sp_dataframe_filter = 17; - SpDataframeFirst sp_dataframe_first = 18; - SpDataframeFlatten sp_dataframe_flatten = 19; - SpDataframeIntersect sp_dataframe_intersect = 20; - SpDataframeJoin sp_dataframe_join = 21; - SpDataframeJoinTableFunction sp_dataframe_join_table_function = 22; - SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 23; - SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 24; - SpDataframeLimit sp_dataframe_limit = 25; - SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 26; - SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 27; - SpDataframeNaFill sp_dataframe_na_fill = 28; - SpDataframeNaReplace sp_dataframe_na_replace = 29; - SpDataframeNaturalJoin sp_dataframe_natural_join = 30; - SpDataframeRandomSplit sp_dataframe_random_split = 31; - SpDataframeRef sp_dataframe_ref = 32; - SpDataframeRename sp_dataframe_rename = 33; - SpDataframeSample sp_dataframe_sample = 34; - SpDataframeSelect_Columns sp_dataframe_select__columns = 35; - SpDataframeSelect_Exprs sp_dataframe_select__exprs = 36; - SpDataframeShow sp_dataframe_show = 37; - SpDataframeSort sp_dataframe_sort = 38; - SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 39; - SpDataframeStatCorr sp_dataframe_stat_corr = 40; - SpDataframeStatCov sp_dataframe_stat_cov = 41; - SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 42; - SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 43; - SpDataframeToDf sp_dataframe_to_df = 44; - SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 45; - SpDataframeToPandas sp_dataframe_to_pandas = 46; - SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 47; - SpDataframeUnion sp_dataframe_union = 48; - SpDataframeUnionAll sp_dataframe_union_all = 49; - SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 50; - SpDataframeUnionByName sp_dataframe_union_by_name = 51; - SpDataframeUnpivot sp_dataframe_unpivot = 52; - SpDataframeWhere sp_dataframe_where = 53; - SpDataframeWithColumn sp_dataframe_with_column = 54; - SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 55; - SpDataframeWithColumns sp_dataframe_with_columns = 56; - SpDataframeWrite sp_dataframe_write = 57; - SpFlatten sp_flatten = 58; - SpGenerator sp_generator = 59; - SpRange sp_range = 60; - SpReadAvro sp_read_avro = 61; - SpReadCsv sp_read_csv = 62; - SpReadJson sp_read_json = 63; - SpReadOrc sp_read_orc = 64; - SpReadParquet sp_read_parquet = 65; - SpReadTable sp_read_table = 66; - SpReadXml sp_read_xml = 67; - SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 68; - SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 69; - SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 70; - SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 71; - SpSessionTableFunction sp_session_table_function = 72; - SpSql sp_sql = 73; - SpStoredProcedure sp_stored_procedure = 74; - SpTable sp_table = 75; - SpTableDelete sp_table_delete = 76; - SpTableDropTable sp_table_drop_table = 77; - SpTableMerge sp_table_merge = 78; - SpTableSample sp_table_sample = 79; - SpTableUpdate sp_table_update = 80; - SpWritePandas sp_write_pandas = 81; - } +// sp-col-expr.ir:17 +message SpCaseExpr { + Expr condition = 1; + SrcPosition src = 2; + Expr value = 3; } -// sp-df-expr.ir:6 -message SpDataframeRef { - VarId id = 1; - SrcPosition src = 2; +// sp-type.ir:15 +message SpColExprType { + SpType typ = 1; } -// sp-df-expr.ir:10 -message SpDataframeShow { - VarId id = 1; - SrcPosition src = 2; +// sp-col-expr.ir:34 +message SpColumnAlias { + Expr col = 1; + SpColumnAliasFn fn = 2; + string name = 3; + SrcPosition src = 4; } -// sp-df-expr.ir:14 -message SpDataframeCount { - bool block = 1; - VarId id = 2; +// sp-col-expr.ir:41 +message SpColumnApply_Int { + Expr col = 1; + int64 idx = 2; SrcPosition src = 3; - repeated Tuple_String_String statement_params = 4; } -// sp-df-expr.ir:20 -message SpDataframeCollect { - bool block = 1; - bool case_sensitive = 2; - VarId id = 3; - bool log_on_exception = 4; - bool no_wait = 5; - SrcPosition src = 6; - repeated Tuple_String_String statement_params = 7; +// sp-col-expr.ir:45 +message SpColumnApply_String { + Expr col = 1; + string field = 2; + SrcPosition src = 3; } -// sp-df-expr.ir:29 -message SpDataframeToLocalIterator { - bool block = 1; - bool case_sensitive = 2; - VarId id = 3; - SrcPosition src = 4; - repeated Tuple_String_String statement_params = 5; +// sp-col-expr.ir:49 +message SpColumnAsc { + Expr col = 1; + google.protobuf.BoolValue nulls_first = 2; + SrcPosition src = 3; } -// sp-df-expr.ir:40 -message SpCreateDataframe { - SpDataframeData data = 1; - SpDataframeSchema schema = 2; +// sp-col-expr.ir:53 +message SpColumnBetween { + Expr col = 1; + Expr lower_bound = 2; SrcPosition src = 3; + Expr upper_bound = 4; } -// sp-df-expr.ir:45 -message SpWritePandas { - bool auto_create_table = 1; - google.protobuf.Int64Value chunk_size = 2; - string compression = 3; - bool create_temp_table = 4; - SpDataframeData df = 5; - repeated Tuple_String_Expr kwargs = 6; - string on_error = 7; - bool overwrite = 8; - int64 parallel = 9; - bool quote_identifiers = 10; - SrcPosition src = 11; - SpTableName table_name = 12; - string table_type = 13; +// sp-col-expr.ir:22 +message SpColumnCaseWhen { + repeated SpCaseExpr cases = 1; + SrcPosition src = 2; } -// sp-df-expr.ir:60 -message SpFlatten { - Expr input = 1; - SpFlattenMode mode = 2; - bool outer = 3; - google.protobuf.StringValue path = 4; - bool recursive = 5; - SrcPosition src = 6; +// sp-col-expr.ir:58 +message SpColumnCast { + Expr col = 1; + SrcPosition src = 2; + SpDataType to = 3; } -// sp-df-expr.ir:70 -message SpGenerator { - repeated Expr columns = 1; - int64 row_count = 2; +// sp-col-expr.ir:66 +message SpColumnDesc { + Expr col = 1; + google.protobuf.BoolValue nulls_first = 2; SrcPosition src = 3; - int64 time_limit_seconds = 4; - bool variadic = 5; } -// sp-df-expr.ir:77 -message SpRange { - google.protobuf.Int64Value end = 1; +// sp-col-expr.ir:70 +message SpColumnEqualNan { + Expr col = 1; SrcPosition src = 2; - int64 start = 3; - google.protobuf.Int64Value step = 4; } -// sp-df-expr.ir:83 -message SpSql { - repeated Expr params = 1; - string query = 2; +// sp-col-expr.ir:72 +message SpColumnEqualNull { + Expr lhs = 1; + Expr rhs = 2; SrcPosition src = 3; } -// sp-df-expr.ir:88 -message SpStoredProcedure { - repeated SpVariant args = 1; - string sp_name = 2; - SrcPosition src = 3; - bool variadic = 4; +message SpColumnExpr { + oneof variant { + SpColumnCaseWhen sp_column_case_when = 1; + SpColumnEqualNull sp_column_equal_null = 2; + SpColumnRef sp_column_ref = 3; + SpColumnSqlExpr sp_column_sql_expr = 4; + SpDataframeApply sp_dataframe_apply = 5; + SpDataframeCol sp_dataframe_col = 6; + } } -// sp-df-expr.ir:96 -message SpTable { - bool is_temp_table_for_cleanup = 1; - SpTableName name = 2; +message SpColumnFn { + oneof variant { + SpColumnAlias sp_column_alias = 1; + SpColumnApply_Int sp_column_apply__int = 2; + SpColumnApply_String sp_column_apply__string = 3; + SpColumnAsc sp_column_asc = 4; + SpColumnBetween sp_column_between = 5; + SpColumnCast sp_column_cast = 6; + SpColumnDesc sp_column_desc = 7; + SpColumnEqualNan sp_column_equal_nan = 8; + SpColumnIn_Dataframe sp_column_in__dataframe = 9; + SpColumnIn_Seq sp_column_in__seq = 10; + SpColumnIsNotNull sp_column_is_not_null = 11; + SpColumnIsNull sp_column_is_null = 12; + SpColumnOver sp_column_over = 13; + SpColumnStringCollate sp_column_string_collate = 14; + SpColumnStringContains sp_column_string_contains = 15; + SpColumnStringEndsWith sp_column_string_ends_with = 16; + SpColumnStringLike sp_column_string_like = 17; + SpColumnStringRegexp sp_column_string_regexp = 18; + SpColumnStringStartsWith sp_column_string_starts_with = 19; + SpColumnStringSubstr sp_column_string_substr = 20; + SpColumnTryCast sp_column_try_cast = 21; + SpColumnWithinGroup sp_column_within_group = 22; + } +} + +// sp-col-expr.ir:77 +message SpColumnIn_Dataframe { + Expr col = 1; + SpDataframeExpr df = 2; SrcPosition src = 3; - SpTableVariant variant = 4; } -// sp-df-expr.ir:102 -message SpSessionTableFunction { - Expr fn = 1; +// sp-col-expr.ir:81 +message SpColumnIn_Seq { + Expr col = 1; + SrcPosition src = 2; + repeated Expr values = 3; +} + +// sp-col-expr.ir:85 +message SpColumnIsNotNull { + Expr col = 1; SrcPosition src = 2; } -// sp-df-expr.ir:106 -message SpDataframeToPandas { - bool block = 1; - VarId id = 2; +// sp-col-expr.ir:87 +message SpColumnIsNull { + Expr col = 1; + SrcPosition src = 2; +} + +// sp-col-expr.ir:89 +message SpColumnOver { + Expr col = 1; + SrcPosition src = 2; + SpWindowSpecExpr window_spec = 3; +} + +// sp-col-expr.ir:5 +message SpColumnRef { + string id = 1; + SrcPosition src = 2; +} + +// sp-col-expr.ir:10 +message SpColumnSqlExpr { + google.protobuf.StringValue df_alias = 1; + string sql = 2; SrcPosition src = 3; - repeated Tuple_String_String statement_params = 4; } -// sp-df-expr.ir:112 -message SpDataframeToPandasBatches { - bool block = 1; - VarId id = 2; +// sp-col-expr.ir:119 +message SpColumnStringCollate { + Expr col = 1; + Expr collation_spec = 2; SrcPosition src = 3; - repeated Tuple_String_String statement_params = 4; } -// sp-df-expr.ir:118 -message SpDataframeToDf { - repeated string col_names = 1; - SpDataframeExpr df = 2; +// sp-col-expr.ir:123 +message SpColumnStringContains { + Expr col = 1; + Expr pattern = 2; SrcPosition src = 3; - bool variadic = 4; } -// sp-df-expr.ir:129 -message SpDataframeNaDrop_Scala { - repeated string cols = 1; - SpDataframeExpr df = 2; - int64 min_non_nulls_per_row = 3; +// sp-col-expr.ir:110 +message SpColumnStringEndsWith { + Expr col = 1; + SrcPosition src = 2; + Expr suffix = 3; +} + +// sp-col-expr.ir:97 +message SpColumnStringLike { + Expr col = 1; + Expr pattern = 2; + SrcPosition src = 3; +} + +// sp-col-expr.ir:101 +message SpColumnStringRegexp { + Expr col = 1; + Expr parameters = 2; + Expr pattern = 3; SrcPosition src = 4; } -// sp-df-expr.ir:135 -message SpDataframeNaDrop_Python { - SpDataframeExpr df = 1; - string how = 2; +// sp-col-expr.ir:106 +message SpColumnStringStartsWith { + Expr col = 1; + Expr prefix = 2; SrcPosition src = 3; - List_String subset = 4; - google.protobuf.Int64Value thresh = 5; } -// sp-df-expr.ir:142 -message SpDataframeNaFill { - SpDataframeExpr df = 1; +// sp-col-expr.ir:114 +message SpColumnStringSubstr { + Expr col = 1; + Expr len = 2; + Expr pos = 3; + SrcPosition src = 4; +} + +// sp-col-expr.ir:62 +message SpColumnTryCast { + Expr col = 1; SrcPosition src = 2; - List_String subset = 3; - Expr value = 4; - Map_String_Expr value_map = 5; + SpDataType to = 3; } -// sp-df-expr.ir:149 -message SpDataframeNaReplace { - SpDataframeExpr df = 1; - Map_Expr_Expr replacement_map = 2; +// sp-col-expr.ir:93 +message SpColumnWithinGroup { + Expr col = 1; + ExprArgList cols = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:46 +message SpCreateDataframe { + SpDataframeData data = 1; + SpDataframeSchema schema = 2; SrcPosition src = 3; - List_String subset = 4; - List_Expr to_replace_list = 5; - Expr to_replace_value = 6; - Expr value = 7; - List_Expr values = 8; } // sp-df-expr.ir:163 @@ -2023,6 +1539,62 @@ message SpDataframeAlias { SrcPosition src = 3; } +// sp-df-expr.ir:464 +message SpDataframeAnalyticsComputeLag { + repeated Expr cols = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + repeated int64 lags = 5; + repeated string order_by = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:473 +message SpDataframeAnalyticsComputeLead { + repeated Expr cols = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + repeated int64 leads = 5; + repeated string order_by = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:455 +message SpDataframeAnalyticsCumulativeAgg { + repeated Tuple_String_List_String aggs = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + bool is_forward = 5; + repeated string order_by = 6; + SrcPosition src = 7; +} + +// sp-df-expr.ir:446 +message SpDataframeAnalyticsMovingAgg { + repeated Tuple_String_List_String aggs = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + repeated string order_by = 5; + SrcPosition src = 6; + repeated int64 window_sizes = 7; +} + +// sp-df-expr.ir:482 +message SpDataframeAnalyticsTimeSeriesAgg { + repeated Tuple_String_List_String aggs = 1; + SpDataframeExpr df = 2; + repeated string formatted_col_names = 3; + repeated string group_by = 4; + string sliding_interval = 5; + SrcPosition src = 6; + string time_col = 7; + repeated string windows = 8; +} + // sp-df-expr.ir:173 message SpDataframeApply { string col_name = 1; @@ -2030,6 +1602,13 @@ message SpDataframeApply { SrcPosition src = 3; } +// sp-df-io.ir:185 +message SpDataframeCacheResult { + SpDataframeExpr df = 1; + SrcPosition src = 2; + repeated Tuple_String_String statement_params = 3; +} + // sp-df-expr.ir:178 message SpDataframeCol { string col_name = 1; @@ -2037,6 +1616,69 @@ message SpDataframeCol { SrcPosition src = 3; } +// sp-df-expr.ir:26 +message SpDataframeCollect { + bool block = 1; + bool case_sensitive = 2; + VarId id = 3; + bool log_on_exception = 4; + bool no_wait = 5; + SrcPosition src = 6; + repeated Tuple_String_String statement_params = 7; +} + +// sp-df-io.ir:167 +message SpDataframeCopyIntoTable { + repeated Tuple_String_Expr copy_options = 1; + SpDataframeExpr df = 2; + repeated string files = 3; + repeated Tuple_String_Expr format_type_options = 4; + repeated Tuple_String_String iceberg_config = 5; + google.protobuf.StringValue pattern = 6; + SrcPosition src = 7; + repeated Tuple_String_String statement_params = 8; + repeated string table_name = 9; + repeated string target_columns = 10; + repeated Expr transformations = 11; + google.protobuf.StringValue validation_mode = 12; +} + +// sp-df-expr.ir:20 +message SpDataframeCount { + bool block = 1; + VarId id = 2; + SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; +} + +// sp-df-io.ir:151 +message SpDataframeCreateOrReplaceDynamicTable { + List_Expr clustering_keys = 1; + google.protobuf.StringValue comment = 2; + google.protobuf.Int64Value data_retention_time = 3; + SpDataframeExpr df = 4; + google.protobuf.StringValue initialize = 5; + bool is_transient = 6; + string lag = 7; + google.protobuf.Int64Value max_data_extension_time = 8; + SpSaveMode mode = 9; + repeated string name = 10; + google.protobuf.StringValue refresh_mode = 11; + SrcPosition src = 12; + repeated Tuple_String_String statement_params = 13; + string warehouse = 14; +} + +// sp-df-io.ir:143 +message SpDataframeCreateOrReplaceView { + google.protobuf.StringValue comment = 1; + SpDataframeExpr df = 2; + bool is_temp = 3; + repeated string name = 4; + SrcPosition src = 5; + repeated Tuple_String_String statement_params = 6; +} + // sp-df-expr.ir:183 message SpDataframeCrossJoin { SpDataframeExpr lhs = 1; @@ -2088,6 +1730,91 @@ message SpDataframeExcept { SrcPosition src = 3; } +message SpDataframeExpr { + oneof variant { + SpCreateDataframe sp_create_dataframe = 1; + SpDataframeAgg sp_dataframe_agg = 2; + SpDataframeAlias sp_dataframe_alias = 3; + SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 4; + SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 5; + SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 6; + SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 7; + SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 8; + SpDataframeCollect sp_dataframe_collect = 9; + SpDataframeCount sp_dataframe_count = 10; + SpDataframeCrossJoin sp_dataframe_cross_join = 11; + SpDataframeDescribe sp_dataframe_describe = 12; + SpDataframeDistinct sp_dataframe_distinct = 13; + SpDataframeDrop sp_dataframe_drop = 14; + SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 15; + SpDataframeExcept sp_dataframe_except = 16; + SpDataframeFilter sp_dataframe_filter = 17; + SpDataframeFirst sp_dataframe_first = 18; + SpDataframeFlatten sp_dataframe_flatten = 19; + SpDataframeIntersect sp_dataframe_intersect = 20; + SpDataframeJoin sp_dataframe_join = 21; + SpDataframeJoinTableFunction sp_dataframe_join_table_function = 22; + SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 23; + SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 24; + SpDataframeLimit sp_dataframe_limit = 25; + SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 26; + SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 27; + SpDataframeNaFill sp_dataframe_na_fill = 28; + SpDataframeNaReplace sp_dataframe_na_replace = 29; + SpDataframeNaturalJoin sp_dataframe_natural_join = 30; + SpDataframeRandomSplit sp_dataframe_random_split = 31; + SpDataframeRef sp_dataframe_ref = 32; + SpDataframeRename sp_dataframe_rename = 33; + SpDataframeSample sp_dataframe_sample = 34; + SpDataframeSelect_Columns sp_dataframe_select__columns = 35; + SpDataframeSelect_Exprs sp_dataframe_select__exprs = 36; + SpDataframeShow sp_dataframe_show = 37; + SpDataframeSort sp_dataframe_sort = 38; + SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 39; + SpDataframeStatCorr sp_dataframe_stat_corr = 40; + SpDataframeStatCov sp_dataframe_stat_cov = 41; + SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 42; + SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 43; + SpDataframeToDf sp_dataframe_to_df = 44; + SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 45; + SpDataframeToPandas sp_dataframe_to_pandas = 46; + SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 47; + SpDataframeUnion sp_dataframe_union = 48; + SpDataframeUnionAll sp_dataframe_union_all = 49; + SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 50; + SpDataframeUnionByName sp_dataframe_union_by_name = 51; + SpDataframeUnpivot sp_dataframe_unpivot = 52; + SpDataframeWhere sp_dataframe_where = 53; + SpDataframeWithColumn sp_dataframe_with_column = 54; + SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 55; + SpDataframeWithColumns sp_dataframe_with_columns = 56; + SpDataframeWrite sp_dataframe_write = 57; + SpFlatten sp_flatten = 58; + SpGenerator sp_generator = 59; + SpRange sp_range = 60; + SpReadAvro sp_read_avro = 61; + SpReadCsv sp_read_csv = 62; + SpReadJson sp_read_json = 63; + SpReadOrc sp_read_orc = 64; + SpReadParquet sp_read_parquet = 65; + SpReadTable sp_read_table = 66; + SpReadXml sp_read_xml = 67; + SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 68; + SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 69; + SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 70; + SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 71; + SpSessionTableFunction sp_session_table_function = 72; + SpSql sp_sql = 73; + SpTable sp_table = 74; + SpTableDelete sp_table_delete = 75; + SpTableDropTable sp_table_drop_table = 76; + SpTableMerge sp_table_merge = 77; + SpTableSample sp_table_sample = 78; + SpTableUpdate sp_table_update = 79; + SpWritePandas sp_write_pandas = 80; + } +} + // sp-df-expr.ir:220 message SpDataframeFilter { Expr condition = 1; @@ -2095,6 +1822,15 @@ message SpDataframeFilter { SrcPosition src = 3; } +// sp-df-expr.ir:234 +message SpDataframeFirst { + bool block = 1; + SpDataframeExpr df = 2; + int64 num = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; +} + // sp-df-expr.ir:225 message SpDataframeFlatten { SpDataframeExpr df = 1; @@ -2106,13 +1842,19 @@ message SpDataframeFlatten { SrcPosition src = 7; } -// sp-df-expr.ir:234 -message SpDataframeFirst { - bool block = 1; +// sp-df-expr.ir:253 +message SpDataframeGroupBy { + ExprArgList cols = 1; SpDataframeExpr df = 2; - int64 num = 3; - SrcPosition src = 4; - repeated Tuple_String_String statement_params = 5; + SrcPosition src = 3; +} + +// sp-df-expr.ir:428 +message SpDataframeGroupByGroupingSets { + SpDataframeExpr df = 1; + repeated SpGroupingSets grouping_sets = 2; + SrcPosition src = 3; + bool variadic = 4; } // sp-df-expr.ir:241 @@ -2131,13 +1873,6 @@ message SpDataframeGroupBy_Strings { bool variadic = 4; } -// sp-df-expr.ir:253 -message SpDataframeGroupBy { - ExprArgList cols = 1; - SpDataframeExpr df = 2; - SrcPosition src = 3; -} - // sp-df-expr.ir:258 message SpDataframeIntersect { SpDataframeExpr df = 1; @@ -2145,7 +1880,7 @@ message SpDataframeIntersect { SrcPosition src = 3; } -// sp-df-expr.ir:263 +// sp-df-expr.ir:274 message SpDataframeJoin { Expr join_expr = 1; SpJoinType join_type = 2; @@ -2157,14 +1892,14 @@ message SpDataframeJoin { SrcPosition src = 8; } -// sp-df-expr.ir:273 +// sp-df-expr.ir:284 message SpDataframeJoinTableFunction { Expr fn = 1; SpDataframeExpr lhs = 2; SrcPosition src = 3; } -// sp-df-expr.ir:278 +// sp-df-expr.ir:289 message SpDataframeJoin_Dataframe_JoinExprs { SpDataframeExpr join_exprs = 1; SpJoinType join_type = 2; @@ -2173,7 +1908,7 @@ message SpDataframeJoin_Dataframe_JoinExprs { SrcPosition src = 5; } -// sp-df-expr.ir:285 +// sp-df-expr.ir:296 message SpDataframeJoin_Dataframe_UsingColumns { SpJoinType join_type = 1; SpDataframeExpr lhs = 2; @@ -2183,15 +1918,53 @@ message SpDataframeJoin_Dataframe_UsingColumns { bool variadic = 6; } -// sp-df-expr.ir:293 -message SpDataframeLimit { +// sp-df-expr.ir:304 +message SpDataframeLimit { + SpDataframeExpr df = 1; + int64 n = 2; + int64 offset = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:135 +message SpDataframeNaDrop_Python { + SpDataframeExpr df = 1; + string how = 2; + SrcPosition src = 3; + List_String subset = 4; + google.protobuf.Int64Value thresh = 5; +} + +// sp-df-expr.ir:129 +message SpDataframeNaDrop_Scala { + repeated string cols = 1; + SpDataframeExpr df = 2; + int64 min_non_nulls_per_row = 3; + SrcPosition src = 4; +} + +// sp-df-expr.ir:142 +message SpDataframeNaFill { + SpDataframeExpr df = 1; + SrcPosition src = 2; + List_String subset = 3; + Expr value = 4; + Map_String_Expr value_map = 5; +} + +// sp-df-expr.ir:149 +message SpDataframeNaReplace { SpDataframeExpr df = 1; - int64 n = 2; - int64 offset = 3; - SrcPosition src = 4; + Map_Expr_Expr replacement_map = 2; + SrcPosition src = 3; + List_String subset = 4; + List_Expr to_replace_list = 5; + Expr to_replace_value = 6; + Expr value = 7; + List_Expr values = 8; } -// sp-df-expr.ir:299 +// sp-df-expr.ir:310 message SpDataframeNaturalJoin { SpJoinType join_type = 1; SpDataframeExpr lhs = 2; @@ -2199,7 +1972,7 @@ message SpDataframeNaturalJoin { SrcPosition src = 4; } -// sp-df-expr.ir:305 +// sp-df-expr.ir:316 message SpDataframePivot { Expr default_on_null = 1; SpDataframeExpr df = 2; @@ -2208,16 +1981,7 @@ message SpDataframePivot { SpPivotValue values = 5; } -// sp-df-expr.ir:312 -message SpDataframeUnpivot { - repeated Expr column_list = 1; - SpDataframeExpr df = 2; - string name_column = 3; - SrcPosition src = 4; - string value_column = 5; -} - -// sp-df-expr.ir:319 +// sp-df-expr.ir:330 message SpDataframeRandomSplit { SpDataframeExpr df = 1; google.protobuf.Int64Value seed = 2; @@ -2226,7 +1990,57 @@ message SpDataframeRandomSplit { repeated double weights = 5; } -// sp-df-expr.ir:326 +message SpDataframeReader { + oneof variant { + SpDataframeReaderInit sp_dataframe_reader_init = 1; + SpDataframeReaderOption sp_dataframe_reader_option = 2; + SpDataframeReaderOptions sp_dataframe_reader_options = 3; + SpDataframeReaderSchema sp_dataframe_reader_schema = 4; + SpDataframeReaderWithMetadata sp_dataframe_reader_with_metadata = 5; + } +} + +// sp-df-io.ir:10 +message SpDataframeReaderInit { + SrcPosition src = 1; +} + +// sp-df-io.ir:12 +message SpDataframeReaderOption { + string key = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; + Expr value = 4; +} + +// sp-df-io.ir:18 +message SpDataframeReaderOptions { + repeated Tuple_String_Expr configs = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:23 +message SpDataframeReaderSchema { + SpDataframeReader reader = 1; + SpStructType schema = 2; + SrcPosition src = 3; +} + +// sp-df-io.ir:28 +message SpDataframeReaderWithMetadata { + ExprArgList metadata_columns = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:12 +message SpDataframeRef { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:337 message SpDataframeRename { Expr col_or_mapper = 1; SpDataframeExpr df = 2; @@ -2234,7 +2048,14 @@ message SpDataframeRename { SrcPosition src = 4; } -// sp-df-expr.ir:332 +// sp-df-expr.ir:355 +message SpDataframeRollup { + ExprArgList cols = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:343 message SpDataframeRollup_Columns { repeated SpColumnExpr cols = 1; SpDataframeExpr df = 2; @@ -2242,7 +2063,7 @@ message SpDataframeRollup_Columns { bool variadic = 4; } -// sp-df-expr.ir:338 +// sp-df-expr.ir:349 message SpDataframeRollup_Strings { repeated string cols = 1; SpDataframeExpr df = 2; @@ -2250,14 +2071,7 @@ message SpDataframeRollup_Strings { bool variadic = 4; } -// sp-df-expr.ir:344 -message SpDataframeRollup { - ExprArgList cols = 1; - SpDataframeExpr df = 2; - SrcPosition src = 3; -} - -// sp-df-expr.ir:349 +// sp-df-expr.ir:360 message SpDataframeSample { SpDataframeExpr df = 1; google.protobuf.Int64Value num = 2; @@ -2265,7 +2079,7 @@ message SpDataframeSample { SrcPosition src = 4; } -// sp-df-expr.ir:355 +// sp-df-expr.ir:366 message SpDataframeSelect_Columns { repeated Expr cols = 1; SpDataframeExpr df = 2; @@ -2273,7 +2087,7 @@ message SpDataframeSelect_Columns { bool variadic = 4; } -// sp-df-expr.ir:361 +// sp-df-expr.ir:372 message SpDataframeSelect_Exprs { SpDataframeExpr df = 1; repeated string exprs = 2; @@ -2281,7 +2095,13 @@ message SpDataframeSelect_Exprs { bool variadic = 4; } -// sp-df-expr.ir:367 +// sp-df-expr.ir:16 +message SpDataframeShow { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:378 message SpDataframeSort { Expr ascending = 1; repeated Expr cols = 2; @@ -2290,535 +2110,302 @@ message SpDataframeSort { SrcPosition src = 5; } -// sp-df-expr.ir:374 -message SpDataframeUnion { - SpDataframeExpr df = 1; - SpDataframeExpr other = 2; - SrcPosition src = 3; -} - -// sp-df-expr.ir:379 -message SpDataframeUnionAll { - SpDataframeExpr df = 1; - SpDataframeExpr other = 2; - SrcPosition src = 3; -} - -// sp-df-expr.ir:384 -message SpDataframeUnionAllByName { - SpDataframeExpr df = 1; - SpDataframeExpr other = 2; - SrcPosition src = 3; -} - -// sp-df-expr.ir:389 -message SpDataframeUnionByName { - SpDataframeExpr df = 1; - SpDataframeExpr other = 2; - SrcPosition src = 3; -} - -// sp-df-expr.ir:394 -message SpDataframeWhere { - SpColumnExpr condition = 1; - SpDataframeExpr df = 2; - SrcPosition src = 3; -} - -// sp-df-expr.ir:399 -message SpDataframeWithColumn { - Expr col = 1; - string col_name = 2; - SpDataframeExpr df = 3; - SrcPosition src = 4; -} - -// sp-df-expr.ir:405 -message SpDataframeWithColumnRenamed { - Expr col = 1; - SpDataframeExpr df = 2; - string new_name = 3; - SrcPosition src = 4; -} - -// sp-df-expr.ir:411 -message SpDataframeWithColumns { - repeated string col_names = 1; - SpDataframeExpr df = 2; - SrcPosition src = 3; - repeated Expr values = 4; -} - -// sp-df-expr.ir:417 -message SpDataframeGroupByGroupingSets { - SpDataframeExpr df = 1; - repeated SpGroupingSets grouping_sets = 2; - SrcPosition src = 3; - bool variadic = 4; -} - -// sp-df-expr.ir:423 -message SpGroupingSets { - ExprArgList sets = 1; - SrcPosition src = 2; -} - -// sp-df-expr.ir:435 -message SpDataframeAnalyticsMovingAgg { - repeated Tuple_String_List_String aggs = 1; - SpDataframeExpr df = 2; - repeated string formatted_col_names = 3; - repeated string group_by = 4; - repeated string order_by = 5; - SrcPosition src = 6; - repeated int64 window_sizes = 7; -} - -// sp-df-expr.ir:444 -message SpDataframeAnalyticsCumulativeAgg { - repeated Tuple_String_List_String aggs = 1; - SpDataframeExpr df = 2; - repeated string formatted_col_names = 3; - repeated string group_by = 4; - bool is_forward = 5; - repeated string order_by = 6; - SrcPosition src = 7; -} - -// sp-df-expr.ir:453 -message SpDataframeAnalyticsComputeLag { - repeated Expr cols = 1; - SpDataframeExpr df = 2; - repeated string formatted_col_names = 3; - repeated string group_by = 4; - repeated int64 lags = 5; - repeated string order_by = 6; - SrcPosition src = 7; -} - -// sp-df-expr.ir:462 -message SpDataframeAnalyticsComputeLead { +// sp-df-stat.ir:1 +message SpDataframeStatApproxQuantile { repeated Expr cols = 1; - SpDataframeExpr df = 2; - repeated string formatted_col_names = 3; - repeated string group_by = 4; - repeated int64 leads = 5; - repeated string order_by = 6; - SrcPosition src = 7; -} - -// sp-df-expr.ir:471 -message SpDataframeAnalyticsTimeSeriesAgg { - repeated Tuple_String_List_String aggs = 1; - SpDataframeExpr df = 2; - repeated string formatted_col_names = 3; - repeated string group_by = 4; - string sliding_interval = 5; - SrcPosition src = 6; - string time_col = 7; - repeated string windows = 8; -} - -message SpMatchedClause { - oneof variant { - SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 1; - SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 2; - SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 3; - } -} - -// sp-df-expr.ir:483 -message SpMergeUpdateWhenMatchedClause { - Expr condition = 1; - SrcPosition src = 2; - Map_Expr_Expr update_assignments = 3; -} - -// sp-df-expr.ir:488 -message SpMergeDeleteWhenMatchedClause { - Expr condition = 1; - SrcPosition src = 2; -} - -// sp-df-expr.ir:492 -message SpMergeInsertWhenNotMatchedClause { - Expr condition = 1; - List_Expr insert_keys = 2; - List_Expr insert_values = 3; - SrcPosition src = 4; -} - -// sp-df-expr.ir:498 -message SpTableDelete { - bool block = 1; - Expr condition = 2; - VarId id = 3; - SpDataframeExpr source = 4; - SrcPosition src = 5; - repeated Tuple_String_String statement_params = 6; -} - -// sp-df-expr.ir:506 -message SpTableDropTable { - VarId id = 1; - SrcPosition src = 2; -} - -// sp-df-expr.ir:510 -message SpTableMerge { - bool block = 1; - repeated SpMatchedClause clauses = 2; - VarId id = 3; - Expr join_expr = 4; - SpDataframeExpr source = 5; - SrcPosition src = 6; - repeated Tuple_String_String statement_params = 7; + VarId id = 2; + repeated double percentile = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; } -// sp-df-expr.ir:519 -message SpTableSample { - SpDataframeExpr df = 1; - google.protobuf.Int64Value num = 2; - google.protobuf.DoubleValue probability_fraction = 3; - google.protobuf.StringValue sampling_method = 4; - google.protobuf.Int64Value seed = 5; - SrcPosition src = 6; +// sp-df-stat.ir:8 +message SpDataframeStatCorr { + Expr col1 = 1; + Expr col2 = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; } -// sp-df-expr.ir:527 -message SpTableUpdate { - repeated Tuple_String_Expr assignments = 1; - bool block = 2; - Expr condition = 3; - VarId id = 4; - SpDataframeExpr source = 5; - SrcPosition src = 6; - repeated Tuple_String_String statement_params = 7; +// sp-df-stat.ir:15 +message SpDataframeStatCov { + Expr col1 = 1; + Expr col2 = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; } -message SpDataframeReader { - oneof variant { - SpDataframeReaderInit sp_dataframe_reader_init = 1; - SpDataframeReaderOption sp_dataframe_reader_option = 2; - SpDataframeReaderOptions sp_dataframe_reader_options = 3; - SpDataframeReaderSchema sp_dataframe_reader_schema = 4; - SpDataframeReaderWithMetadata sp_dataframe_reader_with_metadata = 5; - } +// sp-df-stat.ir:22 +message SpDataframeStatCrossTab { + Expr col1 = 1; + Expr col2 = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; } -// sp-df-io.ir:11 -message SpDataframeReaderInit { - SrcPosition src = 1; +// sp-df-stat.ir:30 +message SpDataframeStatSampleBy { + Expr col = 1; + SpDataframeExpr df = 2; + repeated Tuple_Expr_Float fractions = 3; + SrcPosition src = 4; } -// sp-df-io.ir:13 -message SpDataframeReaderOption { - string key = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:118 +message SpDataframeToDf { + repeated string col_names = 1; + SpDataframeExpr df = 2; SrcPosition src = 3; - Expr value = 4; + bool variadic = 4; } -// sp-df-io.ir:19 -message SpDataframeReaderOptions { - repeated Tuple_String_Expr configs = 1; - SpDataframeReader reader = 2; - SrcPosition src = 3; +// sp-df-expr.ir:35 +message SpDataframeToLocalIterator { + bool block = 1; + bool case_sensitive = 2; + VarId id = 3; + SrcPosition src = 4; + repeated Tuple_String_String statement_params = 5; } -// sp-df-io.ir:24 -message SpDataframeReaderSchema { - SpDataframeReader reader = 1; - SpStructType schema = 2; +// sp-df-expr.ir:106 +message SpDataframeToPandas { + bool block = 1; + VarId id = 2; SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; } -// sp-df-io.ir:29 -message SpDataframeReaderWithMetadata { - ExprArgList metadata_columns = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:112 +message SpDataframeToPandasBatches { + bool block = 1; + VarId id = 2; SrcPosition src = 3; + repeated Tuple_String_String statement_params = 4; } -// sp-df-io.ir:34 -message SpReadTable { - SpTableName name = 1; - SpDataframeReader reader = 2; - SrcPosition src = 3; +// sp-type.ir:3 +message SpDataframeType { + repeated string columns = 1; + repeated SpType tys = 2; } -// sp-df-io.ir:39 -message SpReadCsv { - string path = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:385 +message SpDataframeUnion { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; SrcPosition src = 3; } -// sp-df-io.ir:45 -message SpReadJson { - string path = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:390 +message SpDataframeUnionAll { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; SrcPosition src = 3; } -// sp-df-io.ir:50 -message SpReadAvro { - string path = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:395 +message SpDataframeUnionAllByName { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; SrcPosition src = 3; } -// sp-df-io.ir:55 -message SpReadOrc { - string path = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:400 +message SpDataframeUnionByName { + SpDataframeExpr df = 1; + SpDataframeExpr other = 2; SrcPosition src = 3; } -// sp-df-io.ir:60 -message SpReadParquet { - string path = 1; - SpDataframeReader reader = 2; - SrcPosition src = 3; +// sp-df-expr.ir:323 +message SpDataframeUnpivot { + repeated Expr column_list = 1; + SpDataframeExpr df = 2; + string name_column = 3; + SrcPosition src = 4; + string value_column = 5; } -// sp-df-io.ir:65 -message SpReadXml { - string path = 1; - SpDataframeReader reader = 2; +// sp-df-expr.ir:405 +message SpDataframeWhere { + SpColumnExpr condition = 1; + SpDataframeExpr df = 2; SrcPosition src = 3; } -message SpDataframeWriter { - oneof variant { - SpDataframeWriterOptions trait_sp_dataframe_writer_options = 1; - SpDataframeWriterSaveMode trait_sp_dataframe_writer_save_mode = 2; - SpWriteFile trait_sp_write_file = 3; - SpWriteCopyIntoLocation sp_write_copy_into_location = 4; - SpWriteCsv sp_write_csv = 5; - SpWriteJson sp_write_json = 6; - SpWriteParquet sp_write_parquet = 7; - SpWriteTable sp_write_table = 8; - } +// sp-df-expr.ir:410 +message SpDataframeWithColumn { + Expr col = 1; + string col_name = 2; + SpDataframeExpr df = 3; + SrcPosition src = 4; } -message SpDataframeWriterSaveMode { - oneof variant { - bool dummy = 1; - } +// sp-df-expr.ir:416 +message SpDataframeWithColumnRenamed { + Expr col = 1; + SpDataframeExpr df = 2; + string new_name = 3; + SrcPosition src = 4; } -message SpDataframeWriterOptions { - oneof variant { - bool dummy = 1; - } +// sp-df-expr.ir:422 +message SpDataframeWithColumns { + repeated string col_names = 1; + SpDataframeExpr df = 2; + SrcPosition src = 3; + repeated Expr values = 4; } -// sp-df-io.ir:102 +// sp-df-io.ir:84 message SpDataframeWrite { SpDataframeExpr df = 1; SpSaveMode save_mode = 2; SrcPosition src = 3; } -message SpWriteFile { +message SpDataframeWriter { oneof variant { - SpWriteCopyIntoLocation sp_write_copy_into_location = 1; - SpWriteCsv sp_write_csv = 2; - SpWriteJson sp_write_json = 3; - SpWriteParquet sp_write_parquet = 4; + SpWriteFile trait_sp_write_file = 1; + SpWriteCopyIntoLocation sp_write_copy_into_location = 2; + SpWriteCsv sp_write_csv = 3; + SpWriteJson sp_write_json = 4; + SpWriteParquet sp_write_parquet = 5; + SpWriteTable sp_write_table = 6; } } -// sp-df-io.ir:119 -message SpWriteCsv { - bool block = 1; - repeated Tuple_String_Expr copy_options = 2; - repeated Tuple_String_String format_type_options = 3; - bool header = 4; - VarId id = 5; - string location = 6; - Expr partition_by = 7; - SrcPosition src = 8; - repeated Tuple_String_String statement_params = 9; +// const.ir:114 +message SpDatatypeVal { + SpDataType datatype = 1; + SrcPosition src = 2; } -// sp-df-io.ir:123 -message SpWriteJson { - bool block = 1; - repeated Tuple_String_Expr copy_options = 2; - repeated Tuple_String_String format_type_options = 3; - bool header = 4; - VarId id = 5; - string location = 6; - Expr partition_by = 7; - SrcPosition src = 8; - repeated Tuple_String_String statement_params = 9; +// sp-df-expr.ir:66 +message SpFlatten { + Expr input = 1; + SpFlattenMode mode = 2; + bool outer = 3; + google.protobuf.StringValue path = 4; + bool recursive = 5; + SrcPosition src = 6; } -// sp-df-io.ir:127 -message SpWriteParquet { - bool block = 1; - repeated Tuple_String_Expr copy_options = 2; - repeated Tuple_String_String format_type_options = 3; - bool header = 4; - VarId id = 5; - string location = 6; - Expr partition_by = 7; - SrcPosition src = 8; - repeated Tuple_String_String statement_params = 9; +// expr-fn.ir:33 +message SpFnRef { + VarId id = 1; + SrcPosition src = 2; } -// sp-df-io.ir:131 -message SpWriteTable { - bool block = 1; - google.protobuf.BoolValue change_tracking = 2; - List_Expr clustering_keys = 3; - string column_order = 4; - google.protobuf.StringValue comment = 5; - bool copy_grants = 6; - bool create_temp_table = 7; - google.protobuf.Int64Value data_retention_time = 8; - google.protobuf.BoolValue enable_schema_evolution = 9; - repeated Tuple_String_String iceberg_config = 10; - VarId id = 11; - google.protobuf.Int64Value max_data_extension_time = 12; - SpSaveMode mode = 13; - SrcPosition src = 14; - repeated Tuple_String_String statement_params = 15; - SpTableName table_name = 16; - string table_type = 17; +// sp-df-expr.ir:76 +message SpGenerator { + repeated Expr columns = 1; + int64 row_count = 2; + SrcPosition src = 3; + int64 time_limit_seconds = 4; + bool variadic = 5; } -// sp-df-io.ir:152 -message SpWriteCopyIntoLocation { - bool block = 1; - repeated Tuple_String_Expr copy_options = 2; - google.protobuf.StringValue file_format_name = 3; - google.protobuf.StringValue file_format_type = 4; - repeated Tuple_String_String format_type_options = 5; - bool header = 6; - VarId id = 7; - string location = 8; - Expr partition_by = 9; - SrcPosition src = 10; - repeated Tuple_String_String statement_params = 11; +// sp-type.ir:8 +message SpGroupedDataframeType { + repeated string inner_columns = 1; + repeated string outer_columns = 2; +} + +// sp-df-expr.ir:434 +message SpGroupingSets { + ExprArgList sets = 1; + SrcPosition src = 2; +} + +message SpMatchedClause { + oneof variant { + SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 1; + SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 2; + SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 3; + } } -// sp-df-io.ir:162 -message SpDataframeCreateOrReplaceView { - google.protobuf.StringValue comment = 1; - SpDataframeExpr df = 2; - bool is_temp = 3; - repeated string name = 4; - SrcPosition src = 5; - repeated Tuple_String_String statement_params = 6; +// sp-df-expr.ir:499 +message SpMergeDeleteWhenMatchedClause { + Expr condition = 1; + SrcPosition src = 2; } -// sp-df-io.ir:170 -message SpDataframeCreateOrReplaceDynamicTable { - List_Expr clustering_keys = 1; - google.protobuf.StringValue comment = 2; - google.protobuf.Int64Value data_retention_time = 3; - SpDataframeExpr df = 4; - google.protobuf.StringValue initialize = 5; - bool is_transient = 6; - string lag = 7; - google.protobuf.Int64Value max_data_extension_time = 8; - SpSaveMode mode = 9; - repeated string name = 10; - google.protobuf.StringValue refresh_mode = 11; - SrcPosition src = 12; - repeated Tuple_String_String statement_params = 13; - string warehouse = 14; +// sp-df-expr.ir:503 +message SpMergeInsertWhenNotMatchedClause { + Expr condition = 1; + List_Expr insert_keys = 2; + List_Expr insert_values = 3; + SrcPosition src = 4; } -// sp-df-io.ir:186 -message SpDataframeCopyIntoTable { - repeated Tuple_String_Expr copy_options = 1; - SpDataframeExpr df = 2; - repeated string files = 3; - repeated Tuple_String_Expr format_type_options = 4; - repeated Tuple_String_String iceberg_config = 5; - google.protobuf.StringValue pattern = 6; - SrcPosition src = 7; - repeated Tuple_String_String statement_params = 8; - repeated string table_name = 9; - repeated string target_columns = 10; - repeated Expr transformations = 11; - google.protobuf.StringValue validation_mode = 12; +// sp-df-expr.ir:494 +message SpMergeUpdateWhenMatchedClause { + Expr condition = 1; + SrcPosition src = 2; + Map_Expr_Expr update_assignments = 3; } -// sp-df-io.ir:204 -message SpDataframeCacheResult { - SpDataframeExpr df = 1; +// sp-df-expr.ir:83 +message SpRange { + google.protobuf.Int64Value end = 1; SrcPosition src = 2; - repeated Tuple_String_String statement_params = 3; + int64 start = 3; + google.protobuf.Int64Value step = 4; } -// sp-df-stat.ir:1 -message SpDataframeStatApproxQuantile { - repeated Expr cols = 1; - VarId id = 2; - repeated double percentile = 3; - SrcPosition src = 4; - repeated Tuple_String_String statement_params = 5; +// sp-df-io.ir:49 +message SpReadAvro { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } -// sp-df-stat.ir:8 -message SpDataframeStatCorr { - Expr col1 = 1; - Expr col2 = 2; - VarId id = 3; - SrcPosition src = 4; - repeated Tuple_String_String statement_params = 5; +// sp-df-io.ir:38 +message SpReadCsv { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } -// sp-df-stat.ir:15 -message SpDataframeStatCov { - Expr col1 = 1; - Expr col2 = 2; - VarId id = 3; - SrcPosition src = 4; - repeated Tuple_String_String statement_params = 5; +// sp-df-io.ir:44 +message SpReadJson { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } -// sp-df-stat.ir:22 -message SpDataframeStatCrossTab { - Expr col1 = 1; - Expr col2 = 2; - VarId id = 3; - SrcPosition src = 4; - repeated Tuple_String_String statement_params = 5; +// sp-df-io.ir:54 +message SpReadOrc { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } -// sp-df-stat.ir:30 -message SpDataframeStatSampleBy { - Expr col = 1; - SpDataframeExpr df = 2; - repeated Tuple_Expr_Float fractions = 3; - SrcPosition src = 4; +// sp-df-io.ir:59 +message SpReadParquet { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } -message SpRelationalGroupedDataframeExpr { - oneof variant { - SpDataframeCube sp_dataframe_cube = 1; - SpDataframeGroupBy sp_dataframe_group_by = 2; - SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 3; - SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 4; - SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 5; - SpDataframePivot sp_dataframe_pivot = 6; - SpDataframeRollup sp_dataframe_rollup = 7; - SpDataframeRollup_Columns sp_dataframe_rollup__columns = 8; - SpDataframeRollup_Strings sp_dataframe_rollup__strings = 9; - SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 10; - } +// sp-df-io.ir:33 +message SpReadTable { + SpTableName name = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } -// sp-group.ir:4 -message SpRelationalGroupedDataframeRef { - VarId id = 1; - SrcPosition src = 2; +// sp-df-io.ir:64 +message SpReadXml { + string path = 1; + SpDataframeReader reader = 2; + SrcPosition src = 3; } // sp-group.ir:8 @@ -2828,6 +2415,15 @@ message SpRelationalGroupedDataframeAgg { SrcPosition src = 3; } +// sp-group.ir:20 +message SpRelationalGroupedDataframeApplyInPandas { + SpCallable func = 1; + SpRelationalGroupedDataframeExpr grouped_df = 2; + repeated Tuple_String_Expr kwargs = 3; + SpStructType output_schema = 4; + SrcPosition src = 5; +} + // sp-group.ir:14 message SpRelationalGroupedDataframeBuiltin { string agg_name = 1; @@ -2836,13 +2432,19 @@ message SpRelationalGroupedDataframeBuiltin { SrcPosition src = 4; } -// sp-group.ir:20 -message SpRelationalGroupedDataframeApplyInPandas { - SpCallable func = 1; - SpRelationalGroupedDataframeExpr grouped_df = 2; - repeated Tuple_String_Expr kwargs = 3; - SpStructType output_schema = 4; - SrcPosition src = 5; +message SpRelationalGroupedDataframeExpr { + oneof variant { + SpDataframeCube sp_dataframe_cube = 1; + SpDataframeGroupBy sp_dataframe_group_by = 2; + SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 3; + SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 4; + SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 5; + SpDataframePivot sp_dataframe_pivot = 6; + SpDataframeRollup sp_dataframe_rollup = 7; + SpDataframeRollup_Columns sp_dataframe_rollup__columns = 8; + SpDataframeRollup_Strings sp_dataframe_rollup__strings = 9; + SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 10; + } } // sp-group.ir:27 @@ -2854,20 +2456,64 @@ message SpRelationalGroupedDataframePivot { SpPivotValue values = 5; } -// sp-misc.ir:12 +// sp-group.ir:4 +message SpRelationalGroupedDataframeRef { + VarId id = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:2 message SpRow { List_String names = 1; SrcPosition src = 2; repeated Expr vs = 3; } -// sp-misc.ir:17 -message ExprArgList { - repeated Expr args = 1; - bool variadic = 2; +// sp-df-expr.ir:102 +message SpSessionTableFunction { + Expr fn = 1; + SrcPosition src = 2; +} + +// sp-df-expr.ir:89 +message SpSql { + repeated Expr params = 1; + string query = 2; + SrcPosition src = 3; +} + +// sp-df-expr.ir:96 +message SpTable { + bool is_temp_table_for_cleanup = 1; + SpTableName name = 2; + SrcPosition src = 3; + SpTableVariant variant = 4; +} + +// sp-df-expr.ir:509 +message SpTableDelete { + bool block = 1; + Expr condition = 2; + VarId id = 3; + SpDataframeExpr source = 4; + SrcPosition src = 5; + repeated Tuple_String_String statement_params = 6; +} + +// sp-df-expr.ir:517 +message SpTableDropTable { + VarId id = 1; + SrcPosition src = 2; +} + +// expr-fn.ir:164 +message SpTableFnCallAlias { + ExprArgList aliases = 1; + Expr lhs = 2; + SrcPosition src = 3; } -// sp-table-function-call.ir:9 +// expr-fn.ir:158 message SpTableFnCallOver { Expr lhs = 1; repeated Expr order_by = 2; @@ -2875,409 +2521,336 @@ message SpTableFnCallOver { SrcPosition src = 4; } -// sp-table-function-call.ir:15 -message SpTableFnCallAlias { - ExprArgList aliases = 1; - Expr lhs = 2; - SrcPosition src = 3; +// sp-df-expr.ir:521 +message SpTableMerge { + bool block = 1; + repeated SpMatchedClause clauses = 2; + VarId id = 3; + Expr join_expr = 4; + SpDataframeExpr source = 5; + SrcPosition src = 6; + repeated Tuple_String_String statement_params = 7; } -// sp-type.ir:1 -message SpDataframeType { - repeated string columns = 1; - repeated Type tys = 2; +// sp-df-expr.ir:530 +message SpTableSample { + SpDataframeExpr df = 1; + google.protobuf.Int64Value num = 2; + google.protobuf.DoubleValue probability_fraction = 3; + google.protobuf.StringValue sampling_method = 4; + google.protobuf.Int64Value seed = 5; + SrcPosition src = 6; } -// sp-type.ir:6 -message SpGroupedDataframeType { - repeated string inner_columns = 1; - repeated string outer_columns = 2; +// sp-df-expr.ir:538 +message SpTableUpdate { + repeated Tuple_String_Expr assignments = 1; + bool block = 2; + Expr condition = 3; + VarId id = 4; + SpDataframeExpr source = 5; + SrcPosition src = 6; + repeated Tuple_String_String statement_params = 7; } -// sp-type.ir:11 -message SpWindowType { +message SpType { + oneof variant { + SpColExprType sp_col_expr_type = 1; + SpDataframeType sp_dataframe_type = 2; + SpGroupedDataframeType sp_grouped_dataframe_type = 3; + SpWindowType sp_window_type = 4; + } } -// sp-type.ir:13 -message SpColExprType { - Type typ = 1; +// expr-window.ir:18 +message SpWindowSpecEmpty { + SrcPosition src = 1; + SpWindowSpecExpr wnd = 2; } -message HasSrcPosition { +message SpWindowSpecExpr { oneof variant { - BinOp trait_bin_op = 1; - Const trait_const = 2; - Expr trait_expr = 3; - FnIdRefExpr trait_fn_id_ref_expr = 4; - FnNameRefExpr trait_fn_name_ref_expr = 5; - FnRefExpr trait_fn_ref_expr = 6; - SpColumnExpr trait_sp_column_expr = 7; - SpColumnFn trait_sp_column_fn = 8; - SpDataframeExpr trait_sp_dataframe_expr = 9; - SpDataframeReader trait_sp_dataframe_reader = 10; - SpDataframeWriter trait_sp_dataframe_writer = 11; - SpDataframeWriterOptions trait_sp_dataframe_writer_options = 12; - SpDataframeWriterSaveMode trait_sp_dataframe_writer_save_mode = 13; - SpMatchedClause trait_sp_matched_clause = 14; - SpRelationalGroupedDataframeExpr trait_sp_relational_grouped_dataframe_expr = 15; - SpWindowSpecExpr trait_sp_window_spec_expr = 16; - SpWriteFile trait_sp_write_file = 17; - UnaryOp trait_unary_op = 18; - Add add = 19; - And and = 20; - ApplyExpr apply_expr = 21; - BigDecimalVal big_decimal_val = 22; - BigIntVal big_int_val = 23; - BinaryVal binary_val = 24; - BitAnd bit_and = 25; - BitOr bit_or = 26; - BitXor bit_xor = 27; - BoolVal bool_val = 28; - BuiltinFn builtin_fn = 29; - CallTableFunctionExpr call_table_function_expr = 30; - CastExpr cast_expr = 31; - DateVal date_val = 32; - Div div = 33; - Eq eq = 34; - Float64Val float64_val = 35; - FnVal fn_val = 36; - Geq geq = 37; - Gt gt = 38; - IfExpr if_expr = 39; - IndirectTableFnIdRef indirect_table_fn_id_ref = 40; - IndirectTableFnNameRef indirect_table_fn_name_ref = 41; - Int32Val int32_val = 42; - Int64Val int64_val = 43; - Leq leq = 44; - ListVal list_val = 45; - Lt lt = 46; - Mod mod = 47; - Mul mul = 48; - Neg neg = 49; - Neq neq = 50; - NoneVal none_val = 51; - Not not = 52; - NullVal null_val = 53; - ObjectGetItem object_get_item = 54; - Or or = 55; - PdDataframe pd_dataframe = 56; - PdDataframeGetItem pd_dataframe_get_item = 57; - PdDataframeILoc pd_dataframe_i_loc = 58; - PdDataframeLoc pd_dataframe_loc = 59; - PdDataframeSetItem pd_dataframe_set_item = 60; - PdDropNa pd_drop_na = 61; - PdRepr pd_repr = 62; - Pow pow = 63; - PythonDateVal python_date_val = 64; - PythonTimeVal python_time_val = 65; - PythonTimestampVal python_timestamp_val = 66; - RangeVal range_val = 67; - Ref ref = 68; - SeqMapVal seq_map_val = 69; - SomeVal some_val = 70; - SpCaseExpr sp_case_expr = 71; - SpColumnAlias sp_column_alias = 72; - SpColumnApply_Int sp_column_apply__int = 73; - SpColumnApply_String sp_column_apply__string = 74; - SpColumnAsc sp_column_asc = 75; - SpColumnBetween sp_column_between = 76; - SpColumnCaseWhen sp_column_case_when = 77; - SpColumnCast sp_column_cast = 78; - SpColumnDesc sp_column_desc = 79; - SpColumnEqualNan sp_column_equal_nan = 80; - SpColumnEqualNull sp_column_equal_null = 81; - SpColumnIn_Dataframe sp_column_in__dataframe = 82; - SpColumnIn_Seq sp_column_in__seq = 83; - SpColumnIsNotNull sp_column_is_not_null = 84; - SpColumnIsNull sp_column_is_null = 85; - SpColumnName sp_column_name = 86; - SpColumnOver sp_column_over = 87; - SpColumnRef sp_column_ref = 88; - SpColumnSqlExpr sp_column_sql_expr = 89; - SpColumnStringCollate sp_column_string_collate = 90; - SpColumnStringContains sp_column_string_contains = 91; - SpColumnStringEndsWith sp_column_string_ends_with = 92; - SpColumnStringLike sp_column_string_like = 93; - SpColumnStringRegexp sp_column_string_regexp = 94; - SpColumnStringStartsWith sp_column_string_starts_with = 95; - SpColumnStringSubstr sp_column_string_substr = 96; - SpColumnTryCast sp_column_try_cast = 97; - SpColumnWithinGroup sp_column_within_group = 98; - SpCreateDataframe sp_create_dataframe = 99; - SpDataframeAgg sp_dataframe_agg = 100; - SpDataframeAlias sp_dataframe_alias = 101; - SpDataframeAnalyticsComputeLag sp_dataframe_analytics_compute_lag = 102; - SpDataframeAnalyticsComputeLead sp_dataframe_analytics_compute_lead = 103; - SpDataframeAnalyticsCumulativeAgg sp_dataframe_analytics_cumulative_agg = 104; - SpDataframeAnalyticsMovingAgg sp_dataframe_analytics_moving_agg = 105; - SpDataframeAnalyticsTimeSeriesAgg sp_dataframe_analytics_time_series_agg = 106; - SpDataframeApply sp_dataframe_apply = 107; - SpDataframeCacheResult sp_dataframe_cache_result = 108; - SpDataframeCol sp_dataframe_col = 109; - SpDataframeCollect sp_dataframe_collect = 110; - SpDataframeCopyIntoTable sp_dataframe_copy_into_table = 111; - SpDataframeCount sp_dataframe_count = 112; - SpDataframeCreateOrReplaceDynamicTable sp_dataframe_create_or_replace_dynamic_table = 113; - SpDataframeCreateOrReplaceView sp_dataframe_create_or_replace_view = 114; - SpDataframeCrossJoin sp_dataframe_cross_join = 115; - SpDataframeCube sp_dataframe_cube = 116; - SpDataframeDescribe sp_dataframe_describe = 117; - SpDataframeDistinct sp_dataframe_distinct = 118; - SpDataframeDrop sp_dataframe_drop = 119; - SpDataframeDropDuplicates sp_dataframe_drop_duplicates = 120; - SpDataframeExcept sp_dataframe_except = 121; - SpDataframeFilter sp_dataframe_filter = 122; - SpDataframeFirst sp_dataframe_first = 123; - SpDataframeFlatten sp_dataframe_flatten = 124; - SpDataframeGroupBy sp_dataframe_group_by = 125; - SpDataframeGroupByGroupingSets sp_dataframe_group_by_grouping_sets = 126; - SpDataframeGroupBy_Columns sp_dataframe_group_by__columns = 127; - SpDataframeGroupBy_Strings sp_dataframe_group_by__strings = 128; - SpDataframeIntersect sp_dataframe_intersect = 129; - SpDataframeJoin sp_dataframe_join = 130; - SpDataframeJoinTableFunction sp_dataframe_join_table_function = 131; - SpDataframeJoin_Dataframe_JoinExprs sp_dataframe_join__dataframe__join_exprs = 132; - SpDataframeJoin_Dataframe_UsingColumns sp_dataframe_join__dataframe__using_columns = 133; - SpDataframeLimit sp_dataframe_limit = 134; - SpDataframeNaDrop_Python sp_dataframe_na_drop__python = 135; - SpDataframeNaDrop_Scala sp_dataframe_na_drop__scala = 136; - SpDataframeNaFill sp_dataframe_na_fill = 137; - SpDataframeNaReplace sp_dataframe_na_replace = 138; - SpDataframeNaturalJoin sp_dataframe_natural_join = 139; - SpDataframePivot sp_dataframe_pivot = 140; - SpDataframeRandomSplit sp_dataframe_random_split = 141; - SpDataframeReaderInit sp_dataframe_reader_init = 142; - SpDataframeReaderOption sp_dataframe_reader_option = 143; - SpDataframeReaderOptions sp_dataframe_reader_options = 144; - SpDataframeReaderSchema sp_dataframe_reader_schema = 145; - SpDataframeReaderWithMetadata sp_dataframe_reader_with_metadata = 146; - SpDataframeRef sp_dataframe_ref = 147; - SpDataframeRename sp_dataframe_rename = 148; - SpDataframeRollup sp_dataframe_rollup = 149; - SpDataframeRollup_Columns sp_dataframe_rollup__columns = 150; - SpDataframeRollup_Strings sp_dataframe_rollup__strings = 151; - SpDataframeSample sp_dataframe_sample = 152; - SpDataframeSelect_Columns sp_dataframe_select__columns = 153; - SpDataframeSelect_Exprs sp_dataframe_select__exprs = 154; - SpDataframeShow sp_dataframe_show = 155; - SpDataframeSort sp_dataframe_sort = 156; - SpDataframeStatApproxQuantile sp_dataframe_stat_approx_quantile = 157; - SpDataframeStatCorr sp_dataframe_stat_corr = 158; - SpDataframeStatCov sp_dataframe_stat_cov = 159; - SpDataframeStatCrossTab sp_dataframe_stat_cross_tab = 160; - SpDataframeStatSampleBy sp_dataframe_stat_sample_by = 161; - SpDataframeToDf sp_dataframe_to_df = 162; - SpDataframeToLocalIterator sp_dataframe_to_local_iterator = 163; - SpDataframeToPandas sp_dataframe_to_pandas = 164; - SpDataframeToPandasBatches sp_dataframe_to_pandas_batches = 165; - SpDataframeUnion sp_dataframe_union = 166; - SpDataframeUnionAll sp_dataframe_union_all = 167; - SpDataframeUnionAllByName sp_dataframe_union_all_by_name = 168; - SpDataframeUnionByName sp_dataframe_union_by_name = 169; - SpDataframeUnpivot sp_dataframe_unpivot = 170; - SpDataframeWhere sp_dataframe_where = 171; - SpDataframeWithColumn sp_dataframe_with_column = 172; - SpDataframeWithColumnRenamed sp_dataframe_with_column_renamed = 173; - SpDataframeWithColumns sp_dataframe_with_columns = 174; - SpDataframeWrite sp_dataframe_write = 175; - SpDatatypeVal sp_datatype_val = 176; - SpFlatten sp_flatten = 177; - SpFnRef sp_fn_ref = 178; - SpGenerator sp_generator = 179; - SpGroupingSets sp_grouping_sets = 180; - SpMergeDeleteWhenMatchedClause sp_merge_delete_when_matched_clause = 181; - SpMergeInsertWhenNotMatchedClause sp_merge_insert_when_not_matched_clause = 182; - SpMergeUpdateWhenMatchedClause sp_merge_update_when_matched_clause = 183; - SpRange sp_range = 184; - SpReadAvro sp_read_avro = 185; - SpReadCsv sp_read_csv = 186; - SpReadJson sp_read_json = 187; - SpReadOrc sp_read_orc = 188; - SpReadParquet sp_read_parquet = 189; - SpReadTable sp_read_table = 190; - SpReadXml sp_read_xml = 191; - SpRelationalGroupedDataframeAgg sp_relational_grouped_dataframe_agg = 192; - SpRelationalGroupedDataframeApplyInPandas sp_relational_grouped_dataframe_apply_in_pandas = 193; - SpRelationalGroupedDataframeBuiltin sp_relational_grouped_dataframe_builtin = 194; - SpRelationalGroupedDataframePivot sp_relational_grouped_dataframe_pivot = 195; - SpRelationalGroupedDataframeRef sp_relational_grouped_dataframe_ref = 196; - SpRow sp_row = 197; - SpSessionTableFunction sp_session_table_function = 198; - SpSql sp_sql = 199; - SpStoredProcedure sp_stored_procedure = 200; - SpTable sp_table = 201; - SpTableDelete sp_table_delete = 202; - SpTableDropTable sp_table_drop_table = 203; - SpTableFnCallAlias sp_table_fn_call_alias = 204; - SpTableFnCallOver sp_table_fn_call_over = 205; - SpTableMerge sp_table_merge = 206; - SpTableSample sp_table_sample = 207; - SpTableUpdate sp_table_update = 208; - SpWindowSpecEmpty sp_window_spec_empty = 209; - SpWindowSpecOrderBy sp_window_spec_order_by = 210; - SpWindowSpecPartitionBy sp_window_spec_partition_by = 211; - SpWindowSpecRangeBetween sp_window_spec_range_between = 212; - SpWindowSpecRowsBetween sp_window_spec_rows_between = 213; - SpWriteCopyIntoLocation sp_write_copy_into_location = 214; - SpWriteCsv sp_write_csv = 215; - SpWriteJson sp_write_json = 216; - SpWritePandas sp_write_pandas = 217; - SpWriteParquet sp_write_parquet = 218; - SpWriteTable sp_write_table = 219; - StoredProcedure stored_procedure = 220; - StringVal string_val = 221; - Sub sub = 222; - TimeVal time_val = 223; - TimestampVal timestamp_val = 224; - TupleVal tuple_val = 225; - Udaf udaf = 226; - Udf udf = 227; - Udtf udtf = 228; + SpWindowSpecEmpty sp_window_spec_empty = 1; + SpWindowSpecOrderBy sp_window_spec_order_by = 2; + SpWindowSpecPartitionBy sp_window_spec_partition_by = 3; + SpWindowSpecRangeBetween sp_window_spec_range_between = 4; + SpWindowSpecRowsBetween sp_window_spec_rows_between = 5; } } -message Stmt { - oneof variant { - Assign assign = 1; - Eval eval = 2; - } +// expr-window.ir:20 +message SpWindowSpecOrderBy { + repeated Expr cols = 1; + SrcPosition src = 2; + SpWindowSpecExpr wnd = 3; } -// stmt.ir:3 -message Assign { - Expr expr = 1; - google.protobuf.StringValue symbol = 2; - int64 uid = 3; - VarId var_id = 4; +// expr-window.ir:24 +message SpWindowSpecPartitionBy { + repeated Expr cols = 1; + SrcPosition src = 2; + SpWindowSpecExpr wnd = 3; } -// stmt.ir:11 -message Eval { - int64 uid = 1; - VarId var_id = 2; +// expr-window.ir:28 +message SpWindowSpecRangeBetween { + SpWindowRelativePosition end = 1; + SrcPosition src = 2; + SpWindowRelativePosition start = 3; + SpWindowSpecExpr wnd = 4; } -message Type { - oneof variant { - NumericType trait_numeric_type = 1; - ScalarType trait_scalar_type = 2; - AnyType any_type = 3; - BoolType bool_type = 4; - Float64Type float64_type = 5; - FnType fn_type = 6; - Int32Type int32_type = 7; - Int64Type int64_type = 8; - ListType list_type = 9; - MapType map_type = 10; - NothingType nothing_type = 11; - NumberType number_type = 12; - OptionType option_type = 13; - PdReprType pd_repr_type = 14; - SpColExprType sp_col_expr_type = 15; - SpDataframeType sp_dataframe_type = 16; - SpGroupedDataframeType sp_grouped_dataframe_type = 17; - SpWindowType sp_window_type = 18; - StringType string_type = 19; - TupleType tuple_type = 20; - TyVar ty_var = 21; - UnitType unit_type = 22; - UnknownType unknown_type = 23; - } +// expr-window.ir:33 +message SpWindowSpecRowsBetween { + SpWindowRelativePosition end = 1; + SrcPosition src = 2; + SpWindowRelativePosition start = 3; + SpWindowSpecExpr wnd = 4; } -// type.ir:3 -message UnknownType { +// sp-type.ir:13 +message SpWindowType { } -// type.ir:5 -message AnyType { +// sp-df-io.ir:133 +message SpWriteCopyIntoLocation { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + google.protobuf.StringValue file_format_name = 3; + google.protobuf.StringValue file_format_type = 4; + repeated Tuple_String_String format_type_options = 5; + bool header = 6; + VarId id = 7; + string location = 8; + Expr partition_by = 9; + SrcPosition src = 10; + repeated Tuple_String_String statement_params = 11; } -message ScalarType { - oneof variant { - NumericType trait_numeric_type = 1; - BoolType bool_type = 2; - Float64Type float64_type = 3; - Int32Type int32_type = 4; - Int64Type int64_type = 5; - NumberType number_type = 6; - UnitType unit_type = 7; - } +// sp-df-io.ir:100 +message SpWriteCsv { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + repeated Tuple_String_String format_type_options = 3; + bool header = 4; + VarId id = 5; + string location = 6; + Expr partition_by = 7; + SrcPosition src = 8; + repeated Tuple_String_String statement_params = 9; } -message NumericType { +message SpWriteFile { oneof variant { - Float64Type float64_type = 1; - Int32Type int32_type = 2; - Int64Type int64_type = 3; - NumberType number_type = 4; + SpWriteCopyIntoLocation sp_write_copy_into_location = 1; + SpWriteCsv sp_write_csv = 2; + SpWriteJson sp_write_json = 3; + SpWriteParquet sp_write_parquet = 4; } } -// type.ir:11 -message NumberType { +// sp-df-io.ir:104 +message SpWriteJson { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + repeated Tuple_String_String format_type_options = 3; + bool header = 4; + VarId id = 5; + string location = 6; + Expr partition_by = 7; + SrcPosition src = 8; + repeated Tuple_String_String statement_params = 9; } -// type.ir:13 -message NothingType { +// sp-df-expr.ir:51 +message SpWritePandas { + bool auto_create_table = 1; + google.protobuf.Int64Value chunk_size = 2; + string compression = 3; + bool create_temp_table = 4; + SpDataframeData df = 5; + repeated Tuple_String_Expr kwargs = 6; + string on_error = 7; + bool overwrite = 8; + int64 parallel = 9; + bool quote_identifiers = 10; + SrcPosition src = 11; + SpTableName table_name = 12; + string table_type = 13; } -// type.ir:15 -message UnitType { +// sp-df-io.ir:108 +message SpWriteParquet { + bool block = 1; + repeated Tuple_String_Expr copy_options = 2; + repeated Tuple_String_String format_type_options = 3; + bool header = 4; + VarId id = 5; + string location = 6; + Expr partition_by = 7; + SrcPosition src = 8; + repeated Tuple_String_String statement_params = 9; } -// type.ir:17 -message BoolType { +// sp-df-io.ir:112 +message SpWriteTable { + bool block = 1; + google.protobuf.BoolValue change_tracking = 2; + List_Expr clustering_keys = 3; + string column_order = 4; + google.protobuf.StringValue comment = 5; + bool copy_grants = 6; + bool create_temp_table = 7; + google.protobuf.Int64Value data_retention_time = 8; + google.protobuf.BoolValue enable_schema_evolution = 9; + repeated Tuple_String_String iceberg_config = 10; + VarId id = 11; + google.protobuf.Int64Value max_data_extension_time = 12; + SpSaveMode mode = 13; + SrcPosition src = 14; + repeated Tuple_String_String statement_params = 15; + SpTableName table_name = 16; + string table_type = 17; } -// type.ir:19 -message Int32Type { +message Stmt { + oneof variant { + Assign assign = 1; + Eval eval = 2; + } } -// type.ir:21 -message Int64Type { +// expr-fn.ir:40 +message StoredProcedure { + google.protobuf.StringValue comment = 1; + string execute_as = 2; + repeated string external_access_integrations = 3; + SpCallable func = 4; + bool if_not_exists = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + google.protobuf.BoolValue log_on_exception = 10; + FnName name = 11; + repeated string packages = 12; + int64 parallel = 13; + bool replace = 14; + SpDataType return_type = 15; + repeated Tuple_String_String secrets = 16; + bool source_code_display = 17; + SrcPosition src = 18; + string stage_location = 19; + repeated Tuple_String_String statement_params = 20; + bool strict = 21; } -// type.ir:23 -message Float64Type { +// const.ir:51 +message StringVal { + SrcPosition src = 1; + string v = 2; } -// type.ir:25 -message StringType { +// expr-op.ir:44 +message Sub { + Expr lhs = 1; + Expr rhs = 2; + SrcPosition src = 3; } -// type.ir:27 -message PdReprType { +// const.ir:71 +message TimeVal { + SrcPosition src = 1; + int64 v = 2; } -// type.ir:34 -message FnType { - repeated Type params = 1; - Type ret = 2; +// const.ir:63 +message TimestampVal { + SrcPosition src = 1; + int64 v = 2; } -// type.ir:39 -message OptionType { - Type typ = 1; +// expr.ir:14 +message TupleVal { + SrcPosition src = 1; + repeated Expr vs = 2; } -// type.ir:43 -message TupleType { - repeated Type tys = 1; +// expr-fn.ir:118 +message Udaf { + google.protobuf.StringValue comment = 1; + repeated string external_access_integrations = 2; + SpCallable handler = 3; + bool if_not_exists = 4; + bool immutable = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + FnName name = 10; + repeated string packages = 11; + int64 parallel = 12; + bool replace = 13; + SpDataType return_type = 14; + repeated Tuple_String_String secrets = 15; + SrcPosition src = 16; + google.protobuf.StringValue stage_location = 17; + repeated Tuple_String_String statement_params = 18; } -// type.ir:47 -message ListType { - Type typ = 1; +// expr-fn.ir:64 +message Udf { + google.protobuf.StringValue comment = 1; + repeated string external_access_integrations = 2; + SpCallable func = 3; + bool if_not_exists = 4; + bool immutable = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + google.protobuf.Int64Value max_batch_size = 10; + FnName name = 11; + repeated string packages = 12; + int64 parallel = 13; + bool replace = 14; + SpDataType return_type = 15; + repeated Tuple_String_String secrets = 16; + bool secure = 17; + bool source_code_display = 18; + SrcPosition src = 19; + string stage_location = 20; + repeated Tuple_String_String statement_params = 21; + bool strict = 22; } -// type.ir:51 -message MapType { - Type k = 1; - Type v = 2; +// expr-fn.ir:95 +message Udtf { + google.protobuf.StringValue comment = 1; + repeated string external_access_integrations = 2; + SpCallable handler = 3; + bool if_not_exists = 4; + bool immutable = 5; + repeated SpTableName imports = 6; + List_SpDataType input_types = 7; + bool is_permanent = 8; + repeated Tuple_String_Expr kwargs = 9; + FnName name = 10; + UdtfSchema output_schema = 11; + repeated string packages = 12; + int64 parallel = 13; + bool replace = 14; + repeated Tuple_String_String secrets = 15; + bool secure = 16; + SrcPosition src = 17; + string stage_location = 18; + repeated Tuple_String_String statement_params = 19; + bool strict = 20; } -// type.ir:56 -message TyVar { - string id = 1; +message UnaryOp { + oneof variant { + Neg neg = 1; + Not not = 2; + } } diff --git a/src/snowflake/snowpark/column.py b/src/snowflake/snowpark/column.py index aacb647bbad..cb752b2bd05 100644 --- a/src/snowflake/snowpark/column.py +++ b/src/snowflake/snowpark/column.py @@ -4,6 +4,7 @@ # import sys +import typing from typing import Any, Optional, Union import snowflake.snowpark @@ -1230,16 +1231,19 @@ def __repr__(self): @publicapi def as_(self, alias: str, _emit_ast: bool = True) -> "Column": """Returns a new renamed Column. Alias of :func:`name`.""" - return self.name(alias, variant_is_as=True, _emit_ast=_emit_ast) + return self.name(alias, variant="as_", _emit_ast=_emit_ast) @publicapi def alias(self, alias: str, _emit_ast: bool = True) -> "Column": """Returns a new renamed Column. Alias of :func:`name`.""" - return self.name(alias, variant_is_as=False, _emit_ast=_emit_ast) + return self.name(alias, variant="alias", _emit_ast=_emit_ast) @publicapi def name( - self, alias: str, variant_is_as: bool = None, _emit_ast: bool = True + self, + alias: str, + variant: typing.Literal["as_", "alias", "name"] = "name", + _emit_ast: bool = True, ) -> "Column": """Returns a new renamed Column.""" expr = self._expression # Snowpark expression @@ -1252,8 +1256,13 @@ def name( ast = with_src_position(ast_expr.sp_column_alias) ast.col.CopyFrom(self._ast) ast.name = alias - if variant_is_as is not None: - ast.variant_is_as.value = variant_is_as + if variant == "as_": + ast.fn.sp_column_alias_fn_as = True + elif variant == "alias": + ast.fn.sp_column_alias_fn_alias = True + elif variant == "name": + ast.fn.sp_column_alias_fn_name = True + return Column( Alias(expr, quote_name(alias)), _ast=ast_expr, _emit_ast=_emit_ast ) diff --git a/tests/ast/data/DataFrame.agg.test b/tests/ast/data/DataFrame.agg.test index f2d3bee54d7..1d0b94f4b75 100644 --- a/tests/ast/data/DataFrame.agg.test +++ b/tests/ast/data/DataFrame.agg.test @@ -505,5 +505,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.collect.test b/tests/ast/data/DataFrame.collect.test index 20cf1ce843e..e3d816e10b3 100644 --- a/tests/ast/data/DataFrame.collect.test +++ b/tests/ast/data/DataFrame.collect.test @@ -331,5 +331,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.count.test b/tests/ast/data/DataFrame.count.test index 642703de955..9812983c459 100644 --- a/tests/ast/data/DataFrame.count.test +++ b/tests/ast/data/DataFrame.count.test @@ -164,5 +164,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.count2.test b/tests/ast/data/DataFrame.count2.test index b372fc7145c..1dbdcfe5b7a 100644 --- a/tests/ast/data/DataFrame.count2.test +++ b/tests/ast/data/DataFrame.count2.test @@ -193,5 +193,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.create_or_replace.test b/tests/ast/data/DataFrame.create_or_replace.test index 435a0b5c0f3..57fae63d20c 100644 --- a/tests/ast/data/DataFrame.create_or_replace.test +++ b/tests/ast/data/DataFrame.create_or_replace.test @@ -579,5 +579,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.cross_join.lsuffix.test b/tests/ast/data/DataFrame.cross_join.lsuffix.test index 26468e248bf..4fab953ca41 100644 --- a/tests/ast/data/DataFrame.cross_join.lsuffix.test +++ b/tests/ast/data/DataFrame.cross_join.lsuffix.test @@ -168,5 +168,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.cross_join.rsuffix.test b/tests/ast/data/DataFrame.cross_join.rsuffix.test index 8671029146b..255c341f868 100644 --- a/tests/ast/data/DataFrame.cross_join.rsuffix.test +++ b/tests/ast/data/DataFrame.cross_join.rsuffix.test @@ -168,5 +168,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.cross_join.suffix.test b/tests/ast/data/DataFrame.cross_join.suffix.test index 76ae6b75716..6d481cf9aec 100644 --- a/tests/ast/data/DataFrame.cross_join.suffix.test +++ b/tests/ast/data/DataFrame.cross_join.suffix.test @@ -171,5 +171,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.describe.test b/tests/ast/data/DataFrame.describe.test index 89e1dec002c..da7e0c955ab 100644 --- a/tests/ast/data/DataFrame.describe.test +++ b/tests/ast/data/DataFrame.describe.test @@ -195,5 +195,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.flatten.test b/tests/ast/data/DataFrame.flatten.test index 320232f5ac8..365228d6d6e 100644 --- a/tests/ast/data/DataFrame.flatten.test +++ b/tests/ast/data/DataFrame.flatten.test @@ -172,5 +172,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.indexers.test b/tests/ast/data/DataFrame.indexers.test index d83637b417e..924bce6432d 100644 --- a/tests/ast/data/DataFrame.indexers.test +++ b/tests/ast/data/DataFrame.indexers.test @@ -210,5 +210,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.inner.column.test b/tests/ast/data/DataFrame.join.inner.column.test index 1aea9f9c41c..a85150c0607 100644 --- a/tests/ast/data/DataFrame.join.inner.column.test +++ b/tests/ast/data/DataFrame.join.inner.column.test @@ -154,6 +154,9 @@ body { } } } + fn { + sp_column_alias_fn_alias: true + } name: "n1" src { end_column: 61 @@ -162,8 +165,6 @@ body { start_column: 42 start_line: 29 } - variant_is_as { - } } } cols { @@ -243,5 +244,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.inner.column_list.test b/tests/ast/data/DataFrame.join.inner.column_list.test index a68f862a803..1881dae875d 100644 --- a/tests/ast/data/DataFrame.join.inner.column_list.test +++ b/tests/ast/data/DataFrame.join.inner.column_list.test @@ -200,5 +200,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.inner.column_list_predicate.test b/tests/ast/data/DataFrame.join.inner.column_list_predicate.test index 0af641b8e00..65d689c2a27 100644 --- a/tests/ast/data/DataFrame.join.inner.column_list_predicate.test +++ b/tests/ast/data/DataFrame.join.inner.column_list_predicate.test @@ -251,6 +251,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "num_1" src { end_column: 111 @@ -259,9 +262,6 @@ body { start_column: 88 start_line: 29 } - variant_is_as { - value: true - } } } cols { @@ -285,6 +285,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "str_1" src { end_column: 136 @@ -293,9 +296,6 @@ body { start_column: 113 start_line: 29 } - variant_is_as { - value: true - } } } df { @@ -337,5 +337,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.inner.predicate.test b/tests/ast/data/DataFrame.join.inner.predicate.test index 4d61c45f54e..525de3be9b2 100644 --- a/tests/ast/data/DataFrame.join.inner.predicate.test +++ b/tests/ast/data/DataFrame.join.inner.predicate.test @@ -191,6 +191,9 @@ body { } } } + fn { + sp_column_alias_fn_alias: true + } name: "num1" src { end_column: 76 @@ -199,8 +202,6 @@ body { start_column: 55 start_line: 29 } - variant_is_as { - } } } cols { @@ -224,6 +225,9 @@ body { } } } + fn { + sp_column_alias_fn_alias: true + } name: "num2" src { end_column: 99 @@ -232,8 +236,6 @@ body { start_column: 78 start_line: 29 } - variant_is_as { - } } } cols { @@ -294,5 +296,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.inner.predicate_rsuffix.test b/tests/ast/data/DataFrame.join.inner.predicate_rsuffix.test index 9cbc96c5055..3990fe7c878 100644 --- a/tests/ast/data/DataFrame.join.inner.predicate_rsuffix.test +++ b/tests/ast/data/DataFrame.join.inner.predicate_rsuffix.test @@ -284,5 +284,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.left_outer.column.test b/tests/ast/data/DataFrame.join.left_outer.column.test index 42e8fb5141f..3c03971e737 100644 --- a/tests/ast/data/DataFrame.join.left_outer.column.test +++ b/tests/ast/data/DataFrame.join.left_outer.column.test @@ -200,5 +200,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.join.right_outer.predicate.test b/tests/ast/data/DataFrame.join.right_outer.predicate.test index bc96f3ea17e..808d634419c 100644 --- a/tests/ast/data/DataFrame.join.right_outer.predicate.test +++ b/tests/ast/data/DataFrame.join.right_outer.predicate.test @@ -221,5 +221,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.natural_join.test b/tests/ast/data/DataFrame.natural_join.test index c2d5bf4bf90..898e8b4c068 100644 --- a/tests/ast/data/DataFrame.natural_join.test +++ b/tests/ast/data/DataFrame.natural_join.test @@ -168,5 +168,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.pivot.test b/tests/ast/data/DataFrame.pivot.test index 27af32cde58..cfa22419b30 100644 --- a/tests/ast/data/DataFrame.pivot.test +++ b/tests/ast/data/DataFrame.pivot.test @@ -767,5 +767,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.select_expr.test b/tests/ast/data/DataFrame.select_expr.test index 836c407c165..8d1bb735b89 100644 --- a/tests/ast/data/DataFrame.select_expr.test +++ b/tests/ast/data/DataFrame.select_expr.test @@ -200,5 +200,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.stat.test b/tests/ast/data/DataFrame.stat.test index 38a2c20669c..b4b8fd80020 100644 --- a/tests/ast/data/DataFrame.stat.test +++ b/tests/ast/data/DataFrame.stat.test @@ -1218,5 +1218,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.to_df.test b/tests/ast/data/DataFrame.to_df.test index dacf13cd382..7c18a278101 100644 --- a/tests/ast/data/DataFrame.to_df.test +++ b/tests/ast/data/DataFrame.to_df.test @@ -123,5 +123,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.to_local_iterator.test b/tests/ast/data/DataFrame.to_local_iterator.test index dbf97928139..b7a46a2126c 100644 --- a/tests/ast/data/DataFrame.to_local_iterator.test +++ b/tests/ast/data/DataFrame.to_local_iterator.test @@ -402,5 +402,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.to_pandas.test b/tests/ast/data/DataFrame.to_pandas.test index 5b1a6f22568..6f8e1d39243 100644 --- a/tests/ast/data/DataFrame.to_pandas.test +++ b/tests/ast/data/DataFrame.to_pandas.test @@ -205,5 +205,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.to_pandas_batch.test b/tests/ast/data/DataFrame.to_pandas_batch.test index 80d38f09786..d968dda46bf 100644 --- a/tests/ast/data/DataFrame.to_pandas_batch.test +++ b/tests/ast/data/DataFrame.to_pandas_batch.test @@ -205,5 +205,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.unpivot.test b/tests/ast/data/DataFrame.unpivot.test index 515cf698f3b..3ff1ba8523c 100644 --- a/tests/ast/data/DataFrame.unpivot.test +++ b/tests/ast/data/DataFrame.unpivot.test @@ -234,5 +234,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataFrame.write.test b/tests/ast/data/DataFrame.write.test index 89bddcf56d0..c7fa8b69353 100644 --- a/tests/ast/data/DataFrame.write.test +++ b/tests/ast/data/DataFrame.write.test @@ -1149,5 +1149,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.cube.test b/tests/ast/data/Dataframe.cube.test index 52faa8bc772..2b2a14cc20d 100644 --- a/tests/ast/data/Dataframe.cube.test +++ b/tests/ast/data/Dataframe.cube.test @@ -535,5 +535,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.distinct.test b/tests/ast/data/Dataframe.distinct.test index 0f898b53b0a..78e238fb70c 100644 --- a/tests/ast/data/Dataframe.distinct.test +++ b/tests/ast/data/Dataframe.distinct.test @@ -84,5 +84,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.drop_duplicates.test b/tests/ast/data/Dataframe.drop_duplicates.test index 04c6b08fcde..aa3d3f389c9 100644 --- a/tests/ast/data/Dataframe.drop_duplicates.test +++ b/tests/ast/data/Dataframe.drop_duplicates.test @@ -223,5 +223,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.filter.test b/tests/ast/data/Dataframe.filter.test index b8a6f30609e..a0b0b95fa24 100644 --- a/tests/ast/data/Dataframe.filter.test +++ b/tests/ast/data/Dataframe.filter.test @@ -383,5 +383,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.getitem.test b/tests/ast/data/Dataframe.getitem.test index 57e6f9da98c..6b54b3b3200 100644 --- a/tests/ast/data/Dataframe.getitem.test +++ b/tests/ast/data/Dataframe.getitem.test @@ -286,5 +286,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.group_by.test b/tests/ast/data/Dataframe.group_by.test index 90de9b9ba5a..fe5743cfa89 100644 --- a/tests/ast/data/Dataframe.group_by.test +++ b/tests/ast/data/Dataframe.group_by.test @@ -535,5 +535,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.group_by_grouping_sets.test b/tests/ast/data/Dataframe.group_by_grouping_sets.test index 92559997a63..474207cb198 100644 --- a/tests/ast/data/Dataframe.group_by_grouping_sets.test +++ b/tests/ast/data/Dataframe.group_by_grouping_sets.test @@ -1059,5 +1059,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.join.asof.test b/tests/ast/data/Dataframe.join.asof.test index 3469c5a2153..39c7f1d7853 100644 --- a/tests/ast/data/Dataframe.join.asof.test +++ b/tests/ast/data/Dataframe.join.asof.test @@ -747,5 +747,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.join.prefix.test b/tests/ast/data/Dataframe.join.prefix.test index 89a21a3842e..7ca4ace3601 100644 --- a/tests/ast/data/Dataframe.join.prefix.test +++ b/tests/ast/data/Dataframe.join.prefix.test @@ -398,6 +398,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "\"A\"" src { end_column: 91 @@ -406,9 +409,6 @@ body { start_column: 60 start_line: 29 } - variant_is_as { - value: true - } } } cols { @@ -812,5 +812,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.rollup.test b/tests/ast/data/Dataframe.rollup.test index faa533a0419..6aec072b133 100644 --- a/tests/ast/data/Dataframe.rollup.test +++ b/tests/ast/data/Dataframe.rollup.test @@ -535,5 +535,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Dataframe.with_col_fns.test b/tests/ast/data/Dataframe.with_col_fns.test index 17337ee90d5..d425c6c83bf 100644 --- a/tests/ast/data/Dataframe.with_col_fns.test +++ b/tests/ast/data/Dataframe.with_col_fns.test @@ -929,5 +929,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/DataframeNaFunctions.test b/tests/ast/data/DataframeNaFunctions.test index 2b1279b7ace..9b264c2abd1 100644 --- a/tests/ast/data/DataframeNaFunctions.test +++ b/tests/ast/data/DataframeNaFunctions.test @@ -720,5 +720,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/RelationalGroupedDataFrame.agg.test b/tests/ast/data/RelationalGroupedDataFrame.agg.test index 1dcd5ad54bc..7dd45a94935 100644 --- a/tests/ast/data/RelationalGroupedDataFrame.agg.test +++ b/tests/ast/data/RelationalGroupedDataFrame.agg.test @@ -1325,5 +1325,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/RelationalGroupedDataFrame.test b/tests/ast/data/RelationalGroupedDataFrame.test index 4d4307ec1e7..f074d226f0c 100644 --- a/tests/ast/data/RelationalGroupedDataFrame.test +++ b/tests/ast/data/RelationalGroupedDataFrame.test @@ -1794,5 +1794,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Session.call.test b/tests/ast/data/Session.call.test index 12b32b4ee20..8e654fc5455 100644 --- a/tests/ast/data/Session.call.test +++ b/tests/ast/data/Session.call.test @@ -544,5 +544,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Session.create_dataframe.test b/tests/ast/data/Session.create_dataframe.test index e1b2710208b..4e95b7005df 100644 --- a/tests/ast/data/Session.create_dataframe.test +++ b/tests/ast/data/Session.create_dataframe.test @@ -1033,5 +1033,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Session.flatten.test b/tests/ast/data/Session.flatten.test index dafb76ae665..a37dd623dbd 100644 --- a/tests/ast/data/Session.flatten.test +++ b/tests/ast/data/Session.flatten.test @@ -163,5 +163,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Session.table_function.test b/tests/ast/data/Session.table_function.test index 123d0361647..aaf23841e03 100644 --- a/tests/ast/data/Session.table_function.test +++ b/tests/ast/data/Session.table_function.test @@ -614,5 +614,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Table.delete.test b/tests/ast/data/Table.delete.test index eec5667ae5b..db6e0dd9577 100644 --- a/tests/ast/data/Table.delete.test +++ b/tests/ast/data/Table.delete.test @@ -559,5 +559,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Table.drop_table.test b/tests/ast/data/Table.drop_table.test index 0514102fd4e..78554d30755 100644 --- a/tests/ast/data/Table.drop_table.test +++ b/tests/ast/data/Table.drop_table.test @@ -87,5 +87,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Table.init.test b/tests/ast/data/Table.init.test index 76d210ef01b..1405a9168d0 100644 --- a/tests/ast/data/Table.init.test +++ b/tests/ast/data/Table.init.test @@ -149,5 +149,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Table.merge.test b/tests/ast/data/Table.merge.test index 83de3c5f3ac..a198b0f9cf6 100644 --- a/tests/ast/data/Table.merge.test +++ b/tests/ast/data/Table.merge.test @@ -1552,5 +1552,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Table.sample.test b/tests/ast/data/Table.sample.test index 95e9c7d5999..261c348c800 100644 --- a/tests/ast/data/Table.sample.test +++ b/tests/ast/data/Table.sample.test @@ -171,5 +171,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/Table.update.test b/tests/ast/data/Table.update.test index d7e6526994a..099c8235b2c 100644 --- a/tests/ast/data/Table.update.test +++ b/tests/ast/data/Table.update.test @@ -716,5 +716,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/case_when.test b/tests/ast/data/case_when.test index ac61ab3cf39..fc0a33de31b 100644 --- a/tests/ast/data/case_when.test +++ b/tests/ast/data/case_when.test @@ -1879,5 +1879,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_alias.test b/tests/ast/data/col_alias.test index 137a3fd18f6..2809c30463b 100644 --- a/tests/ast/data/col_alias.test +++ b/tests/ast/data/col_alias.test @@ -94,6 +94,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "test" src { end_column: 44 @@ -102,9 +105,6 @@ body { start_column: 24 start_line: 29 } - variant_is_as { - value: true - } } } df { @@ -171,6 +171,9 @@ body { } } } + fn { + sp_column_alias_fn_alias: true + } name: "test" src { end_column: 46 @@ -179,8 +182,6 @@ body { start_column: 24 start_line: 31 } - variant_is_as { - } } } df { @@ -247,6 +248,9 @@ body { } } } + fn { + sp_column_alias_fn_name: true + } name: "test" src { end_column: 45 @@ -344,6 +348,9 @@ body { } } } + fn { + sp_column_alias_fn_name: true + } name: "test" src { end_column: 51 @@ -393,5 +400,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_asc.test b/tests/ast/data/col_asc.test index a84977b2d4d..d938cd948bf 100644 --- a/tests/ast/data/col_asc.test +++ b/tests/ast/data/col_asc.test @@ -289,5 +289,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_between.test b/tests/ast/data/col_between.test index 0e52df2f5c5..bfd087c2510 100644 --- a/tests/ast/data/col_between.test +++ b/tests/ast/data/col_between.test @@ -173,5 +173,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_binops.test b/tests/ast/data/col_binops.test index 835f08459a3..e024945b763 100644 --- a/tests/ast/data/col_binops.test +++ b/tests/ast/data/col_binops.test @@ -1578,5 +1578,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_bitops.test b/tests/ast/data/col_bitops.test index 2c67d3a26a6..a372d42ed23 100644 --- a/tests/ast/data/col_bitops.test +++ b/tests/ast/data/col_bitops.test @@ -379,5 +379,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_cast.test b/tests/ast/data/col_cast.test index e6103f608b6..7aef766a752 100644 --- a/tests/ast/data/col_cast.test +++ b/tests/ast/data/col_cast.test @@ -2262,5 +2262,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_cast_coll.test b/tests/ast/data/col_cast_coll.test index 7836596fd62..e177bafcaff 100644 --- a/tests/ast/data/col_cast_coll.test +++ b/tests/ast/data/col_cast_coll.test @@ -789,5 +789,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_desc.test b/tests/ast/data/col_desc.test index ed46de65ba2..4156c2d0c0b 100644 --- a/tests/ast/data/col_desc.test +++ b/tests/ast/data/col_desc.test @@ -287,5 +287,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_getitem.test b/tests/ast/data/col_getitem.test index c5de430267e..cfd832481fc 100644 --- a/tests/ast/data/col_getitem.test +++ b/tests/ast/data/col_getitem.test @@ -174,5 +174,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_in_.test b/tests/ast/data/col_in_.test index 9f45a1699f6..4d274a9a283 100644 --- a/tests/ast/data/col_in_.test +++ b/tests/ast/data/col_in_.test @@ -351,5 +351,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_literal.test b/tests/ast/data/col_literal.test index b01e74ea416..eeb5fb1f308 100644 --- a/tests/ast/data/col_literal.test +++ b/tests/ast/data/col_literal.test @@ -3700,5 +3700,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_null_nan.test b/tests/ast/data/col_null_nan.test index 2614d5571e6..b6d6e58ca28 100644 --- a/tests/ast/data/col_null_nan.test +++ b/tests/ast/data/col_null_nan.test @@ -392,5 +392,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_rbinops.test b/tests/ast/data/col_rbinops.test index ee2371a92b9..df979444eee 100644 --- a/tests/ast/data/col_rbinops.test +++ b/tests/ast/data/col_rbinops.test @@ -764,5 +764,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_star.test b/tests/ast/data/col_star.test index b71519d4d4d..30f8ccab0ad 100644 --- a/tests/ast/data/col_star.test +++ b/tests/ast/data/col_star.test @@ -98,5 +98,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_string.test b/tests/ast/data/col_string.test index 21409eb788f..f24483d46d7 100644 --- a/tests/ast/data/col_string.test +++ b/tests/ast/data/col_string.test @@ -727,5 +727,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_try_cast.test b/tests/ast/data/col_try_cast.test index 2ec3a7e422a..f08d7d65a8d 100644 --- a/tests/ast/data/col_try_cast.test +++ b/tests/ast/data/col_try_cast.test @@ -2262,5 +2262,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_udf.test b/tests/ast/data/col_udf.test index 96cd379962d..ca400f44ed8 100644 --- a/tests/ast/data/col_udf.test +++ b/tests/ast/data/col_udf.test @@ -214,6 +214,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "ans" src { end_column: 46 @@ -222,9 +225,6 @@ body { start_column: 18 start_line: 33 } - variant_is_as { - value: true - } } } df { @@ -403,6 +403,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "a_Ans" src { end_column: 60 @@ -411,9 +414,6 @@ body { start_column: 18 start_line: 39 } - variant_is_as { - value: true - } } } df { @@ -779,5 +779,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/col_unary_ops.test b/tests/ast/data/col_unary_ops.test index 33843eb64f8..274b38655ce 100644 --- a/tests/ast/data/col_unary_ops.test +++ b/tests/ast/data/col_unary_ops.test @@ -206,5 +206,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_alias.test b/tests/ast/data/df_alias.test index f7da9a64540..67779141393 100644 --- a/tests/ast/data/df_alias.test +++ b/tests/ast/data/df_alias.test @@ -85,5 +85,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_analytics_functions.test b/tests/ast/data/df_analytics_functions.test index 8d505e95449..ecdc1dfd84c 100644 --- a/tests/ast/data/df_analytics_functions.test +++ b/tests/ast/data/df_analytics_functions.test @@ -962,5 +962,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_col.test b/tests/ast/data/df_col.test index 244702db308..d87e8e885fa 100644 --- a/tests/ast/data/df_col.test +++ b/tests/ast/data/df_col.test @@ -143,5 +143,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_drop.test b/tests/ast/data/df_drop.test index 78f7ae3fa74..63bb867e551 100644 --- a/tests/ast/data/df_drop.test +++ b/tests/ast/data/df_drop.test @@ -120,5 +120,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_except.test b/tests/ast/data/df_except.test index 4703ef305c5..883dbb6a290 100644 --- a/tests/ast/data/df_except.test +++ b/tests/ast/data/df_except.test @@ -125,5 +125,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_first.test b/tests/ast/data/df_first.test index 833372a9c04..e661e2a451f 100644 --- a/tests/ast/data/df_first.test +++ b/tests/ast/data/df_first.test @@ -281,5 +281,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_intersect.test b/tests/ast/data/df_intersect.test index a3d4c16c45d..36622ec5c1c 100644 --- a/tests/ast/data/df_intersect.test +++ b/tests/ast/data/df_intersect.test @@ -126,5 +126,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_limit.test b/tests/ast/data/df_limit.test index 3a94a35870a..1637cdbea03 100644 --- a/tests/ast/data/df_limit.test +++ b/tests/ast/data/df_limit.test @@ -208,5 +208,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_random_split.test b/tests/ast/data/df_random_split.test index bdd4ae4627e..92cc7332f33 100644 --- a/tests/ast/data/df_random_split.test +++ b/tests/ast/data/df_random_split.test @@ -694,5 +694,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_sample.test b/tests/ast/data/df_sample.test index ede24c1d23f..285473f1822 100644 --- a/tests/ast/data/df_sample.test +++ b/tests/ast/data/df_sample.test @@ -123,5 +123,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_sort.test b/tests/ast/data/df_sort.test index bf58a627081..bd1ee72bd9a 100644 --- a/tests/ast/data/df_sort.test +++ b/tests/ast/data/df_sort.test @@ -628,5 +628,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/df_union.test b/tests/ast/data/df_union.test index a8f84467f0f..af93bdd974f 100644 --- a/tests/ast/data/df_union.test +++ b/tests/ast/data/df_union.test @@ -313,5 +313,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/functions.test b/tests/ast/data/functions.test index 88cc2ece1c9..9d47f6ffe29 100644 --- a/tests/ast/data/functions.test +++ b/tests/ast/data/functions.test @@ -46775,5 +46775,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/interval.test b/tests/ast/data/interval.test index 7e7180feadd..518915e9963 100644 --- a/tests/ast/data/interval.test +++ b/tests/ast/data/interval.test @@ -1072,5 +1072,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/select.test b/tests/ast/data/select.test index eba5879e77a..382738ffbca 100644 --- a/tests/ast/data/select.test +++ b/tests/ast/data/select.test @@ -150,5 +150,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session.read.test b/tests/ast/data/session.read.test index d33c0add035..c69ac6c1e5a 100644 --- a/tests/ast/data/session.read.test +++ b/tests/ast/data/session.read.test @@ -551,5 +551,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session.sql.test b/tests/ast/data/session.sql.test index 993ea57a9e5..db3374c2e08 100644 --- a/tests/ast/data/session.sql.test +++ b/tests/ast/data/session.sql.test @@ -146,5 +146,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_generator.test b/tests/ast/data/session_generator.test index 3137498a600..20457925282 100644 --- a/tests/ast/data/session_generator.test +++ b/tests/ast/data/session_generator.test @@ -461,5 +461,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_range.test b/tests/ast/data/session_range.test index c27bca4edc4..150a9f0cfd0 100644 --- a/tests/ast/data/session_range.test +++ b/tests/ast/data/session_range.test @@ -173,5 +173,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_dq_abs_l.test b/tests/ast/data/session_table_dq_abs_l.test index 34d9e813b9a..0eb47a49232 100644 --- a/tests/ast/data/session_table_dq_abs_l.test +++ b/tests/ast/data/session_table_dq_abs_l.test @@ -118,5 +118,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_dq_abs_s.test b/tests/ast/data/session_table_dq_abs_s.test index 7b34fa70ee2..d980d97ff2a 100644 --- a/tests/ast/data/session_table_dq_abs_s.test +++ b/tests/ast/data/session_table_dq_abs_s.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_dq_rs_l.test b/tests/ast/data/session_table_dq_rs_l.test index dd8b733df78..6cbed8a7fc1 100644 --- a/tests/ast/data/session_table_dq_rs_l.test +++ b/tests/ast/data/session_table_dq_rs_l.test @@ -117,5 +117,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_dq_rs_s.test b/tests/ast/data/session_table_dq_rs_s.test index 5a06f0f29df..a80667305d6 100644 --- a/tests/ast/data/session_table_dq_rs_s.test +++ b/tests/ast/data/session_table_dq_rs_s.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_dq_rt_l.test b/tests/ast/data/session_table_dq_rt_l.test index 9855b13d223..8491eb771f3 100644 --- a/tests/ast/data/session_table_dq_rt_l.test +++ b/tests/ast/data/session_table_dq_rt_l.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_dq_rt_s.test b/tests/ast/data/session_table_dq_rt_s.test index bcd0cae2b17..86d701c6771 100644 --- a/tests/ast/data/session_table_dq_rt_s.test +++ b/tests/ast/data/session_table_dq_rt_s.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_uq_abs_l.test b/tests/ast/data/session_table_uq_abs_l.test index afb9c3d6785..63eed45febd 100644 --- a/tests/ast/data/session_table_uq_abs_l.test +++ b/tests/ast/data/session_table_uq_abs_l.test @@ -118,5 +118,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_uq_abs_s.test b/tests/ast/data/session_table_uq_abs_s.test index 2f44e19155e..b0734323bf5 100644 --- a/tests/ast/data/session_table_uq_abs_s.test +++ b/tests/ast/data/session_table_uq_abs_s.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_uq_rs_l.test b/tests/ast/data/session_table_uq_rs_l.test index aec7353dbde..d204c93f375 100644 --- a/tests/ast/data/session_table_uq_rs_l.test +++ b/tests/ast/data/session_table_uq_rs_l.test @@ -117,5 +117,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_uq_rs_s.test b/tests/ast/data/session_table_uq_rs_s.test index d373b40c706..aea26629eb4 100644 --- a/tests/ast/data/session_table_uq_rs_s.test +++ b/tests/ast/data/session_table_uq_rs_s.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_uq_rt_l.test b/tests/ast/data/session_table_uq_rt_l.test index 60342d07c2a..b63cd4f230b 100644 --- a/tests/ast/data/session_table_uq_rt_l.test +++ b/tests/ast/data/session_table_uq_rt_l.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_table_uq_rt_s.test b/tests/ast/data/session_table_uq_rt_s.test index 6ecae125ca7..0717c716e75 100644 --- a/tests/ast/data/session_table_uq_rt_s.test +++ b/tests/ast/data/session_table_uq_rt_s.test @@ -116,5 +116,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/session_write_pandas.test b/tests/ast/data/session_write_pandas.test index 8ece687571f..9e5528ef8b6 100644 --- a/tests/ast/data/session_write_pandas.test +++ b/tests/ast/data/session_write_pandas.test @@ -136,5 +136,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/shadowed_local_name.test b/tests/ast/data/shadowed_local_name.test index f220c820339..18df65b37ac 100644 --- a/tests/ast/data/shadowed_local_name.test +++ b/tests/ast/data/shadowed_local_name.test @@ -206,5 +206,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/sproc.test b/tests/ast/data/sproc.test index 764338868cc..9b8dc413f0e 100644 --- a/tests/ast/data/sproc.test +++ b/tests/ast/data/sproc.test @@ -2230,5 +2230,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/udaf.test b/tests/ast/data/udaf.test index 2d6bae89a92..02cce263c7c 100644 --- a/tests/ast/data/udaf.test +++ b/tests/ast/data/udaf.test @@ -635,5 +635,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/udtf.test b/tests/ast/data/udtf.test index 7cc4a96d3b8..aec345c0174 100644 --- a/tests/ast/data/udtf.test +++ b/tests/ast/data/udtf.test @@ -1840,5 +1840,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 } diff --git a/tests/ast/data/windows.test b/tests/ast/data/windows.test index b6a71d141c5..272559c87ad 100644 --- a/tests/ast/data/windows.test +++ b/tests/ast/data/windows.test @@ -148,6 +148,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "key" src { end_column: 44 @@ -156,9 +159,6 @@ body { start_column: 23 start_line: 31 } - variant_is_as { - value: true - } } } cols { @@ -195,6 +195,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "value" src { end_column: 69 @@ -203,9 +206,6 @@ body { start_column: 46 start_line: 31 } - variant_is_as { - value: true - } } } df { @@ -430,6 +430,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "window1" src { end_column: 65 @@ -438,9 +441,6 @@ body { start_column: 24 start_line: 37 } - variant_is_as { - value: true - } } } cols { @@ -590,6 +590,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "window2" src { end_column: 108 @@ -598,9 +601,6 @@ body { start_column: 67 start_line: 37 } - variant_is_as { - value: true - } } } df { @@ -2481,6 +2481,9 @@ body { } } } + fn { + sp_column_alias_fn_as: true + } name: "window1" src { end_column: 59 @@ -2489,9 +2492,6 @@ body { start_column: 25 start_line: 65 } - variant_is_as { - value: true - } } } df { @@ -2533,5 +2533,5 @@ client_language { } client_version { major: 1 - minor: 25 + minor: 26 }