未验证 提交 4152c90c 编写于 作者: A Ashuka Xue 提交者: GitHub

Bump ORCA version to 3.53.0 (#7995)

ICG changes for Create LAS Correlated Apply on in filter context
上级 e995ae86
......@@ -19,4 +19,4 @@ params:
BLD_TARGETS:
OUTPUT_ARTIFACT_DIR: gpdb_artifacts
CONFIGURE_FLAGS:
ORCA_TAG: v3.52.0
ORCA_TAG: v3.53.0
......@@ -40,10 +40,10 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <string.h>
]],
[
return strncmp("3.52.", GPORCA_VERSION_STRING, 5);
return strncmp("3.53.", GPORCA_VERSION_STRING, 5);
])],
[AC_MSG_RESULT([[ok]])],
[AC_MSG_ERROR([Your ORCA version is expected to be 3.52.XXX])]
[AC_MSG_ERROR([Your ORCA version is expected to be 3.53.XXX])]
)
AC_LANG_POP([C++])
])# PGAC_CHECK_ORCA_VERSION
......
......@@ -13982,7 +13982,7 @@ int
main ()
{
return strncmp("3.52.", GPORCA_VERSION_STRING, 5);
return strncmp("3.53.", GPORCA_VERSION_STRING, 5);
;
return 0;
......@@ -13992,7 +13992,7 @@ if ac_fn_cxx_try_run "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
$as_echo "ok" >&6; }
else
as_fn_error $? "Your ORCA version is expected to be 3.52.XXX" "$LINENO" 5
as_fn_error $? "Your ORCA version is expected to be 3.53.XXX" "$LINENO" 5
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
......
[requires]
orca/v3.52.0@gpdb/stable
orca/v3.53.0@gpdb/stable
[imports]
include, * -> build/include
......
......@@ -1315,5 +1315,34 @@ with test as (select * from (select * from append_rel) p where att1 in (select a
20
(1 row)
-- Check correct results for subqueries in the target list
begin;
drop table if exists temp_a, temp_b, temp_c;
NOTICE: table "temp_a" does not exist, skipping
NOTICE: table "temp_b" does not exist, skipping
NOTICE: table "temp_c" does not exist, skipping
create table temp_a (a int ,b int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
create table temp_b (b int ,c int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'b' as the Greenplum Database data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
create table temp_c (c int, d int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'c' as the Greenplum Database data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
insert into temp_a values (1,2), (2,3), (3,4), (4,7), (5,19), (6,13), (7,23), (7,17);
insert into temp_b values (1,2), (2,2), (3,2), (4,2), (5,3), (6,3), (7,3), (8,3), (10,4);
insert into temp_c values (NULL, 2), (2, 2), (4, NULL), (NULL, 3), (1, 3), (8, NULL), (7, 2), (NULL, NULL);
commit;
select sum(case when b in (select b from temp_b where t.a>c) then 1 else 0 end),sum(case when not( b in (select b from temp_b where t.a>c)) then 1 else 0 end) from temp_a t;
sum | sum
-----+-----
2 | 6
(1 row)
select sum(case when b in (select b from temp_b where EXISTS (select sum(d) from temp_c where t.a > d)) then 1 else 0 end),sum(case when not( b in (select b from temp_b where t.a>c)) then 1 else 0 end) from temp_a t;
ERROR: correlated subquery with skip-level correlations is not supported
select sum(case when b in (select b from temp_b where EXISTS (select sum(d) from temp_c where t.a > d or t.a > temp_b.c)) then 1 else 0 end),sum(case when not( b in (select b from temp_b, temp_c where t.a>temp_b.c or t.a > temp_c.d)) then 1 else 0 end) from temp_a t;
ERROR: correlated subquery with skip-level correlations is not supported
set client_min_messages='warning';
drop schema qp_subquery cascade;
......@@ -1318,5 +1318,42 @@ with test as (select * from (select * from append_rel) p where att1 in (select a
20
(1 row)
-- Check correct results for subqueries in the target list
begin;
drop table if exists temp_a, temp_b, temp_c;
NOTICE: table "temp_a" does not exist, skipping
NOTICE: table "temp_b" does not exist, skipping
NOTICE: table "temp_c" does not exist, skipping
create table temp_a (a int ,b int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
create table temp_b (b int ,c int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'b' as the Greenplum Database data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
create table temp_c (c int, d int);
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'c' as the Greenplum Database data distribution key for this table.
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
insert into temp_a values (1,2), (2,3), (3,4), (4,7), (5,19), (6,13), (7,23), (7,17);
insert into temp_b values (1,2), (2,2), (3,2), (4,2), (5,3), (6,3), (7,3), (8,3), (10,4);
insert into temp_c values (NULL, 2), (2, 2), (4, NULL), (NULL, 3), (1, 3), (8, NULL), (7, 2), (NULL, NULL);
commit;
select sum(case when b in (select b from temp_b where t.a>c) then 1 else 0 end),sum(case when not( b in (select b from temp_b where t.a>c)) then 1 else 0 end) from temp_a t;
sum | sum
-----+-----
2 | 6
(1 row)
select sum(case when b in (select b from temp_b where EXISTS (select sum(d) from temp_c where t.a > d)) then 1 else 0 end),sum(case when not( b in (select b from temp_b where t.a>c)) then 1 else 0 end) from temp_a t;
sum | sum
-----+-----
4 | 6
(1 row)
select sum(case when b in (select b from temp_b where EXISTS (select sum(d) from temp_c where t.a > d or t.a > temp_b.c)) then 1 else 0 end),sum(case when not( b in (select b from temp_b, temp_c where t.a>temp_b.c or t.a > temp_c.d)) then 1 else 0 end) from temp_a t;
sum | sum
-----+-----
4 | 6
(1 row)
set client_min_messages='warning';
drop schema qp_subquery cascade;
......@@ -582,5 +582,21 @@ insert into append_rel values(1,10),(2,20),(3,30);
explain with test as (select * from (select * from append_rel) p where att1 in (select att1 from append_rel where att2 >= 19) ) select att2 from append_rel where att1 in (select att1 from test where att2 <= 21);
with test as (select * from (select * from append_rel) p where att1 in (select att1 from append_rel where att2 >= 19) ) select att2 from append_rel where att1 in (select att1 from test where att2 <= 21);
-- Check correct results for subqueries in the target list
begin;
drop table if exists temp_a, temp_b, temp_c;
create table temp_a (a int ,b int);
create table temp_b (b int ,c int);
create table temp_c (c int, d int);
insert into temp_a values (1,2), (2,3), (3,4), (4,7), (5,19), (6,13), (7,23), (7,17);
insert into temp_b values (1,2), (2,2), (3,2), (4,2), (5,3), (6,3), (7,3), (8,3), (10,4);
insert into temp_c values (NULL, 2), (2, 2), (4, NULL), (NULL, 3), (1, 3), (8, NULL), (7, 2), (NULL, NULL);
commit;
select sum(case when b in (select b from temp_b where t.a>c) then 1 else 0 end),sum(case when not( b in (select b from temp_b where t.a>c)) then 1 else 0 end) from temp_a t;
select sum(case when b in (select b from temp_b where EXISTS (select sum(d) from temp_c where t.a > d)) then 1 else 0 end),sum(case when not( b in (select b from temp_b where t.a>c)) then 1 else 0 end) from temp_a t;
select sum(case when b in (select b from temp_b where EXISTS (select sum(d) from temp_c where t.a > d or t.a > temp_b.c)) then 1 else 0 end),sum(case when not( b in (select b from temp_b, temp_c where t.a>temp_b.c or t.a > temp_c.d)) then 1 else 0 end) from temp_a t;
set client_min_messages='warning';
drop schema qp_subquery cascade;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册