mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-29697 Assertion failure in Diagnostics_area::set_ok_status
upon CREATE OR REPLACE causing ER_UPDATE_TABLE_USED Missed set return status to 1.
This commit is contained in:
@ -532,3 +532,12 @@ SELECT * FROM t3;
|
||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t3;
|
||||
#
|
||||
# MDEV-29697 Assertion failure in Diagnostics_area::set_ok_status
|
||||
# upon CREATE OR REPLACE causing ER_UPDATE_TABLE_USED
|
||||
#
|
||||
CREATE TABLE t (a INT) ENGINE=MyISAM;
|
||||
CREATE TABLE tm (a INT) ENGINE=MERGE UNION(t);
|
||||
CREATE OR REPLACE TABLE t LIKE tm;
|
||||
ERROR HY000: Table 'tm' is specified twice, both as a target for 'CREATE' and as a separate source for data
|
||||
DROP TABLE IF EXISTS tm, t;
|
||||
|
@ -485,3 +485,15 @@ CREATE OR REPLACE TEMPORARY TABLE t2(c INT DEFAULT '');
|
||||
SELECT * FROM t3;
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t3;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-29697 Assertion failure in Diagnostics_area::set_ok_status
|
||||
--echo # upon CREATE OR REPLACE causing ER_UPDATE_TABLE_USED
|
||||
--echo #
|
||||
CREATE TABLE t (a INT) ENGINE=MyISAM;
|
||||
CREATE TABLE tm (a INT) ENGINE=MERGE UNION(t);
|
||||
--error ER_UPDATE_TABLE_USED
|
||||
CREATE OR REPLACE TABLE t LIKE tm;
|
||||
|
||||
# Cleanup
|
||||
DROP TABLE IF EXISTS tm, t;
|
||||
|
@ -5742,6 +5742,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
||||
if ((duplicate= unique_table(thd, table, src_table, 0)))
|
||||
{
|
||||
update_non_unique_table_error(src_table, "CREATE", duplicate);
|
||||
res= 1;
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user