You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"""WITH t AS (SELECT PARSE_JSON('{"a": [1]}') AS v), s AS (SELECT 0 AS x) SELECT CAST(GET_PATH(t.v, 'a') AS VARIANT)[s.x] FROM t, s""",
5552
5552
)
5553
5553
5554
+
self.validate_all(
5555
+
"""WITH t AS (SELECT PARSE_JSON('{"a": {"p''g": 1}}') AS col) SELECT col:a."p'g" FROM t""",
5556
+
write={
5557
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a": {"p\\'g": 1}}') AS col) SELECT GET_PATH(col, 'a["p\\'g"]') FROM t""",
5558
+
"duckdb": """WITH t AS (SELECT JSON('{"a": {"p''g": 1}}') AS col) SELECT col -> '$.a."p''g"' FROM t""",
5559
+
},
5560
+
)
5561
+
self.validate_all(
5562
+
"""WITH t AS (SELECT PARSE_JSON('{"a": {"b''c": 1}}') AS col) SELECT col:a."b'c" FROM t""",
5563
+
write={
5564
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a": {"b\\'c": 1}}') AS col) SELECT GET_PATH(col, 'a["b\\'c"]') FROM t""",
5565
+
"duckdb": """WITH t AS (SELECT JSON('{"a": {"b''c": 1}}') AS col) SELECT col -> '$.a."b''c"' FROM t""",
5566
+
},
5567
+
)
5568
+
self.validate_all(
5569
+
"""WITH t AS (SELECT PARSE_JSON('{"a''b": {"c''d": 1}}') AS col) SELECT col:"a'b"."c'd" FROM t""",
5570
+
write={
5571
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a\\'b": {"c\\'d": 1}}') AS col) SELECT GET_PATH(col, '["a\\'b"]["c\\'d"]') FROM t""",
5572
+
"duckdb": """WITH t AS (SELECT JSON('{"a''b": {"c''d": 1}}') AS col) SELECT col -> '$."a''b"."c''d"' FROM t""",
5573
+
},
5574
+
)
5575
+
self.validate_all(
5576
+
"""WITH t AS (SELECT PARSE_JSON('{"a''b": {"normal": {"sub": 1}}}') AS col) SELECT col:"a'b"::VARCHAR:normal.sub FROM t""",
5577
+
write={
5578
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a\\'b": {"normal": {"sub": 1}}}') AS col) SELECT GET_PATH(CAST(GET_PATH(col, '["a\\'b"]') AS VARCHAR), 'normal.sub') FROM t""",
5579
+
"duckdb": """WITH t AS (SELECT JSON('{"a''b": {"normal": {"sub": 1}}}') AS col) SELECT CAST(col -> '$."a''b"' AS TEXT) -> '$.normal.sub' FROM t""",
5580
+
},
5581
+
)
5582
+
self.validate_all(
5583
+
"""WITH t AS (SELECT PARSE_JSON('{"x''y": "hello"}') AS col) SELECT col:"x'y"::VARCHAR FROM t""",
5584
+
write={
5585
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"x\\'y": "hello"}') AS col) SELECT CAST(GET_PATH(col, '["x\\'y"]') AS VARCHAR) FROM t""",
5586
+
"duckdb": """WITH t AS (SELECT JSON('{"x''y": "hello"}') AS col) SELECT CAST(col -> '$."x''y"' AS TEXT) FROM t""",
5587
+
},
5588
+
)
5589
+
self.validate_all(
5590
+
"""WITH t AS (SELECT PARSE_JSON('{"a''b": [1, 2]}') AS col) SELECT col:"a'b"[0] FROM t""",
5591
+
write={
5592
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a\\'b": [1, 2]}') AS col) SELECT GET_PATH(col, '["a\\'b"][0]') FROM t""",
5593
+
"duckdb": """WITH t AS (SELECT JSON('{"a''b": [1, 2]}') AS col) SELECT col -> '$."a''b"[0]' FROM t""",
5594
+
},
5595
+
)
5596
+
self.validate_all(
5597
+
"""WITH t AS (SELECT PARSE_JSON('{"a''b": [1, 2]}') AS col), s AS (SELECT 0 AS x) SELECT col:"a'b"[s.x] FROM t, s""",
5598
+
write={
5599
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a\\'b": [1, 2]}') AS col), s AS (SELECT 0 AS x) SELECT GET_PATH(col, '["a\\'b"]')[s.x] FROM t, s""",
5600
+
"duckdb": """WITH t AS (SELECT JSON('{"a''b": [1, 2]}') AS col), s AS (SELECT 0 AS x) SELECT (col -> '$."a''b"')[s.x] FROM t, s""",
5601
+
},
5602
+
)
5603
+
self.validate_all(
5604
+
"""WITH t AS (SELECT PARSE_JSON('{"a": [{"b''c": 1}]}') AS col) SELECT col:a[0]."b'c" FROM t""",
5605
+
write={
5606
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a": [{"b\\'c": 1}]}') AS col) SELECT GET_PATH(col, 'a[0]["b\\'c"]') FROM t""",
5607
+
"duckdb": """WITH t AS (SELECT JSON('{"a": [{"b''c": 1}]}') AS col) SELECT col -> '$.a[0]."b''c"' FROM t""",
5608
+
},
5609
+
)
5610
+
self.validate_all(
5611
+
"""WITH t AS (SELECT PARSE_JSON('{"a": [{"b''c": 1}]}') AS col), s AS (SELECT 0 AS x) SELECT col:a[s.x]."b'c" FROM t, s""",
5612
+
write={
5613
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a": [{"b\\'c": 1}]}') AS col), s AS (SELECT 0 AS x) SELECT GET_PATH(GET_PATH(col, 'a')[s.x], '["b\\'c"]') FROM t, s""",
5614
+
"duckdb": """WITH t AS (SELECT JSON('{"a": [{"b''c": 1}]}') AS col), s AS (SELECT 0 AS x) SELECT (col -> '$.a')[s.x] -> '$."b''c"' FROM t, s""",
5615
+
},
5616
+
)
5617
+
self.validate_all(
5618
+
"""WITH t AS (SELECT PARSE_JSON('{"a": {"b''c": 1}}') AS col) SELECT col:a['b''c'] FROM t""",
5619
+
write={
5620
+
"snowflake": """WITH t AS (SELECT PARSE_JSON('{"a": {"b\\'c": 1}}') AS col) SELECT GET_PATH(col, 'a["b\\'c"]') FROM t""",
5621
+
"duckdb": """WITH t AS (SELECT JSON('{"a": {"b''c": 1}}') AS col) SELECT col -> '$.a."b''c"' FROM t""",
0 commit comments