# name: test/sql/join/test_nested_inequality.test # description: Test join with nested types for the keys # group: [join] statement ok CREATE VIEW list_int AS SELECT i, i%2 as i2, [i, i + 1, i + 2] as l3 FROM range(10) tbl(i); query IIIIII select lhs.*, rhs.* from list_int lhs, list_int rhs where lhs.i2 = rhs.i2 and lhs.l3 <> rhs.l3 order by lhs.i, rhs.i; ---- 0 0 [0, 1, 2] 2 0 [2, 3, 4] 0 0 [0, 1, 2] 4 0 [4, 5, 6] 0 0 [0, 1, 2] 6 0 [6, 7, 8] 0 0 [0, 1, 2] 8 0 [8, 9, 10] 1 1 [1, 2, 3] 3 1 [3, 4, 5] 1 1 [1, 2, 3] 5 1 [5, 6, 7] 1 1 [1, 2, 3] 7 1 [7, 8, 9] 1 1 [1, 2, 3] 9 1 [9, 10, 11] 2 0 [2, 3, 4] 0 0 [0, 1, 2] 2 0 [2, 3, 4] 4 0 [4, 5, 6] 2 0 [2, 3, 4] 6 0 [6, 7, 8] 2 0 [2, 3, 4] 8 0 [8, 9, 10] 3 1 [3, 4, 5] 1 1 [1, 2, 3] 3 1 [3, 4, 5] 5 1 [5, 6, 7] 3 1 [3, 4, 5] 7 1 [7, 8, 9] 3 1 [3, 4, 5] 9 1 [9, 10, 11] 4 0 [4, 5, 6] 0 0 [0, 1, 2] 4 0 [4, 5, 6] 2 0 [2, 3, 4] 4 0 [4, 5, 6] 6 0 [6, 7, 8] 4 0 [4, 5, 6] 8 0 [8, 9, 10] 5 1 [5, 6, 7] 1 1 [1, 2, 3] 5 1 [5, 6, 7] 3 1 [3, 4, 5] 5 1 [5, 6, 7] 7 1 [7, 8, 9] 5 1 [5, 6, 7] 9 1 [9, 10, 11] 6 0 [6, 7, 8] 0 0 [0, 1, 2] 6 0 [6, 7, 8] 2 0 [2, 3, 4] 6 0 [6, 7, 8] 4 0 [4, 5, 6] 6 0 [6, 7, 8] 8 0 [8, 9, 10] 7 1 [7, 8, 9] 1 1 [1, 2, 3] 7 1 [7, 8, 9] 3 1 [3, 4, 5] 7 1 [7, 8, 9] 5 1 [5, 6, 7] 7 1 [7, 8, 9] 9 1 [9, 10, 11] 8 0 [8, 9, 10] 0 0 [0, 1, 2] 8 0 [8, 9, 10] 2 0 [2, 3, 4] 8 0 [8, 9, 10] 4 0 [4, 5, 6] 8 0 [8, 9, 10] 6 0 [6, 7, 8] 9 1 [9, 10, 11] 1 1 [1, 2, 3] 9 1 [9, 10, 11] 3 1 [3, 4, 5] 9 1 [9, 10, 11] 5 1 [5, 6, 7] 9 1 [9, 10, 11] 7 1 [7, 8, 9] query IIIIII select lhs.*, rhs.* from list_int lhs, list_int rhs where lhs.i2 = rhs.i2 and lhs.l3 <= rhs.l3 order by lhs.i, rhs.i; ---- 0 0 [0, 1, 2] 0 0 [0, 1, 2] 0 0 [0, 1, 2] 2 0 [2, 3, 4] 0 0 [0, 1, 2] 4 0 [4, 5, 6] 0 0 [0, 1, 2] 6 0 [6, 7, 8] 0 0 [0, 1, 2] 8 0 [8, 9, 10] 1 1 [1, 2, 3] 1 1 [1, 2, 3] 1 1 [1, 2, 3] 3 1 [3, 4, 5] 1 1 [1, 2, 3] 5 1 [5, 6, 7] 1 1 [1, 2, 3] 7 1 [7, 8, 9] 1 1 [1, 2, 3] 9 1 [9, 10, 11] 2 0 [2, 3, 4] 2 0 [2, 3, 4] 2 0 [2, 3, 4] 4 0 [4, 5, 6] 2 0 [2, 3, 4] 6 0 [6, 7, 8] 2 0 [2, 3, 4] 8 0 [8, 9, 10] 3 1 [3, 4, 5] 3 1 [3, 4, 5] 3 1 [3, 4, 5] 5 1 [5, 6, 7] 3 1 [3, 4, 5] 7 1 [7, 8, 9] 3 1 [3, 4, 5] 9 1 [9, 10, 11] 4 0 [4, 5, 6] 4 0 [4, 5, 6] 4 0 [4, 5, 6] 6 0 [6, 7, 8] 4 0 [4, 5, 6] 8 0 [8, 9, 10] 5 1 [5, 6, 7] 5 1 [5, 6, 7] 5 1 [5, 6, 7] 7 1 [7, 8, 9] 5 1 [5, 6, 7] 9 1 [9, 10, 11] 6 0 [6, 7, 8] 6 0 [6, 7, 8] 6 0 [6, 7, 8] 8 0 [8, 9, 10] 7 1 [7, 8, 9] 7 1 [7, 8, 9] 7 1 [7, 8, 9] 9 1 [9, 10, 11] 8 0 [8, 9, 10] 8 0 [8, 9, 10] 9 1 [9, 10, 11] 9 1 [9, 10, 11] query IIIIII select lhs.*, rhs.* from list_int lhs, list_int rhs where lhs.i2 = rhs.i2 and lhs.l3 < rhs.l3 order by lhs.i, rhs.i; ---- 0 0 [0, 1, 2] 2 0 [2, 3, 4] 0 0 [0, 1, 2] 4 0 [4, 5, 6] 0 0 [0, 1, 2] 6 0 [6, 7, 8] 0 0 [0, 1, 2] 8 0 [8, 9, 10] 1 1 [1, 2, 3] 3 1 [3, 4, 5] 1 1 [1, 2, 3] 5 1 [5, 6, 7] 1 1 [1, 2, 3] 7 1 [7, 8, 9] 1 1 [1, 2, 3] 9 1 [9, 10, 11] 2 0 [2, 3, 4] 4 0 [4, 5, 6] 2 0 [2, 3, 4] 6 0 [6, 7, 8] 2 0 [2, 3, 4] 8 0 [8, 9, 10] 3 1 [3, 4, 5] 5 1 [5, 6, 7] 3 1 [3, 4, 5] 7 1 [7, 8, 9] 3 1 [3, 4, 5] 9 1 [9, 10, 11] 4 0 [4, 5, 6] 6 0 [6, 7, 8] 4 0 [4, 5, 6] 8 0 [8, 9, 10] 5 1 [5, 6, 7] 7 1 [7, 8, 9] 5 1 [5, 6, 7] 9 1 [9, 10, 11] 6 0 [6, 7, 8] 8 0 [8, 9, 10] 7 1 [7, 8, 9] 9 1 [9, 10, 11] query IIIIII select lhs.*, rhs.* from list_int lhs, list_int rhs where lhs.i2 = rhs.i2 and lhs.l3 >= rhs.l3 order by lhs.i, rhs.i; ---- 0 0 [0, 1, 2] 0 0 [0, 1, 2] 1 1 [1, 2, 3] 1 1 [1, 2, 3] 2 0 [2, 3, 4] 0 0 [0, 1, 2] 2 0 [2, 3, 4] 2 0 [2, 3, 4] 3 1 [3, 4, 5] 1 1 [1, 2, 3] 3 1 [3, 4, 5] 3 1 [3, 4, 5] 4 0 [4, 5, 6] 0 0 [0, 1, 2] 4 0 [4, 5, 6] 2 0 [2, 3, 4] 4 0 [4, 5, 6] 4 0 [4, 5, 6] 5 1 [5, 6, 7] 1 1 [1, 2, 3] 5 1 [5, 6, 7] 3 1 [3, 4, 5] 5 1 [5, 6, 7] 5 1 [5, 6, 7] 6 0 [6, 7, 8] 0 0 [0, 1, 2] 6 0 [6, 7, 8] 2 0 [2, 3, 4] 6 0 [6, 7, 8] 4 0 [4, 5, 6] 6 0 [6, 7, 8] 6 0 [6, 7, 8] 7 1 [7, 8, 9] 1 1 [1, 2, 3] 7 1 [7, 8, 9] 3 1 [3, 4, 5] 7 1 [7, 8, 9] 5 1 [5, 6, 7] 7 1 [7, 8, 9] 7 1 [7, 8, 9] 8 0 [8, 9, 10] 0 0 [0, 1, 2] 8 0 [8, 9, 10] 2 0 [2, 3, 4] 8 0 [8, 9, 10] 4 0 [4, 5, 6] 8 0 [8, 9, 10] 6 0 [6, 7, 8] 8 0 [8, 9, 10] 8 0 [8, 9, 10] 9 1 [9, 10, 11] 1 1 [1, 2, 3] 9 1 [9, 10, 11] 3 1 [3, 4, 5] 9 1 [9, 10, 11] 5 1 [5, 6, 7] 9 1 [9, 10, 11] 7 1 [7, 8, 9] 9 1 [9, 10, 11] 9 1 [9, 10, 11] query IIIIII select lhs.*, rhs.* from list_int lhs, list_int rhs where lhs.i2 = rhs.i2 and lhs.l3 > rhs.l3 order by lhs.i, rhs.i; ---- 2 0 [2, 3, 4] 0 0 [0, 1, 2] 3 1 [3, 4, 5] 1 1 [1, 2, 3] 4 0 [4, 5, 6] 0 0 [0, 1, 2] 4 0 [4, 5, 6] 2 0 [2, 3, 4] 5 1 [5, 6, 7] 1 1 [1, 2, 3] 5 1 [5, 6, 7] 3 1 [3, 4, 5] 6 0 [6, 7, 8] 0 0 [0, 1, 2] 6 0 [6, 7, 8] 2 0 [2, 3, 4] 6 0 [6, 7, 8] 4 0 [4, 5, 6] 7 1 [7, 8, 9] 1 1 [1, 2, 3] 7 1 [7, 8, 9] 3 1 [3, 4, 5] 7 1 [7, 8, 9] 5 1 [5, 6, 7] 8 0 [8, 9, 10] 0 0 [0, 1, 2] 8 0 [8, 9, 10] 2 0 [2, 3, 4] 8 0 [8, 9, 10] 4 0 [4, 5, 6] 8 0 [8, 9, 10] 6 0 [6, 7, 8] 9 1 [9, 10, 11] 1 1 [1, 2, 3] 9 1 [9, 10, 11] 3 1 [3, 4, 5] 9 1 [9, 10, 11] 5 1 [5, 6, 7] 9 1 [9, 10, 11] 7 1 [7, 8, 9]