Skip to content

Commit

Permalink
add case
Browse files Browse the repository at this point in the history
  • Loading branch information
starocean999 committed Aug 30, 2024
1 parent 8aa3e0c commit 3ceda99
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,11 @@
-- !select_join2 --
3 4

-- !select_having1 --
1
1

-- !select_having2 --
1
1

Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ suite("correlated_scalar_subquery") {
drop table if exists correlated_scalar_t2;
"""

sql """
drop table if exists correlated_scalar_t3;
"""

sql """
create table correlated_scalar_t1
(c1 bigint, c2 bigint)
Expand All @@ -48,12 +52,27 @@ suite("correlated_scalar_subquery") {
);
"""

sql """
create table correlated_scalar_t3
(c1 bigint, c2 bigint)
ENGINE=OLAP
DUPLICATE KEY(c1, c2)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(c1) BUCKETS 1
PROPERTIES (
"replication_num" = "1"
);
"""

sql """
insert into correlated_scalar_t1 values (1,null),(null,1),(1,2), (null,2),(1,3), (2,4), (2,5), (3,3), (3,4), (20,2), (22,3), (24,4),(null,null);
"""
sql """
insert into correlated_scalar_t2 values (1,null),(null,1),(1,4), (1,2), (null,3), (2,4), (3,7), (3,9),(null,null),(5,1);
"""
sql """
insert into correlated_scalar_t3 values (1,null),(null,1),(1,9), (1,8), (null,7), (2,6), (3,7), (3,9),(null,null),(5,1);
"""

qt_select_where1 """select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select c1 from correlated_scalar_t2 where correlated_scalar_t1.c1 = correlated_scalar_t2.c1 and correlated_scalar_t2.c2 < 4);"""
qt_select_where2 """select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select any_value(c1) from correlated_scalar_t2 where correlated_scalar_t1.c1 = correlated_scalar_t2.c1 and correlated_scalar_t2.c2 < 4);"""
Expand All @@ -64,6 +83,9 @@ suite("correlated_scalar_subquery") {
qt_select_join1 """select correlated_scalar_t1.* from correlated_scalar_t1 join correlated_scalar_t2 on correlated_scalar_t1.c1 = correlated_scalar_t2.c2 and correlated_scalar_t1.c2 > (select c1 from correlated_scalar_t2 where correlated_scalar_t1.c1 = correlated_scalar_t2.c1 and correlated_scalar_t2.c2 > 7);"""
qt_select_join2 """select correlated_scalar_t1.* from correlated_scalar_t1 join correlated_scalar_t2 on correlated_scalar_t1.c1 = correlated_scalar_t2.c2 and correlated_scalar_t1.c2 > (select any_value(c1) from correlated_scalar_t2 where correlated_scalar_t1.c1 = correlated_scalar_t2.c1 and correlated_scalar_t2.c2 > 7);"""

qt_select_having1 """select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select correlated_scalar_t2.c1 from correlated_scalar_t2 where correlated_scalar_t2.c2 < 4 having correlated_scalar_t1.c1 = correlated_scalar_t2.c1);"""
qt_select_having2 """select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select any_value(correlated_scalar_t2.c1) from correlated_scalar_t2 where correlated_scalar_t2.c2 < 4 having correlated_scalar_t1.c1 = any_value(correlated_scalar_t2.c1));"""

test {
sql """
select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select c1 from correlated_scalar_t2 where correlated_scalar_t1.c1 = correlated_scalar_t2.c1);
Expand All @@ -84,4 +106,32 @@ suite("correlated_scalar_subquery") {
"""
exception "correlate scalar subquery must return only 1 row"
}
}

test {
sql """
select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select correlated_scalar_t1.c1 from correlated_scalar_t2 where correlated_scalar_t2.c2 < 4 and correlated_scalar_t1.c1 = correlated_scalar_t2.c1 );
"""
exception "outer query's column is not supported in subquery's output"
}

test {
sql """
select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select any_value(correlated_scalar_t2.c1 +correlated_scalar_t1.c1 ) from correlated_scalar_t2 where correlated_scalar_t2.c2 < 4 and correlated_scalar_t1.c1 = correlated_scalar_t2.c1);
"""
exception "outer query's column is not supported in subquery's aggregation operator"
}

test {
sql """
select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select min(correlated_scalar_t2.c1) from correlated_scalar_t2 join (select correlated_scalar_t3.c1 from correlated_scalar_t3 where correlated_scalar_t1.c1 = correlated_scalar_t3.c2 ) tt on correlated_scalar_t2.c2 > tt.c1);
"""
exception "Unsupported accesss outer join's column under join operator"
}

test {
sql """
select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select min(correlated_scalar_t2.c1) from correlated_scalar_t2 join correlated_scalar_t3 on correlated_scalar_t1.c1 = correlated_scalar_t3.c2 );
"""
exception "Unsupported accesss outer join's column under join operator"
}
}

0 comments on commit 3ceda99

Please sign in to comment.