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
|
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
DROP TABLE t3;
|
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;
|
SELECT * FROM t3;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
DROP TABLE t3;
|
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)))
|
if ((duplicate= unique_table(thd, table, src_table, 0)))
|
||||||
{
|
{
|
||||||
update_non_unique_table_error(src_table, "CREATE", duplicate);
|
update_non_unique_table_error(src_table, "CREATE", duplicate);
|
||||||
|
res= 1;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user