Skip to content

Commit 6d16961

Browse files
SNOW-1794510 Support missing functionality in the decoder (#2937)
1. Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR. Fixes SNOW-1794510 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. Added functionality for DataFrame reader and writer, fixed the AST used with `column.in_` in the decoder, and a couple bug fixes.
1 parent 0391c5c commit 6d16961

File tree

10 files changed

+552
-184
lines changed

10 files changed

+552
-184
lines changed

tests/ast/data/DataFrame.count2.test

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,26 +37,28 @@ body {
3737
sp_dataframe_schema__struct {
3838
v {
3939
fields {
40-
column_identifier {
41-
name: "\"A\""
42-
}
43-
data_type {
44-
sp_string_type {
45-
length {
46-
value: 16777216
40+
list {
41+
column_identifier {
42+
name: "\"A\""
43+
}
44+
data_type {
45+
sp_string_type {
46+
length {
47+
value: 16777216
48+
}
4749
}
4850
}
51+
nullable: true
4952
}
50-
nullable: true
51-
}
52-
fields {
53-
column_identifier {
54-
name: "\"B\""
55-
}
56-
data_type {
57-
sp_long_type: true
53+
list {
54+
column_identifier {
55+
name: "\"B\""
56+
}
57+
data_type {
58+
sp_long_type: true
59+
}
60+
nullable: true
5861
}
59-
nullable: true
6062
}
6163
}
6264
}

tests/ast/data/Dataframe.to_snowpark_pandas.test

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ body {
3737
}
3838
}
3939
src {
40-
end_column: 41
41-
end_line: 25
4240
file: "SRC_POSITION_TEST_MODE"
43-
start_column: 13
4441
start_line: 25
4542
}
4643
variant {
@@ -69,10 +66,7 @@ body {
6966
}
7067
}
7168
src {
72-
end_column: 52
73-
end_line: 27
7469
file: "SRC_POSITION_TEST_MODE"
75-
start_column: 29
7670
start_line: 27
7771
}
7872
}
@@ -101,10 +95,7 @@ body {
10195
list: "A"
10296
}
10397
src {
104-
end_column: 65
105-
end_line: 29
10698
file: "SRC_POSITION_TEST_MODE"
107-
start_column: 29
10899
start_line: 29
109100
}
110101
}
@@ -134,10 +125,7 @@ body {
134125
}
135126
}
136127
src {
137-
end_column: 70
138-
end_line: 31
139128
file: "SRC_POSITION_TEST_MODE"
140-
start_column: 29
141129
start_line: 31
142130
}
143131
}
@@ -170,10 +158,7 @@ body {
170158
list: "A"
171159
}
172160
src {
173-
end_column: 87
174-
end_line: 33
175161
file: "SRC_POSITION_TEST_MODE"
176-
start_column: 29
177162
start_line: 33
178163
}
179164
}

tests/ast/data/case_when.test

