Skip to content

Commit 1e1a900

Browse files
committed
Merge branch 'vbudati/SNOW-1794510-merge-decoder' into sproc_test
2 parents ba68bfb + 0d59038 commit 1e1a900

File tree

4 files changed

+1049
-955
lines changed

4 files changed

+1049
-955
lines changed

src/snowflake/snowpark/_internal/proto/ast.proto

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
syntax = "proto3";
55

66
option java_package = "com.snowflake.snowpark.proto";
7+
option java_outer_classname = "JavaProto";
78

89
package ast;
910

@@ -14,6 +15,10 @@ enum __Version__ {
1415
MAX_VERSION = 1;
1516
}
1617

18+
message InternedValueTable {
19+
map<int32, string> string_values = 1;
20+
}
21+
1722
message List_Expr {
1823
repeated Expr list = 1;
1924
}
@@ -22,6 +27,10 @@ message List_SpDataType {
2227
repeated SpDataType list = 1;
2328
}
2429

30+
message List_SpStructField {
31+
repeated SpStructField list = 1;
32+
}
33+
2534
message List_String {
2635
repeated string list = 1;
2736
}
@@ -59,7 +68,7 @@ message Tuple_String_String {
5968
string _2 = 2;
6069
}
6170

62-
// ast.ir:15
71+
// ast.ir:17
6372
message Language {
6473
oneof sealed_value {
6574
JavaLanguage java_language = 1;
@@ -68,17 +77,17 @@ message Language {
6877
}
6978
}
7079

71-
// ast.ir:16
80+
// ast.ir:18
7281
message PythonLanguage {
7382
Version version = 1;
7483
}
7584

76-
// ast.ir:17
85+
// ast.ir:19
7786
message ScalaLanguage {
7887
Version version = 1;
7988
}
8089

81-
// ast.ir:18
90+
// ast.ir:20
8291
message JavaLanguage {
8392
Version version = 1;
8493
}
@@ -174,7 +183,7 @@ message SpStructField {
174183

175184
// sp-type.ir:46
176185
message SpStructType {
177-
repeated SpStructField fields = 1;
186+
List_SpStructField fields = 1;
178187
bool structured = 2;
179188
}
180189

@@ -358,7 +367,7 @@ message SpWindowRelativePosition_Position {
358367
message SrcPosition {
359368
int64 end_column = 1;
360369
int64 end_line = 2;
361-
string file = 3;
370+
int32 file = 3;
362371
int64 start_column = 4;
363372
int64 start_line = 5;
364373
}
@@ -386,12 +395,12 @@ message UdtfSchema_Names {
386395
repeated string schema = 1;
387396
}
388397

389-
// ast.ir:53
398+
// ast.ir:55
390399
message VarId {
391400
uint64 bitfield1 = 1;
392401
}
393402

394-
// ast.ir:21
403+
// ast.ir:23
395404
message Version {
396405
string label = 1;
397406
int64 major = 2;
@@ -421,7 +430,7 @@ message ApplyExpr {
421430
SrcPosition src = 4;
422431
}
423432

424-
// ast.ir:34
433+
// ast.ir:36
425434
message Assign {
426435
Expr expr = 1;
427436
google.protobuf.StringValue symbol = 2;
@@ -559,13 +568,13 @@ message Error {
559568
}
560569
}
561570

562-
// ast.ir:42
571+
// ast.ir:44
563572
message Eval {
564573
int64 uid = 1;
565574
VarId var_id = 2;
566575
}
567576

568-
// ast.ir:64
577+
// ast.ir:66
569578
message EvalOk {
570579
EvalResult data = 1;
571580
int64 uid = 2;
@@ -1236,15 +1245,17 @@ message Ref {
12361245

12371246
// ast.ir:4
12381247
message Request {
1239-
repeated Stmt body = 1;
1240-
int64 client_ast_version = 2;
1241-
Language client_language = 3;
1242-
Version client_version = 4;
1248+
InternedValueTable interned_value_table = 1;
1249+
repeated Stmt body = 2;
1250+
int64 client_ast_version = 3;
1251+
Language client_language = 4;
1252+
Version client_version = 5;
12431253
}
12441254

1245-
// ast.ir:11
1255+
// ast.ir:12
12461256
message Response {
1247-
repeated Result body = 1;
1257+
InternedValueTable interned_value_table = 1;
1258+
repeated Result body = 2;
12481259
}
12491260

12501261
message Result {
@@ -1261,13 +1272,13 @@ message SeqMapVal {
12611272
SrcPosition src = 2;
12621273
}
12631274

1264-
// ast.ir:90
1275+
// ast.ir:92
12651276
message SessionResetRequiredError {
12661277
int64 uid = 1;
12671278
VarId var_id = 2;
12681279
}
12691280

1270-
// ast.ir:79
1281+
// ast.ir:81
12711282
message SfQueryResult {
12721283
string uuid = 1;
12731284
}

src/snowflake/snowpark/types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -784,7 +784,7 @@ def json_value(self) -> Dict[str, Any]:
784784
def _fill_ast(self, ast: proto.SpDataType) -> None:
785785
ast.sp_struct_type.structured = self.structured
786786
for field in self.fields:
787-
field._fill_ast(ast.sp_struct_type.fields.add())
787+
field._fill_ast(ast.sp_struct_type.fields.list.add())
788788

789789

790790
class VariantType(DataType):

tests/ast/data/sproc.test

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,11 @@ res33 = sproc("select_sp", return_type=StructType([StructField("A", IntegerType(
173173

174174
session.sql("SELECT 1 as A, 2 as B").show()
175175

176-
res37 = sproc("select_sp", return_type=StructType([], structured=False), input_types=[IntegerType(), IntegerType()], source_code_display=False, _registered_object_name="\"MOCK_DATABASE\".\"MOCK_SCHEMA\".\"SNOWPARK_TEMP_PROCEDURE_xxx\"")(1, 2)
176+
res37 = sproc("select_sp", return_type=StructType(structured=False), input_types=[IntegerType(), IntegerType()], source_code_display=False, _registered_object_name="\"MOCK_DATABASE\".\"MOCK_SCHEMA\".\"SNOWPARK_TEMP_PROCEDURE_xxx\"")(1, 2)
177177

178178
session.sql("SELECT 1 as A, 2 as B").show()
179179

180-
res41 = sproc("select_sp", return_type=StructType([], structured=False), input_types=[LongType(), LongType()], _registered_object_name="\"MOCK_DATABASE\".\"MOCK_SCHEMA\".\"SNOWPARK_TEMP_PROCEDURE_xxx\"")(1, 2)
180+
res41 = sproc("select_sp", return_type=StructType(structured=False), input_types=[LongType(), LongType()], _registered_object_name="\"MOCK_DATABASE\".\"MOCK_SCHEMA\".\"SNOWPARK_TEMP_PROCEDURE_xxx\"")(1, 2)
181181

182182
session.sql("SELECT 1 as A, 2 as B").show()
183183

@@ -1603,22 +1603,24 @@ body {
16031603
return_type {
16041604
sp_struct_type {
16051605
fields {
1606-
column_identifier {
1607-
name: "A"
1608-
}
1609-
data_type {
1610-
sp_integer_type: true
1611-
}
1612-
nullable: true
1613-
}
1614-
fields {
1615-
column_identifier {
1616-
name: "B"
1606+
list {
1607+
column_identifier {
1608+
name: "A"
1609+
}
1610+
data_type {
1611+
sp_integer_type: true
1612+
}
1613+
nullable: true
16171614
}
1618-
data_type {
1619-
sp_integer_type: true
1615+
list {
1616+
column_identifier {
1617+
name: "B"
1618+
}
1619+
data_type {
1620+
sp_integer_type: true
1621+
}
1622+
nullable: true
16201623
}
1621-
nullable: true
16221624
}
16231625
}
16241626
}

0 commit comments

Comments
 (0)