mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Changed the test case for MDEV-15571
It has been done to demonstrate that the fix of this bug is good for 10.3 as well. The previous test case is not good for this purpose because 10.2 and 10.3 use different rules for determining the types of recursive CTEs.
This commit is contained in:
@@ -3083,16 +3083,19 @@ set big_tables=default;
|
||||
#
|
||||
# MDEV-15571: using recursive cte with big_tables enabled
|
||||
#
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(1);
|
||||
set big_tables=1;
|
||||
with recursive qn as
|
||||
(
|
||||
select 1 as a from dual
|
||||
select a from t1
|
||||
union all
|
||||
select a*2000 from qn where a<10000000000000000000
|
||||
)
|
||||
select * from qn;
|
||||
ERROR 22003: BIGINT value is out of range in '`qn`.`a` * 2000'
|
||||
set big_tables=default;
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-15556: using recursive cte with big_tables enabled
|
||||
# when recursive tables are accessed by key
|
||||
|
||||
@@ -2114,12 +2114,15 @@ set big_tables=default;
|
||||
--echo # MDEV-15571: using recursive cte with big_tables enabled
|
||||
--echo #
|
||||
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(1);
|
||||
|
||||
set big_tables=1;
|
||||
|
||||
--error ER_DATA_OUT_OF_RANGE
|
||||
with recursive qn as
|
||||
(
|
||||
select 1 as a from dual
|
||||
select a from t1
|
||||
union all
|
||||
select a*2000 from qn where a<10000000000000000000
|
||||
)
|
||||
@@ -2127,6 +2130,8 @@ select * from qn;
|
||||
|
||||
set big_tables=default;
|
||||
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15556: using recursive cte with big_tables enabled
|
||||
--echo # when recursive tables are accessed by key
|
||||
|
||||
@@ -1304,6 +1304,8 @@ JOIN::optimize_inner()
|
||||
|
||||
/* Convert all outer joins to inner joins if possible */
|
||||
conds= simplify_joins(this, join_list, conds, TRUE, FALSE);
|
||||
if (thd->is_error())
|
||||
DBUG_RETURN(1);
|
||||
if (select_lex->save_leaf_tables(thd))
|
||||
DBUG_RETURN(1);
|
||||
build_bitmap_for_nested_joins(join_list, 0);
|
||||
|
||||
Reference in New Issue
Block a user