Lines changed: 88 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,10 @@ body {
5757
expr {
5858
sp_table {
5959
name {
60-
sp_table_name_flat {
61-
name: "table1"
60+
name {
61+
sp_name_flat {
62+
name: "table1"
63+
}
6264
}
6365
}
6466
src {
@@ -91,8 +93,10 @@ body {
9193
fn {
9294
builtin_fn {
9395
name {
94-
fn_name_flat {
95-
name: "col"
96+
name {
97+
sp_name_flat {
98+
name: "col"
99+
}
96100
}
97101
}
98102
}
@@ -169,8 +173,10 @@ body {
169173
fn {
170174
builtin_fn {
171175
name {
172-
fn_name_flat {
173-
name: "col"
176+
name {
177+
sp_name_flat {
178+
name: "col"
179+
}
174180
}
175181
}
176182
}
@@ -227,8 +233,10 @@ body {
227233
fn {
228234
builtin_fn {
229235
name {
230-
fn_name_flat {
231-
name: "col"
236+
name {
237+
sp_name_flat {
238+
name: "col"
239+
}
232240
}
233241
}
234242
}
@@ -335,8 +343,10 @@ body {
335343
fn {
336344
builtin_fn {
337345
name {
338-
fn_name_flat {
339-
name: "col"
346+
name {
347+
sp_name_flat {
348+
name: "col"
349+
}
340350
}
341351
}
342352
}
@@ -389,8 +399,10 @@ body {
389399
fn {
390400
builtin_fn {
391401
name {
392-
fn_name_flat {
393-
name: "col"
402+
name {
403+
sp_name_flat {
404+
name: "col"
405+
}
394406
}
395407
}
396408
}
@@ -421,8 +433,10 @@ body {
421433
fn {
422434
builtin_fn {
423435
name {
424-
fn_name_flat {
425-
name: "col"
436+
name {
437+
sp_name_flat {
438+
name: "col"
439+
}
426440
}
427441
}
428442
}
@@ -486,8 +500,10 @@ body {
486500
fn {
487501
builtin_fn {
488502
name {
489-
fn_name_flat {
490-
name: "col"
503+
name {
504+
sp_name_flat {
505+
name: "col"
506+
}
491507
}
492508
}
493509
}
@@ -585,8 +601,10 @@ body {
585601
fn {
586602
builtin_fn {
587603
name {
588-
fn_name_flat {
589-
name: "col"
604+
name {
605+
sp_name_flat {
606+
name: "col"
607+
}
590608
}
591609
}
592610
}
@@ -621,8 +639,10 @@ body {
621639
fn {
622640
builtin_fn {
623641
name {
624-
fn_name_flat {
625-
name: "lit"
642+
name {
643+
sp_name_flat {
644+
name: "lit"
645+
}
626646
}
627647
}
628648
}
@@ -651,8 +671,10 @@ body {
651671
fn {
652672
builtin_fn {
653673
name {
654-
fn_name_flat {
655-
name: "col"
674+
name {
675+
sp_name_flat {
676+
name: "col"
677+
}
656678
}
657679
}
658680
}
@@ -696,8 +718,10 @@ body {
696718
fn {
697719
builtin_fn {
698720
name {
699-
fn_name_flat {
700-
name: "lit"
721+
name {
722+
sp_name_flat {
723+
name: "lit"
724+
}
701725
}
702726
}
703727
}
@@ -728,8 +752,10 @@ body {
728752
fn {
729753
builtin_fn {
730754
name {
731-
fn_name_flat {
732-
name: "lit"
755+
name {
756+
sp_name_flat {
757+
name: "lit"
758+
}
733759
}
734760
}
735761
}
@@ -793,8 +819,10 @@ body {
793819
fn {
794820
builtin_fn {
795821
name {
796-
fn_name_flat {
797-
name: "col"
822+
name {
823+
sp_name_flat {
824+
name: "col"
825+
}
798826
}
799827
}
800828
}
@@ -866,8 +894,10 @@ body {
866894
fn {
867895
builtin_fn {
868896
name {
869-
fn_name_flat {
870-
name: "col"
897+
name {
898+
sp_name_flat {
899+
name: "col"
900+
}
871901
}
872902
}
873903
}
@@ -959,8 +989,10 @@ body {
959989
fn {
960990
builtin_fn {
961991
name {
962-
fn_name_flat {
963-
name: "col"
992+
name {
993+
sp_name_flat {
994+
name: "col"
995+
}
964996
}
965997
}
966998
}
@@ -985,8 +1017,10 @@ body {
9851017
fn {
9861018
builtin_fn {
9871019
name {
988-
fn_name_flat {
989-
name: "col"
1020+
name {
1021+
sp_name_flat {
1022+
name: "col"
1023+
}
9901024
}
9911025
}
9921026
}
@@ -1084,8 +1118,10 @@ body {
10841118
fn {
10851119
builtin_fn {
10861120
name {
1087-
fn_name_flat {
1088-
name: "col"
1121+
name {
1122+
sp_name_flat {
1123+
name: "col"
1124+
}
10891125
}
10901126
}
10911127
}
@@ -1157,8 +1193,10 @@ body {
11571193
fn {
11581194
builtin_fn {
11591195
name {
1160-
fn_name_flat {
1161-
name: "col"
1196+
name {
1197+
sp_name_flat {
1198+
name: "col"
1199+
}
11621200
}
11631201
}
11641202
}
@@ -1230,8 +1268,10 @@ body {
12301268
fn {
12311269
builtin_fn {
12321270
name {
1233-
fn_name_flat {
1234-
name: "col"
1271+
name {
1272+
sp_name_flat {
1273+
name: "col"
1274+
}
12351275
}
12361276
}
12371277
}
@@ -1303,8 +1343,10 @@ body {
13031343
fn {
13041344
builtin_fn {
13051345
name {
1306-
fn_name_flat {
1307-
name: "col"
1346+
name {
1347+
sp_name_flat {
1348+
name: "col"
1349+
}
13081350
}
13091351
}
13101352
}
@@ -1376,8 +1418,10 @@ body {
13761418
fn {
13771419
builtin_fn {
13781420
name {
1379-
fn_name_flat {
1380-
name: "col"
1421+
name {
1422+
sp_name_flat {
1423+
name: "col"
1424+
}
13811425
}
13821426
}
13831427
}

tests/ast/data/col_cast.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ df = df.select(col("A").cast(MapType(StringType(), StringType(), structured=Fals
9393

9494
df = df.select(col("A").cast(VectorType(FloatType(), 42)))
9595

96-
df = df.select(col("A").cast(StructType([], structured=False)))
96+
df = df.select(col("A").cast(StructType(structured=False)))
9797

9898
df = df.select(col("A").cast(VariantType()))
9999

0 commit comments

Comments
 (0)