Skip to content

Commit c4e0dc4

Browse files
authored
[YQL-17700] More tests for TryMember (#4402)
1 parent 22d5de9 commit c4e0dc4

File tree

4 files changed

+89
-0
lines changed

4 files changed

+89
-0
lines changed

ydb/library/yql/tests/sql/sql2yql/canondata/result.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6152,6 +6152,13 @@
61526152
"uri": "https://{canondata_backend}/1784117/d56ae82ad9d30397a41490647be1bd2124718f98/resource.tar.gz#test_sql2yql.test_expr-to_sorted_set_vartuple_key_/sql.yql"
61536153
}
61546154
],
6155+
"test_sql2yql.test[expr-try_member]": [
6156+
{
6157+
"checksum": "11bd9037e4c2efde4307441e96c6d3a2",
6158+
"size": 9904,
6159+
"uri": "https://{canondata_backend}/1946324/d9bbf763189fff6203bd54ad96c51e1ebd23dffc/resource.tar.gz#test_sql2yql.test_expr-try_member_/sql.yql"
6160+
}
6161+
],
61556162
"test_sql2yql.test[expr-type_as_key]": [
61566163
{
61576164
"checksum": "33f4e933fbd02cb6bcb6d0c1fec847f5",
@@ -24639,6 +24646,13 @@
2463924646
"uri": "https://{canondata_backend}/1936842/9dd3254ebbd843324a90765405d3999550dc8d63/resource.tar.gz#test_sql_format.test_expr-to_sorted_set_vartuple_key_/formatted.sql"
2464024647
}
2464124648
],
24649+
"test_sql_format.test[expr-try_member]": [
24650+
{
24651+
"checksum": "3bedd6cf1a866afb6bb2f7acaafe5505",
24652+
"size": 1414,
24653+
"uri": "https://{canondata_backend}/995452/62dcdc716d63823bd4c68a1e5002cc6c38164d34/resource.tar.gz#test_sql_format.test_expr-try_member_/formatted.sql"
24654+
}
24655+
],
2464224656
"test_sql_format.test[expr-type_as_key]": [
2464324657
{
2464424658
"checksum": "06e10aa05a1864c2016fe5fcc32671bd",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
providers yt
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/* postgres can not */
2+
/* syntax version 1 */
3+
/* yt can not */
4+
5+
$s = <|a:1, b:2u/1u, c:Just(Just(1))|>;
6+
$js = Just($s);
7+
$es = Nothing(Struct<a:Int32, b:Uint32?, c:Int32??>?);
8+
9+
-- result of TryMember() when member is not present is third argument
10+
-- (optional third arg if struct is optional, but third arg is not)
11+
select
12+
TryMember($s, "z", 'qqq'),
13+
TryMember($js, "z", null),
14+
TryMember($es, "z", Just(Just('qqq'))),
15+
TryMember($js, "z", 'zzz'),
16+
;
17+
18+
19+
-- fully equivalent to <struct>.<name>
20+
select
21+
TryMember($s, "a", null),
22+
TryMember($s, "b", null),
23+
TryMember($s, "c", null),
24+
25+
TryMember($js, "a", null),
26+
TryMember($js, "b", null),
27+
TryMember($js, "c", null),
28+
29+
TryMember($es, "a", null),
30+
TryMember($es, "b", null),
31+
TryMember($es, "c", null),
32+
;
33+
34+
-- TypeOf TryMember is type of third argument
35+
-- field type should either match third type exactly, or (if the third type is optional)
36+
-- Optional(field) should be equal to third type
37+
select
38+
TryMember($s, "a", 999),
39+
TryMember($s, "a", Just(999)),
40+
TryMember($s, "b", Just(999u)),
41+
TryMember($s, "c", Just(Just(999))),
42+
43+
TryMember($js, "a", 999),
44+
TryMember($js, "a", Just(999)),
45+
TryMember($js, "b", Just(999u)),
46+
TryMember($js, "c", Just(Just(999))),
47+
48+
TryMember($es, "a", 999),
49+
TryMember($es, "a", Just(999)),
50+
TryMember($es, "b", Just(999u)),
51+
TryMember($es, "c", Just(Just(999))),
52+
;
53+

ydb/library/yql/tests/sql/yt_native_file/part6/canondata/result.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,6 +1087,27 @@
10871087
"uri": "https://{canondata_backend}/1923547/9db3e11e4addc3a65ee82684bfbe078b6795a57a/resource.tar.gz#test.test_expr-to_hashed_set_tuple_key-default.txt-Results_/results.txt"
10881088
}
10891089
],
1090+
"test.test[expr-try_member--Debug]": [
1091+
{
1092+
"checksum": "b46b58ff6e8b11197426aca99cdc8cca",
1093+
"size": 1555,
1094+
"uri": "https://{canondata_backend}/1775319/a2ce5580a0be182068abee641ca2dc356687c009/resource.tar.gz#test.test_expr-try_member--Debug_/opt.yql"
1095+
}
1096+
],
1097+
"test.test[expr-try_member--Plan]": [
1098+
{
1099+
"checksum": "b2a2eb5d6b0a138ee924c128fc7738ef",
1100+
"size": 1331,
1101+
"uri": "https://{canondata_backend}/1775319/a2ce5580a0be182068abee641ca2dc356687c009/resource.tar.gz#test.test_expr-try_member--Plan_/plan.txt"
1102+
}
1103+
],
1104+
"test.test[expr-try_member--Results]": [
1105+
{
1106+
"checksum": "97747cdc452ea4f288e72ef9aeaf2c31",
1107+
"size": 13783,
1108+
"uri": "https://{canondata_backend}/1775319/a2ce5580a0be182068abee641ca2dc356687c009/resource.tar.gz#test.test_expr-try_member--Results_/results.txt"
1109+
}
1110+
],
10901111
"test.test[file-parse_file_in_select_as_int--Debug]": [
10911112
{
10921113
"checksum": "8b1263ef7639d56cbd615bee42452d1d",

0 commit comments

Comments
 (0)