diff options
author | vvvv <vvvv@yandex-team.com> | 2025-01-28 15:06:03 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.com> | 2025-01-28 15:45:51 +0300 |
commit | 2dd138fc52d464f57de7e7cfcea5f8b5a115f313 (patch) | |
tree | a78a03689fff96820967d03928603bdeea9c5205 | |
parent | a3dde81f2b32593e49107bb361c8c0c189f5bdb6 (diff) | |
download | ydb-2dd138fc52d464f57de7e7cfcea5f8b5a115f313.tar.gz |
more tests YQL-19494
commit_hash:b84e0c56b3f112416d4d0e6bfa8f6997f59e9d70
51 files changed, 1172 insertions, 0 deletions
diff --git a/yql/essentials/mount/lib/yql/core.yqls b/yql/essentials/mount/lib/yql/core.yqls index 8ab2b16d66..4dbb358d54 100755 --- a/yql/essentials/mount/lib/yql/core.yqls +++ b/yql/essentials/mount/lib/yql/core.yqls @@ -522,6 +522,13 @@ def signature(script, name): ))) )))) +(let Opaque (lambda '(x) (block '( + (let t (TypeOf x)) + (let ct (CallableType '('0) '(t))) + (let c (Callable ct (lambda '() x))) + (return (Apply c)) +)))) + (export Equals) (export Unequals) (export FindIndex) @@ -562,4 +569,5 @@ def signature(script, name): (export ListSampleImpl) (export ListSampleNImpl) (export ListShuffleImpl) +(export Opaque) ) diff --git a/yql/essentials/sql/v1/builtin.cpp b/yql/essentials/sql/v1/builtin.cpp index 9d017b184e..c9953c6e0d 100644 --- a/yql/essentials/sql/v1/builtin.cpp +++ b/yql/essentials/sql/v1/builtin.cpp @@ -3303,6 +3303,7 @@ struct TBuiltinFuncData { {"forcespreadmembers", { "ForceSpreadMembers", 2, 2}}, {"listfromtuple", { "ListFromTuple", 1, 1}}, {"listtotuple", { "ListToTuple", 2, 2}}, + {"opaque", { "Opaque", 1, 1}}, }; return coreFuncs; } diff --git a/yql/essentials/tests/sql/minirun/part0/canondata/result.json b/yql/essentials/tests/sql/minirun/part0/canondata/result.json index 948ea2a873..209766edb6 100644 --- a/yql/essentials/tests/sql/minirun/part0/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part0/canondata/result.json @@ -240,6 +240,69 @@ "uri": "file://test.test_bitcast_implicit-sub_bitcast-default.txt-Results_/extracted" } ], + "test.test[blocks-and-default.txt-Debug]": [ + { + "checksum": "47525fa40526e04498f0c41e6bc48f59", + "size": 496, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-and-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-and-default.txt-Peephole]": [ + { + "checksum": "25301b655e8f72e42581ed1009f05cf5", + "size": 682, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-and-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-and-default.txt-Results]": [ + { + "checksum": "1004a527d94d3a57c3ddee81c7051ac2", + "size": 928, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-and-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-xor-default.txt-Debug]": [ + { + "checksum": "f0b56bd3576e6d9f549d692dff6522c8", + "size": 496, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-xor-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-xor-default.txt-Peephole]": [ + { + "checksum": "0cf43f4750e64901c4c51aa0d8ff9f75", + "size": 682, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-xor-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-xor-default.txt-Results]": [ + { + "checksum": "4c8389713df37ffc2a69c96c4224eaeb", + "size": 927, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-xor-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-xor_opt_scalar-default.txt-Debug]": [ + { + "checksum": "27783c2f95862105c305c624babb7dfe", + "size": 1425, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-xor_opt_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-xor_opt_scalar-default.txt-Peephole]": [ + { + "checksum": "f513ccd4b355aba2f8aebb682fddd56a", + "size": 1814, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-xor_opt_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-xor_opt_scalar-default.txt-Results]": [ + { + "checksum": "7114d4ac2409c274dd149fb961df544a", + "size": 10854, + "uri": "https://{canondata_backend}/1920236/e2416b57cd9baa140c086892d357d5945ed0fdb1/resource.tar.gz#test.test_blocks-xor_opt_scalar-default.txt-Results_/results.txt" + } + ], "test.test[column_order-values-default.txt-Debug]": [ { "checksum": "ec4c1859bead1f9b88e6239fe8d6addb", diff --git a/yql/essentials/tests/sql/minirun/part1/canondata/result.json b/yql/essentials/tests/sql/minirun/part1/canondata/result.json index 88aa38f202..4ce5118f55 100644 --- a/yql/essentials/tests/sql/minirun/part1/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part1/canondata/result.json @@ -209,6 +209,27 @@ "uri": "https://{canondata_backend}/1920236/fd3dfd41a8e63d7fa9cb2e8c3d8e6d8d5f51f2cb/resource.tar.gz#test.test_bigdate-tzstrliterals-default.txt-Results_/results.txt" } ], + "test.test[blocks-and_opt_scalar-default.txt-Debug]": [ + { + "checksum": "1a4fb294f178b359c444b4f540e0b9e1", + "size": 1425, + "uri": "https://{canondata_backend}/1920236/0ae0061e7a37e74785c20a7b0e1cfe4b3655ad32/resource.tar.gz#test.test_blocks-and_opt_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-and_opt_scalar-default.txt-Peephole]": [ + { + "checksum": "e410280186ee325d3b67ac78de5f8e36", + "size": 1814, + "uri": "https://{canondata_backend}/1920236/0ae0061e7a37e74785c20a7b0e1cfe4b3655ad32/resource.tar.gz#test.test_blocks-and_opt_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-and_opt_scalar-default.txt-Results]": [ + { + "checksum": "e0c63045084dabe914309f6294a84814", + "size": 11604, + "uri": "https://{canondata_backend}/1920236/0ae0061e7a37e74785c20a7b0e1cfe4b3655ad32/resource.tar.gz#test.test_blocks-and_opt_scalar-default.txt-Results_/results.txt" + } + ], "test.test[blocks-empty_as_table-default.txt-Debug]": [ { "checksum": "02505b6facd77cffd49cb50c6594bfb4", @@ -230,6 +251,27 @@ "uri": "https://{canondata_backend}/1881367/d69a84f4c03a928385a2fa1e80f00c900ecc2329/resource.tar.gz#test.test_blocks-empty_as_table-default.txt-Results_/results.txt" } ], + "test.test[blocks-or_scalar-default.txt-Debug]": [ + { + "checksum": "9153a8e9df67920deba9d895e8d4a8b1", + "size": 1021, + "uri": "https://{canondata_backend}/1920236/0ae0061e7a37e74785c20a7b0e1cfe4b3655ad32/resource.tar.gz#test.test_blocks-or_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-or_scalar-default.txt-Peephole]": [ + { + "checksum": "ece0c5618fe0b4818ea7c0c6b6e588e0", + "size": 1389, + "uri": "https://{canondata_backend}/1920236/0ae0061e7a37e74785c20a7b0e1cfe4b3655ad32/resource.tar.gz#test.test_blocks-or_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-or_scalar-default.txt-Results]": [ + { + "checksum": "4aa1c5107d5f9a190a27268bcd666b95", + "size": 4182, + "uri": "https://{canondata_backend}/1920236/0ae0061e7a37e74785c20a7b0e1cfe4b3655ad32/resource.tar.gz#test.test_blocks-or_scalar-default.txt-Results_/results.txt" + } + ], "test.test[compute_range-tuples_compare-default.txt-Debug]": [ { "checksum": "501d11676cf33c61787adfa1afed5db6", diff --git a/yql/essentials/tests/sql/minirun/part2/canondata/result.json b/yql/essentials/tests/sql/minirun/part2/canondata/result.json index 48b245776b..4c2099af44 100644 --- a/yql/essentials/tests/sql/minirun/part2/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part2/canondata/result.json @@ -237,6 +237,27 @@ "uri": "https://{canondata_backend}/1925821/c218142dee7e94289607cb3f387a4ea325fdeb89/resource.tar.gz#test.test_binding-tie_scalar_context-default.txt-Results_/results.txt" } ], + "test.test[blocks-exists-default.txt-Debug]": [ + { + "checksum": "a871029504a6d3f1c07342493b86d28d", + "size": 369, + "uri": "https://{canondata_backend}/1942671/13a781c07395a2ba482afc02d12bb4a6fa60d5ef/resource.tar.gz#test.test_blocks-exists-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-exists-default.txt-Peephole]": [ + { + "checksum": "489280aa6951c20dbd91012493e95323", + "size": 539, + "uri": "https://{canondata_backend}/1942671/13a781c07395a2ba482afc02d12bb4a6fa60d5ef/resource.tar.gz#test.test_blocks-exists-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-exists-default.txt-Results]": [ + { + "checksum": "15f95c7f7b643af3eeb7c995172ca272", + "size": 774, + "uri": "https://{canondata_backend}/1942671/13a781c07395a2ba482afc02d12bb4a6fa60d5ef/resource.tar.gz#test.test_blocks-exists-default.txt-Results_/results.txt" + } + ], "test.test[compute_range-in_literal_nulls-default.txt-Debug]": [ { "checksum": "32fad62c2c315c6dad7fe390ba7f40a8", diff --git a/yql/essentials/tests/sql/minirun/part3/canondata/result.json b/yql/essentials/tests/sql/minirun/part3/canondata/result.json index 1d51ed7623..4db0b28687 100644 --- a/yql/essentials/tests/sql/minirun/part3/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part3/canondata/result.json @@ -285,6 +285,27 @@ "uri": "file://test.test_bitcast_implicit-div_bitcast-default.txt-Results_/extracted" } ], + "test.test[blocks-or_opt-default.txt-Debug]": [ + { + "checksum": "85fb6a988595cab34e899acfd0ef8dd2", + "size": 693, + "uri": "https://{canondata_backend}/1920236/9bbaee93ec54cd7cbc4c6311c4df2e94db14c07e/resource.tar.gz#test.test_blocks-or_opt-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-or_opt-default.txt-Peephole]": [ + { + "checksum": "845329e7352cf454e326edeac8a39237", + "size": 879, + "uri": "https://{canondata_backend}/1920236/9bbaee93ec54cd7cbc4c6311c4df2e94db14c07e/resource.tar.gz#test.test_blocks-or_opt-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-or_opt-default.txt-Results]": [ + { + "checksum": "d65a0b1dcc9a03b3b6bcfb46ce542f51", + "size": 1763, + "uri": "https://{canondata_backend}/1920236/9bbaee93ec54cd7cbc4c6311c4df2e94db14c07e/resource.tar.gz#test.test_blocks-or_opt-default.txt-Results_/results.txt" + } + ], "test.test[compute_range-tztypes-default.txt-Debug]": [ { "checksum": "f16da776935c59e7de9005d2e87056e7", diff --git a/yql/essentials/tests/sql/minirun/part4/canondata/result.json b/yql/essentials/tests/sql/minirun/part4/canondata/result.json index 6486e6dbc7..02a5ceee0c 100644 --- a/yql/essentials/tests/sql/minirun/part4/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part4/canondata/result.json @@ -293,6 +293,27 @@ "uri": "https://{canondata_backend}/1925821/db505909f0fb5dcb9a1c2635b652923e2e5d33c8/resource.tar.gz#test.test_binding-compact_named_with_subq_contexts--Results_/results.txt" } ], + "test.test[blocks-or_opt_scalar-default.txt-Debug]": [ + { + "checksum": "48438c52974cf1f5de5ed35df99e54b5", + "size": 1419, + "uri": "https://{canondata_backend}/1916746/09c919bce0458a8ce66d1cb974cd8dba5513025d/resource.tar.gz#test.test_blocks-or_opt_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-or_opt_scalar-default.txt-Peephole]": [ + { + "checksum": "ab501477ca29cbf2b360f0e80d7bc1e2", + "size": 1808, + "uri": "https://{canondata_backend}/1916746/09c919bce0458a8ce66d1cb974cd8dba5513025d/resource.tar.gz#test.test_blocks-or_opt_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-or_opt_scalar-default.txt-Results]": [ + { + "checksum": "da8a92d6c533e8d1e4604da0dc1a162b", + "size": 11580, + "uri": "https://{canondata_backend}/1916746/09c919bce0458a8ce66d1cb974cd8dba5513025d/resource.tar.gz#test.test_blocks-or_opt_scalar-default.txt-Results_/results.txt" + } + ], "test.test[case-case_many_val--Debug]": [ { "checksum": "291fd94793b3188fe2e609ff400be242", diff --git a/yql/essentials/tests/sql/minirun/part5/canondata/result.json b/yql/essentials/tests/sql/minirun/part5/canondata/result.json index 67d87a8350..406b42e25d 100644 --- a/yql/essentials/tests/sql/minirun/part5/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part5/canondata/result.json @@ -324,6 +324,27 @@ "uri": "file://test.test_bitcast_implicit-mul_bitcast-default.txt-Results_/extracted" } ], + "test.test[blocks-and_opt-default.txt-Debug]": [ + { + "checksum": "5013773b59997d6cfde3ea2a64496340", + "size": 694, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-and_opt-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-and_opt-default.txt-Peephole]": [ + { + "checksum": "b8c85dc4102de70b2fcae3acee2efa3c", + "size": 880, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-and_opt-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-and_opt-default.txt-Results]": [ + { + "checksum": "a24d9a40b4fad511d8370c07ca0ea4f6", + "size": 1767, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-and_opt-default.txt-Results_/results.txt" + } + ], "test.test[blocks-filter-default.txt-Debug]": [ { "checksum": "3dea830ec45f78ed78603576b054b4ca", @@ -345,6 +366,69 @@ "uri": "https://{canondata_backend}/1937150/d87c401e99a94fad9fdc66f7c4a0d9c670b84949/resource.tar.gz#test.test_blocks-filter-default.txt-Results_/results.txt" } ], + "test.test[blocks-not-default.txt-Debug]": [ + { + "checksum": "11ca4c4fbc3e6a5463a95ce9496effdf", + "size": 334, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-not-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-not-default.txt-Peephole]": [ + { + "checksum": "e07fe7e10cb9bca87ca0df3855e30800", + "size": 504, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-not-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-not-default.txt-Results]": [ + { + "checksum": "15f95c7f7b643af3eeb7c995172ca272", + "size": 774, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-not-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-not_opt-default.txt-Debug]": [ + { + "checksum": "c34f7ad888edfc0a8caaa6b4483449a7", + "size": 421, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-not_opt-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-not_opt-default.txt-Peephole]": [ + { + "checksum": "f8c1132586ba55043b160dd90392d223", + "size": 579, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-not_opt-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-not_opt-default.txt-Results]": [ + { + "checksum": "bb45b5bb85b27a621629ef6587d34fdd", + "size": 1093, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-not_opt-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-xor_scalar-default.txt-Debug]": [ + { + "checksum": "01875c4a7756e30537fbaa02d4b70d91", + "size": 1025, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-xor_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-xor_scalar-default.txt-Peephole]": [ + { + "checksum": "b692bb81f6109ff6725a7daa8ce6a643", + "size": 1393, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-xor_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-xor_scalar-default.txt-Results]": [ + { + "checksum": "9c9e0ad35368288f65f7b5e00f7b2154", + "size": 4186, + "uri": "https://{canondata_backend}/1942671/ce51ce34754ddc48cce99d0eb0d68c58043ce298/resource.tar.gz#test.test_blocks-xor_scalar-default.txt-Results_/results.txt" + } + ], "test.test[column_order-union_all_positional-default.txt-Debug]": [ { "checksum": "b136f637022838dde4e7cd35c37911eb", diff --git a/yql/essentials/tests/sql/minirun/part6/canondata/result.json b/yql/essentials/tests/sql/minirun/part6/canondata/result.json index 8bae492b7a..8c8ddbc9f5 100644 --- a/yql/essentials/tests/sql/minirun/part6/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part6/canondata/result.json @@ -296,6 +296,27 @@ "uri": "file://test.test_bitcast_implicit-mod_bitcast-default.txt-Results_/extracted" } ], + "test.test[blocks-coalesce_scalar-default.txt-Debug]": [ + { + "checksum": "5ee084040bec68362ce741c283ddead6", + "size": 1484, + "uri": "https://{canondata_backend}/1920236/8a88b220fe1ff8b571b6813b812d7623629101fd/resource.tar.gz#test.test_blocks-coalesce_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-coalesce_scalar-default.txt-Peephole]": [ + { + "checksum": "de0d9ee659715c2a884666a8e2ad690c", + "size": 1923, + "uri": "https://{canondata_backend}/1920236/8a88b220fe1ff8b571b6813b812d7623629101fd/resource.tar.gz#test.test_blocks-coalesce_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-coalesce_scalar-default.txt-Results]": [ + { + "checksum": "64c968b3cf2b6f9d005758ad39bde2fa", + "size": 4410, + "uri": "https://{canondata_backend}/1920236/8a88b220fe1ff8b571b6813b812d7623629101fd/resource.tar.gz#test.test_blocks-coalesce_scalar-default.txt-Results_/results.txt" + } + ], "test.test[blocks-projection_add_ints_filter-default.txt-Debug]": [ { "checksum": "0dc7c149ab903b62717b7afe506ab893", diff --git a/yql/essentials/tests/sql/minirun/part7/canondata/result.json b/yql/essentials/tests/sql/minirun/part7/canondata/result.json index 8c7584fdbd..e4d2c99469 100644 --- a/yql/essentials/tests/sql/minirun/part7/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part7/canondata/result.json @@ -209,6 +209,27 @@ "uri": "https://{canondata_backend}/1920236/d08588ad74710b9926df45a5b372c37153cb8b1e/resource.tar.gz#test.test_bigdate-misc-default.txt-Results_/results.txt" } ], + "test.test[blocks-or-default.txt-Debug]": [ + { + "checksum": "4c3c28b4c505737765e9379d3386b4ff", + "size": 495, + "uri": "https://{canondata_backend}/1942671/a9486852a02ad9ecba5005ac92cde1261882e326/resource.tar.gz#test.test_blocks-or-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-or-default.txt-Peephole]": [ + { + "checksum": "e86101ef3ffbf79e56099e81ec6bc0fb", + "size": 681, + "uri": "https://{canondata_backend}/1942671/a9486852a02ad9ecba5005ac92cde1261882e326/resource.tar.gz#test.test_blocks-or-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-or-default.txt-Results]": [ + { + "checksum": "b0336f85016207ce0e9926ea3712616f", + "size": 926, + "uri": "https://{canondata_backend}/1942671/a9486852a02ad9ecba5005ac92cde1261882e326/resource.tar.gz#test.test_blocks-or-default.txt-Results_/results.txt" + } + ], "test.test[case-case_opt_then-default.txt-Debug]": [ { "checksum": "456497d68c16bc496296525c7d2fadd5", diff --git a/yql/essentials/tests/sql/minirun/part8/canondata/result.json b/yql/essentials/tests/sql/minirun/part8/canondata/result.json index 882d4a1740..a041fe1469 100644 --- a/yql/essentials/tests/sql/minirun/part8/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part8/canondata/result.json @@ -352,6 +352,69 @@ "uri": "https://{canondata_backend}/1031349/4d0c6ce1905689c65e264d15d770d36efcd9426f/resource.tar.gz#test.test_binding-named_expr_input-default.txt-Results_/results.txt" } ], + "test.test[blocks-and_scalar-default.txt-Debug]": [ + { + "checksum": "e5ccc5c53756e09ded8e82b6d662e5e9", + "size": 1025, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-and_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-and_scalar-default.txt-Peephole]": [ + { + "checksum": "d7eb4215f3447f164802a0fa8a9e93f6", + "size": 1393, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-and_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-and_scalar-default.txt-Results]": [ + { + "checksum": "652311e95f643de8f49049f0aedae6a9", + "size": 4190, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-and_scalar-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-if-default.txt-Debug]": [ + { + "checksum": "05045689a237cf4db264b77935b5a418", + "size": 513, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-if-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-if-default.txt-Peephole]": [ + { + "checksum": "c8b3668a80da61f1695e1f4c95558f4c", + "size": 717, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-if-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-if-default.txt-Results]": [ + { + "checksum": "70e56eadbe1f881e5983d36a1d4e9289", + "size": 768, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-if-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-xor_opt-default.txt-Debug]": [ + { + "checksum": "91e8a0bee949446ecd2a7ed7703756fe", + "size": 694, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-xor_opt-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-xor_opt-default.txt-Peephole]": [ + { + "checksum": "9dfc3fbfce576e0daed66ae740e44d5c", + "size": 880, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-xor_opt-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-xor_opt-default.txt-Results]": [ + { + "checksum": "5f40d45719c74387b7ca04e25297030a", + "size": 1642, + "uri": "https://{canondata_backend}/1942671/1fe07dc7779a4d1b05048ad4f78bfbeb3a86d998/resource.tar.gz#test.test_blocks-xor_opt-default.txt-Results_/results.txt" + } + ], "test.test[compute_range-in2-default.txt-Debug]": [ { "checksum": "bd691b0c2a87038767feddb27bbdf790", diff --git a/yql/essentials/tests/sql/minirun/part9/canondata/result.json b/yql/essentials/tests/sql/minirun/part9/canondata/result.json index 0de609513c..84ff18d585 100644 --- a/yql/essentials/tests/sql/minirun/part9/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part9/canondata/result.json @@ -167,6 +167,48 @@ "uri": "https://{canondata_backend}/1881367/0904eef9815dbdae5991888c9e683a7d755b2751/resource.tar.gz#test.test_bigdate-tzcasts-default.txt-Results_/results.txt" } ], + "test.test[blocks-coalesce-default.txt-Debug]": [ + { + "checksum": "4f09982cc6cf8782ef9874681dd4f689", + "size": 748, + "uri": "https://{canondata_backend}/1920236/19a9934ebc9455bf1caab37058331acdf3c4ee26/resource.tar.gz#test.test_blocks-coalesce-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-coalesce-default.txt-Peephole]": [ + { + "checksum": "22b6a7673a01385d879856dc322c94aa", + "size": 1135, + "uri": "https://{canondata_backend}/1920236/19a9934ebc9455bf1caab37058331acdf3c4ee26/resource.tar.gz#test.test_blocks-coalesce-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-coalesce-default.txt-Results]": [ + { + "checksum": "4faf752754abb7688da94aff91e59187", + "size": 1913, + "uri": "https://{canondata_backend}/1920236/19a9934ebc9455bf1caab37058331acdf3c4ee26/resource.tar.gz#test.test_blocks-coalesce-default.txt-Results_/results.txt" + } + ], + "test.test[blocks-if_scalar-default.txt-Debug]": [ + { + "checksum": "b1316cc011f1941633e8e78e1297ac0b", + "size": 1600, + "uri": "https://{canondata_backend}/1920236/19a9934ebc9455bf1caab37058331acdf3c4ee26/resource.tar.gz#test.test_blocks-if_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-if_scalar-default.txt-Peephole]": [ + { + "checksum": "e2ee0df7a6e82c32e4bb81445125cf8c", + "size": 1995, + "uri": "https://{canondata_backend}/1920236/19a9934ebc9455bf1caab37058331acdf3c4ee26/resource.tar.gz#test.test_blocks-if_scalar-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-if_scalar-default.txt-Results]": [ + { + "checksum": "df253a8d45f4edd4ae6fe1e160aab745", + "size": 3466, + "uri": "https://{canondata_backend}/1920236/19a9934ebc9455bf1caab37058331acdf3c4ee26/resource.tar.gz#test.test_blocks-if_scalar-default.txt-Results_/results.txt" + } + ], "test.test[blocks-projection_add_ints-default.txt-Debug]": [ { "checksum": "0dc7c149ab903b62717b7afe506ab893", diff --git a/yql/essentials/tests/sql/sql2yql/canondata/result.json b/yql/essentials/tests/sql/sql2yql/canondata/result.json index 6b6872cb22..4d5c62cb0b 100644 --- a/yql/essentials/tests/sql/sql2yql/canondata/result.json +++ b/yql/essentials/tests/sql/sql2yql/canondata/result.json @@ -1315,6 +1315,48 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_bitcast_implicit-sub_bitcast_/sql.yql" } ], + "test_sql2yql.test[blocks-and]": [ + { + "checksum": "e22a52b51ef20174c3b832acb09df01b", + "size": 1334, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-and_/sql.yql" + } + ], + "test_sql2yql.test[blocks-and_opt]": [ + { + "checksum": "a58cadab4f91571296dd3bfffe39e4a5", + "size": 1618, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-and_opt_/sql.yql" + } + ], + "test_sql2yql.test[blocks-and_opt_scalar]": [ + { + "checksum": "0d66875312ecf94d2b5ff973994f321a", + "size": 3970, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-and_opt_scalar_/sql.yql" + } + ], + "test_sql2yql.test[blocks-and_scalar]": [ + { + "checksum": "86b75c285d2db16b994b4110e8b047e8", + "size": 3196, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-and_scalar_/sql.yql" + } + ], + "test_sql2yql.test[blocks-coalesce]": [ + { + "checksum": "d407fef7972254e7c63c8b55750b8d4a", + "size": 2344, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-coalesce_/sql.yql" + } + ], + "test_sql2yql.test[blocks-coalesce_scalar]": [ + { + "checksum": "3cf278b8eccf4bbed173c5075bffcf53", + "size": 3626, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-coalesce_scalar_/sql.yql" + } + ], "test_sql2yql.test[blocks-empty_as_table]": [ { "checksum": "bbda02d622e3f3c4f698ea1962d9f902", @@ -1322,6 +1364,13 @@ "uri": "https://{canondata_backend}/1130705/7bfa4c7bef8ecf6ffba8b79d210708dc39bab04e/resource.tar.gz#test_sql2yql.test_blocks-empty_as_table_/sql.yql" } ], + "test_sql2yql.test[blocks-exists]": [ + { + "checksum": "47e9cf5d9689b919bb4530500ce8ec4a", + "size": 1164, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-exists_/sql.yql" + } + ], "test_sql2yql.test[blocks-filter]": [ { "checksum": "e09ada2d8790a1c8d43bdc76683eaa40", @@ -1329,6 +1378,62 @@ "uri": "https://{canondata_backend}/1130705/7bfa4c7bef8ecf6ffba8b79d210708dc39bab04e/resource.tar.gz#test_sql2yql.test_blocks-filter_/sql.yql" } ], + "test_sql2yql.test[blocks-if]": [ + { + "checksum": "2b573fa3534410c28b1273b496c93231", + "size": 1279, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-if_/sql.yql" + } + ], + "test_sql2yql.test[blocks-if_scalar]": [ + { + "checksum": "558f449d59c79295c2cf2627dda60c2b", + "size": 3560, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-if_scalar_/sql.yql" + } + ], + "test_sql2yql.test[blocks-not]": [ + { + "checksum": "60ffa8348b787bc96b78945aa79545d2", + "size": 1117, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-not_/sql.yql" + } + ], + "test_sql2yql.test[blocks-not_opt]": [ + { + "checksum": "9794c07062ac409dc6b46b1a36022afd", + "size": 1143, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-not_opt_/sql.yql" + } + ], + "test_sql2yql.test[blocks-or]": [ + { + "checksum": "1e7e91aab2807a411a6a8b24ff2db384", + "size": 1333, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-or_/sql.yql" + } + ], + "test_sql2yql.test[blocks-or_opt]": [ + { + "checksum": "e090b0180ef21bae3b2eefb8fc9e0df0", + "size": 1617, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-or_opt_/sql.yql" + } + ], + "test_sql2yql.test[blocks-or_opt_scalar]": [ + { + "checksum": "93a46964c0761ee46c67eec9c0cb2412", + "size": 3964, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-or_opt_scalar_/sql.yql" + } + ], + "test_sql2yql.test[blocks-or_scalar]": [ + { + "checksum": "fe396517e379e51b954c53dd35488634", + "size": 3192, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-or_scalar_/sql.yql" + } + ], "test_sql2yql.test[blocks-projection_add_ints]": [ { "checksum": "f84fc85138d4f1d4b72cf4d37a2b8ff2", @@ -1343,6 +1448,34 @@ "uri": "https://{canondata_backend}/1130705/7bfa4c7bef8ecf6ffba8b79d210708dc39bab04e/resource.tar.gz#test_sql2yql.test_blocks-projection_add_ints_filter_/sql.yql" } ], + "test_sql2yql.test[blocks-xor]": [ + { + "checksum": "879bea5e15aa53dc4f3444f0fa17de49", + "size": 1334, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-xor_/sql.yql" + } + ], + "test_sql2yql.test[blocks-xor_opt]": [ + { + "checksum": "306b7e6a7500c99ce78901184c1fe8ce", + "size": 1618, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-xor_opt_/sql.yql" + } + ], + "test_sql2yql.test[blocks-xor_opt_scalar]": [ + { + "checksum": "57d1a6e3d4df6ed584d437b53d890973", + "size": 3970, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-xor_opt_scalar_/sql.yql" + } + ], + "test_sql2yql.test[blocks-xor_scalar]": [ + { + "checksum": "560b06897ca58ccec91fc77dc29d50b7", + "size": 3196, + "uri": "https://{canondata_backend}/1916746/15a617669fb2b654b6be1fc493d61b99fb1f6f81/resource.tar.gz#test_sql2yql.test_blocks-xor_scalar_/sql.yql" + } + ], "test_sql2yql.test[case-case_many_val]": [ { "checksum": "70c9fb3c41da9a56ff7346cfe50d2c82", @@ -7876,16 +8009,91 @@ "uri": "file://test_sql_format.test_bitcast_implicit-sub_bitcast_/formatted.sql" } ], + "test_sql_format.test[blocks-and]": [ + { + "uri": "file://test_sql_format.test_blocks-and_/formatted.sql" + } + ], + "test_sql_format.test[blocks-and_opt]": [ + { + "uri": "file://test_sql_format.test_blocks-and_opt_/formatted.sql" + } + ], + "test_sql_format.test[blocks-and_opt_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-and_opt_scalar_/formatted.sql" + } + ], + "test_sql_format.test[blocks-and_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-and_scalar_/formatted.sql" + } + ], + "test_sql_format.test[blocks-coalesce]": [ + { + "uri": "file://test_sql_format.test_blocks-coalesce_/formatted.sql" + } + ], + "test_sql_format.test[blocks-coalesce_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-coalesce_scalar_/formatted.sql" + } + ], "test_sql_format.test[blocks-empty_as_table]": [ { "uri": "file://test_sql_format.test_blocks-empty_as_table_/formatted.sql" } ], + "test_sql_format.test[blocks-exists]": [ + { + "uri": "file://test_sql_format.test_blocks-exists_/formatted.sql" + } + ], "test_sql_format.test[blocks-filter]": [ { "uri": "file://test_sql_format.test_blocks-filter_/formatted.sql" } ], + "test_sql_format.test[blocks-if]": [ + { + "uri": "file://test_sql_format.test_blocks-if_/formatted.sql" + } + ], + "test_sql_format.test[blocks-if_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-if_scalar_/formatted.sql" + } + ], + "test_sql_format.test[blocks-not]": [ + { + "uri": "file://test_sql_format.test_blocks-not_/formatted.sql" + } + ], + "test_sql_format.test[blocks-not_opt]": [ + { + "uri": "file://test_sql_format.test_blocks-not_opt_/formatted.sql" + } + ], + "test_sql_format.test[blocks-or]": [ + { + "uri": "file://test_sql_format.test_blocks-or_/formatted.sql" + } + ], + "test_sql_format.test[blocks-or_opt]": [ + { + "uri": "file://test_sql_format.test_blocks-or_opt_/formatted.sql" + } + ], + "test_sql_format.test[blocks-or_opt_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-or_opt_scalar_/formatted.sql" + } + ], + "test_sql_format.test[blocks-or_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-or_scalar_/formatted.sql" + } + ], "test_sql_format.test[blocks-projection_add_ints]": [ { "uri": "file://test_sql_format.test_blocks-projection_add_ints_/formatted.sql" @@ -7896,6 +8104,26 @@ "uri": "file://test_sql_format.test_blocks-projection_add_ints_filter_/formatted.sql" } ], + "test_sql_format.test[blocks-xor]": [ + { + "uri": "file://test_sql_format.test_blocks-xor_/formatted.sql" + } + ], + "test_sql_format.test[blocks-xor_opt]": [ + { + "uri": "file://test_sql_format.test_blocks-xor_opt_/formatted.sql" + } + ], + "test_sql_format.test[blocks-xor_opt_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-xor_opt_scalar_/formatted.sql" + } + ], + "test_sql_format.test[blocks-xor_scalar]": [ + { + "uri": "file://test_sql_format.test_blocks-xor_scalar_/formatted.sql" + } + ], "test_sql_format.test[case-case_many_val]": [ { "uri": "file://test_sql_format.test_case-case_many_val_/formatted.sql" diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_/formatted.sql new file mode 100644 index 0000000000..ad92a9f171 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_/formatted.sql @@ -0,0 +1,12 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, +]; + +SELECT + x AND y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_opt_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_opt_/formatted.sql new file mode 100644 index 0000000000..2a1fcc93e3 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_opt_/formatted.sql @@ -0,0 +1,17 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: FALSE, y: NULL|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, + <|x: TRUE, y: NULL|>, + <|x: NULL, y: FALSE|>, + <|x: NULL, y: TRUE|>, + <|x: NULL, y: NULL|>, +]; + +SELECT + x AND y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_opt_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_opt_scalar_/formatted.sql new file mode 100644 index 0000000000..535272fddd --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_opt_scalar_/formatted.sql @@ -0,0 +1,31 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: FALSE, y: NULL|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, + <|x: TRUE, y: NULL|>, + <|x: NULL, y: FALSE|>, + <|x: NULL, y: TRUE|>, + <|x: NULL, y: NULL|>, +]; + +SELECT + x, + y, + Opaque(FALSE) AND y, + Opaque(TRUE) AND y, + Opaque(Nothing(bool?)) AND y +FROM + as_table($data) +; + +SELECT + x, + y, + x AND Opaque(FALSE), + x AND Opaque(TRUE), + x AND Opaque(Nothing(bool?)) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_scalar_/formatted.sql new file mode 100644 index 0000000000..4554fb07a1 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-and_scalar_/formatted.sql @@ -0,0 +1,24 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, +]; + +SELECT + x, + y, + x AND Opaque(FALSE), + x AND Opaque(TRUE) +FROM + as_table($data) +; + +SELECT + x, + y, + Opaque(FALSE) AND y, + Opaque(TRUE) AND y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-coalesce_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-coalesce_/formatted.sql new file mode 100644 index 0000000000..2f55729790 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-coalesce_/formatted.sql @@ -0,0 +1,22 @@ +$data1 = [ + <|x: nothing(int32?), y: 10|>, + <|x: just(1), y: 10|>, +]; + +$data2 = [ + <|x: nothing(int32?), y: just(10)|>, + <|x: just(1), y: just(10)|>, + <|x: just(1), y: nothing(int32?)|>, +]; + +SELECT + x ?? y +FROM + as_table($data1) +; + +SELECT + x ?? y +FROM + as_table($data2) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-coalesce_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-coalesce_scalar_/formatted.sql new file mode 100644 index 0000000000..8a6c5a8c6c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-coalesce_scalar_/formatted.sql @@ -0,0 +1,27 @@ +$data1 = [ + <|x: nothing(int32?), y: 10|>, + <|x: just(1), y: 10|>, +]; + +$data2 = [ + <|x: nothing(int32?), y: just(10)|>, + <|x: just(1), y: just(10)|>, + <|x: just(1), y: nothing(int32?)|>, +]; + +SELECT + x ?? Opaque(10), + Opaque(nothing(int32?)) ?? y, + Opaque(just(1)) ?? y +FROM + as_table($data1) +; + +SELECT + x ?? Opaque(just(10)), + x ?? Opaque(nothing(int32?)), + Opaque(nothing(int32?)) ?? y, + Opaque(just(1)) ?? y +FROM + as_table($data2) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-exists_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-exists_/formatted.sql new file mode 100644 index 0000000000..e882cc96ff --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-exists_/formatted.sql @@ -0,0 +1,7 @@ +$data = [<|x: nothing(int32?)|>, <|x: just(1)|>]; + +SELECT + x IS NOT NULL +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-if_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-if_/formatted.sql new file mode 100644 index 0000000000..7ddd9c0c88 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-if_/formatted.sql @@ -0,0 +1,10 @@ +$data = [ + <|x: FALSE, y: 1, z: 2|>, + <|x: TRUE, y: 3, z: 4|>, +]; + +SELECT + if(x, y, z) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-if_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-if_scalar_/formatted.sql new file mode 100644 index 0000000000..03bdd92498 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-if_scalar_/formatted.sql @@ -0,0 +1,22 @@ +$data = [ + <|x: FALSE, y: 1, z: 2|>, + <|x: TRUE, y: 3, z: 4|>, +]; + +SELECT + x, + if(Opaque(FALSE), y, z), + if(Opaque(TRUE), y, z), + if(x, Opaque(5), z), + if(x, 5, Opaque(6)) +FROM + as_table($data) +; + +SELECT + x, + if(Opaque(FALSE), Opaque(5), z), + if(Opaque(TRUE), y, Opaque(6)) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-not_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-not_/formatted.sql new file mode 100644 index 0000000000..29eba165b7 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-not_/formatted.sql @@ -0,0 +1,7 @@ +$data = [<|x: TRUE|>, <|x: FALSE|>]; + +SELECT + NOT x +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-not_opt_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-not_opt_/formatted.sql new file mode 100644 index 0000000000..0a716962d5 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-not_opt_/formatted.sql @@ -0,0 +1,7 @@ +$data = [<|x: TRUE|>, <|x: FALSE|>, <|x: NULL|>]; + +SELECT + NOT x +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_/formatted.sql new file mode 100644 index 0000000000..72cdace788 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_/formatted.sql @@ -0,0 +1,12 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, +]; + +SELECT + x OR y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_opt_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_opt_/formatted.sql new file mode 100644 index 0000000000..7ebe9eca9f --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_opt_/formatted.sql @@ -0,0 +1,17 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: FALSE, y: NULL|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, + <|x: TRUE, y: NULL|>, + <|x: NULL, y: FALSE|>, + <|x: NULL, y: TRUE|>, + <|x: NULL, y: NULL|>, +]; + +SELECT + x OR y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_opt_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_opt_scalar_/formatted.sql new file mode 100644 index 0000000000..5d3ac79341 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_opt_scalar_/formatted.sql @@ -0,0 +1,31 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: FALSE, y: NULL|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, + <|x: TRUE, y: NULL|>, + <|x: NULL, y: FALSE|>, + <|x: NULL, y: TRUE|>, + <|x: NULL, y: NULL|>, +]; + +SELECT + x, + y, + Opaque(FALSE) OR y, + Opaque(TRUE) OR y, + Opaque(Nothing(bool?)) OR y +FROM + as_table($data) +; + +SELECT + x, + y, + x OR Opaque(FALSE), + x OR Opaque(TRUE), + x OR Opaque(Nothing(bool?)) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_scalar_/formatted.sql new file mode 100644 index 0000000000..a986717228 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-or_scalar_/formatted.sql @@ -0,0 +1,24 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, +]; + +SELECT + x, + y, + x OR Opaque(FALSE), + x OR Opaque(TRUE) +FROM + as_table($data) +; + +SELECT + x, + y, + Opaque(FALSE) OR y, + Opaque(TRUE) OR y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_/formatted.sql new file mode 100644 index 0000000000..e91b132c77 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_/formatted.sql @@ -0,0 +1,12 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, +]; + +SELECT + x XOR y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_opt_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_opt_/formatted.sql new file mode 100644 index 0000000000..2085ea9697 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_opt_/formatted.sql @@ -0,0 +1,17 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: FALSE, y: NULL|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, + <|x: TRUE, y: NULL|>, + <|x: NULL, y: FALSE|>, + <|x: NULL, y: TRUE|>, + <|x: NULL, y: NULL|>, +]; + +SELECT + x XOR y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_opt_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_opt_scalar_/formatted.sql new file mode 100644 index 0000000000..4c01d983bb --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_opt_scalar_/formatted.sql @@ -0,0 +1,31 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: FALSE, y: NULL|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, + <|x: TRUE, y: NULL|>, + <|x: NULL, y: FALSE|>, + <|x: NULL, y: TRUE|>, + <|x: NULL, y: NULL|>, +]; + +SELECT + x, + y, + Opaque(FALSE) XOR y, + Opaque(TRUE) XOR y, + Opaque(Nothing(bool?)) XOR y +FROM + as_table($data) +; + +SELECT + x, + y, + x XOR Opaque(FALSE), + x XOR Opaque(TRUE), + x XOR Opaque(Nothing(bool?)) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_scalar_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_scalar_/formatted.sql new file mode 100644 index 0000000000..f85c38896a --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-xor_scalar_/formatted.sql @@ -0,0 +1,24 @@ +$data = [ + <|x: FALSE, y: FALSE|>, + <|x: FALSE, y: TRUE|>, + <|x: TRUE, y: FALSE|>, + <|x: TRUE, y: TRUE|>, +]; + +SELECT + x, + y, + x XOR Opaque(FALSE), + x XOR Opaque(TRUE) +FROM + as_table($data) +; + +SELECT + x, + y, + Opaque(FALSE) XOR y, + Opaque(TRUE) XOR y +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/suites/blocks/and.sql b/yql/essentials/tests/sql/suites/blocks/and.sql new file mode 100644 index 0000000000..e8e69e37a4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/and.sql @@ -0,0 +1,8 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:true,y:false|>, + <|x:true,y:true|>, +]; + +select x and y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/and_opt.sql b/yql/essentials/tests/sql/suites/blocks/and_opt.sql new file mode 100644 index 0000000000..b26fb42bf0 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/and_opt.sql @@ -0,0 +1,13 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:false,y:null|>, + <|x:true,y:false|>, + <|x:true,y:true|>, + <|x:true,y:null|>, + <|x:null,y:false|>, + <|x:null,y:true|>, + <|x:null,y:null|>, +]; + +select x and y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/and_opt_scalar.sql b/yql/essentials/tests/sql/suites/blocks/and_opt_scalar.sql new file mode 100644 index 0000000000..1c11b2e9b5 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/and_opt_scalar.sql @@ -0,0 +1,14 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:false,y:null|>, + <|x:true,y:false|>, + <|x:true,y:true|>, + <|x:true,y:null|>, + <|x:null,y:false|>, + <|x:null,y:true|>, + <|x:null,y:null|>, +]; + +select x,y,Opaque(false) and y,Opaque(true) and y,Opaque(Nothing(bool?)) and y from as_table($data); +select x,y,x and Opaque(false),x and Opaque(true),x and Opaque(Nothing(bool?)) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/and_scalar.sql b/yql/essentials/tests/sql/suites/blocks/and_scalar.sql new file mode 100644 index 0000000000..a02d79ffae --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/and_scalar.sql @@ -0,0 +1,9 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:true,y:false|>, + <|x:true,y:true|>, +]; + +select x,y,x and Opaque(false),x and Opaque(true) from as_table($data); +select x,y,Opaque(false) and y,Opaque(true) and y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/coalesce.sql b/yql/essentials/tests/sql/suites/blocks/coalesce.sql new file mode 100644 index 0000000000..49be4b1406 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/coalesce.sql @@ -0,0 +1,14 @@ +$data1 = [ + <|x:nothing(int32?),y:10|>, + <|x:just(1),y:10|>, +]; + +$data2 = [ + <|x:nothing(int32?),y:just(10)|>, + <|x:just(1),y:just(10)|>, + <|x:just(1),y:nothing(int32?)|>, +]; + +select x ?? y from as_table($data1); + +select x ?? y from as_table($data2); diff --git a/yql/essentials/tests/sql/suites/blocks/coalesce_scalar.sql b/yql/essentials/tests/sql/suites/blocks/coalesce_scalar.sql new file mode 100644 index 0000000000..684082c723 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/coalesce_scalar.sql @@ -0,0 +1,14 @@ +$data1 = [ + <|x:nothing(int32?),y:10|>, + <|x:just(1),y:10|>, +]; + +$data2 = [ + <|x:nothing(int32?),y:just(10)|>, + <|x:just(1),y:just(10)|>, + <|x:just(1),y:nothing(int32?)|>, +]; + +select x ?? Opaque(10), Opaque(nothing(int32?)) ?? y, Opaque(just(1)) ?? y from as_table($data1); + +select x ?? Opaque(just(10)),x ?? Opaque(nothing(int32?)),Opaque(nothing(int32?)) ?? y,Opaque(just(1)) ?? y from as_table($data2); diff --git a/yql/essentials/tests/sql/suites/blocks/exists.sql b/yql/essentials/tests/sql/suites/blocks/exists.sql new file mode 100644 index 0000000000..1f170ffc5c --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/exists.sql @@ -0,0 +1,3 @@ +$data = [<|x:nothing(int32?)|>,<|x:just(1)|>]; + +select x is not null from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/if.sql b/yql/essentials/tests/sql/suites/blocks/if.sql new file mode 100644 index 0000000000..bc4fbb82dc --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/if.sql @@ -0,0 +1,6 @@ +$data = [ + <|x:false,y:1,z:2|>, + <|x:true,y:3,z:4|>, +]; + +select if(x,y,z) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/if_scalar.sql b/yql/essentials/tests/sql/suites/blocks/if_scalar.sql new file mode 100644 index 0000000000..4eedc26bfc --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/if_scalar.sql @@ -0,0 +1,7 @@ +$data = [ + <|x:false,y:1,z:2|>, + <|x:true,y:3,z:4|>, +]; + +select x,if(Opaque(false),y,z),if(Opaque(true),y,z),if(x,Opaque(5),z),if(x,5,Opaque(6)) from as_table($data); +select x,if(Opaque(false),Opaque(5),z),if(Opaque(true),y,Opaque(6)) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/not.sql b/yql/essentials/tests/sql/suites/blocks/not.sql new file mode 100644 index 0000000000..9a95ad5627 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/not.sql @@ -0,0 +1,3 @@ +$data = [<|x:true|>,<|x:false|>]; + +select not x from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/not_opt.sql b/yql/essentials/tests/sql/suites/blocks/not_opt.sql new file mode 100644 index 0000000000..dcb47762db --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/not_opt.sql @@ -0,0 +1,3 @@ +$data = [<|x:true|>,<|x:false|>,<|x:null|>]; + +select not x from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/or.sql b/yql/essentials/tests/sql/suites/blocks/or.sql new file mode 100644 index 0000000000..32ad70eb33 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/or.sql @@ -0,0 +1,8 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:true,y:false|>, + <|x:true,y:true|>, +]; + +select x or y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/or_opt.sql b/yql/essentials/tests/sql/suites/blocks/or_opt.sql new file mode 100644 index 0000000000..015f7b0658 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/or_opt.sql @@ -0,0 +1,13 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:false,y:null|>, + <|x:true,y:false|>, + <|x:true,y:true|>, + <|x:true,y:null|>, + <|x:null,y:false|>, + <|x:null,y:true|>, + <|x:null,y:null|>, +]; + +select x or y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/or_opt_scalar.sql b/yql/essentials/tests/sql/suites/blocks/or_opt_scalar.sql new file mode 100644 index 0000000000..c065180f47 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/or_opt_scalar.sql @@ -0,0 +1,14 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:false,y:null|>, + <|x:true,y:false|>, + <|x:true,y:true|>, + <|x:true,y:null|>, + <|x:null,y:false|>, + <|x:null,y:true|>, + <|x:null,y:null|>, +]; + +select x,y,Opaque(false) or y,Opaque(true) or y,Opaque(Nothing(bool?)) or y from as_table($data); +select x,y,x or Opaque(false),x or Opaque(true),x or Opaque(Nothing(bool?)) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/or_scalar.sql b/yql/essentials/tests/sql/suites/blocks/or_scalar.sql new file mode 100644 index 0000000000..e3437d8355 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/or_scalar.sql @@ -0,0 +1,9 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:true,y:false|>, + <|x:true,y:true|>, +]; + +select x,y,x or Opaque(false),x or Opaque(true) from as_table($data); +select x,y,Opaque(false) or y,Opaque(true) or y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/xor.sql b/yql/essentials/tests/sql/suites/blocks/xor.sql new file mode 100644 index 0000000000..3b1cef3f70 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/xor.sql @@ -0,0 +1,8 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:true,y:false|>, + <|x:true,y:true|>, +]; + +select x xor y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/xor_opt.sql b/yql/essentials/tests/sql/suites/blocks/xor_opt.sql new file mode 100644 index 0000000000..086e8b963e --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/xor_opt.sql @@ -0,0 +1,13 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:false,y:null|>, + <|x:true,y:false|>, + <|x:true,y:true|>, + <|x:true,y:null|>, + <|x:null,y:false|>, + <|x:null,y:true|>, + <|x:null,y:null|>, +]; + +select x xor y from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/xor_opt_scalar.sql b/yql/essentials/tests/sql/suites/blocks/xor_opt_scalar.sql new file mode 100644 index 0000000000..dbfc791ca6 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/xor_opt_scalar.sql @@ -0,0 +1,14 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:false,y:null|>, + <|x:true,y:false|>, + <|x:true,y:true|>, + <|x:true,y:null|>, + <|x:null,y:false|>, + <|x:null,y:true|>, + <|x:null,y:null|>, +]; + +select x,y,Opaque(false) xor y,Opaque(true) xor y,Opaque(Nothing(bool?)) xor y from as_table($data); +select x,y,x xor Opaque(false),x xor Opaque(true),x xor Opaque(Nothing(bool?)) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/xor_scalar.sql b/yql/essentials/tests/sql/suites/blocks/xor_scalar.sql new file mode 100644 index 0000000000..84819e7766 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/xor_scalar.sql @@ -0,0 +1,9 @@ +$data = [ + <|x:false,y:false|>, + <|x:false,y:true|>, + <|x:true,y:false|>, + <|x:true,y:true|>, +]; + +select x,y,x xor Opaque(false),x xor Opaque(true) from as_table($data); +select x,y,Opaque(false) xor y,Opaque(true) xor y from as_table($data); |