diff options
author | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2020-07-06 15:09:16 +0530 |
---|---|---|
committer | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2020-07-06 15:39:22 +0530 |
commit | 9ca75fef5eab8f5a26a067918806ce80ab3635ce (patch) | |
tree | e33d7c9e21e8e842624a01b47f5bb110237e74aa /mysql-test/t/sp-error.test | |
parent | cb2cd9c3a43eacf489ac8a637f556cbbcc0bcaa1 (diff) | |
download | mariadb-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.test | 7 |
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; |