summaryrefslogtreecommitdiff
path: root/mysql-test/t/sp-error.test
diff options
context:
space:
mode:
authorRucha Deodhar <rucha.deodhar@mariadb.com>2020-07-06 15:09:16 +0530
committerRucha Deodhar <rucha.deodhar@mariadb.com>2020-07-06 15:39:22 +0530
commit9ca75fef5eab8f5a26a067918806ce80ab3635ce (patch)
treee33d7c9e21e8e842624a01b47f5bb110237e74aa /mysql-test/t/sp-error.test
parentcb2cd9c3a43eacf489ac8a637f556cbbcc0bcaa1 (diff)
downloadmariadb-git-bb-10.2-MDEV-22058.tar.gz
MDEV-22058: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())'bb-10.2-MDEV-22058
failed in Diagnostics_area::set_ok_status Reason: Error state is not stored in check_and_do_in_subquery_rewrites() when there is illegal combination of optimizer switches. So all the functions eventually return false. Thus the assertion failure. Fix: MATERIALIZATION and IN_TO_EXISTS optimizer switch should not be OFF simultaneously and SET should give out error.
Diffstat (limited to 'mysql-test/t/sp-error.test')
-rw-r--r--mysql-test/t/sp-error.test7
1 files changed, 3 insertions, 4 deletions
diff --git a/mysql-test/t/sp-error.test b/mysql-test/t/sp-error.test
index 30715d9c1e0..b0c957ad164 100644
--- a/mysql-test/t/sp-error.test
+++ b/mysql-test/t/sp-error.test
@@ -3853,8 +3853,8 @@ DROP FUNCTION f2;
DROP TABLE t1;
--echo #
---echo # 10.2 Test
---echo #
+--echo # 10.2 Test
+--echo #
--echo # MDEV-MDEV-22058: Assertion `!is_set() || (m_status == DA_OK_BULK &&
--echo # is_bulk_op())' failed in Diagnostics_area::set_ok_status
--echo #
@@ -3862,10 +3862,9 @@ DROP TABLE t1;
SET @old_optimizer_switch = @@SESSION.OPTIMIZER_SWITCH;
SET @cmd:="SET @@SESSION.SQL_MODE=(SELECT 'a')";
-SET @@SESSION.OPTIMIZER_SWITCH="materialization=OFF";
-SET @@SESSION.OPTIMIZER_SWITCH="in_to_exists=OFF";
--error ER_ILLEGAL_SUBQUERY_OPTIMIZER_SWITCHES
+SET @@SESSION.OPTIMIZER_SWITCH="in_to_exists=OFF,materialization=OFF";
PREPARE stmt FROM @cmd;
set @@SESSION.OPTIMIZER_SWITCH=@old_optimizer_switch;