mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Fix for bug #6859 (after Sanja's review)
Added check which throws ER_WRONG_OBJECT error in case the .frm doesn't contain a valid table type (e.g. view or trigger)
This commit is contained in:
@ -602,3 +602,10 @@ drop database mysqltest;
|
||||
create table test.t1 like x;
|
||||
ERROR 42000: Incorrect database name 'NULL'
|
||||
drop table if exists test.t1;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
create view v1 as select 'foo' from dual;
|
||||
create table t1 like v1;
|
||||
ERROR HY000: 'mysqltest.v1' is not a table
|
||||
drop view v1;
|
||||
drop database mysqltest;
|
||||
|
@ -515,4 +515,14 @@ create table test.t1 like x;
|
||||
drop table if exists test.t1;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# Bug #6859: Bogus error message on attempt to CREATE TABLE t LIKE view
|
||||
#
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
create view v1 as select 'foo' from dual;
|
||||
--error 1347
|
||||
create table t1 like v1;
|
||||
drop view v1;
|
||||
drop database mysqltest;
|
||||
# End of 4.1 tests
|
||||
|
@ -2629,6 +2629,15 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
create like should be not allowed for Views, Triggers, ...
|
||||
*/
|
||||
if (mysql_frm_type(src_path) != FRMTYPE_TABLE)
|
||||
{
|
||||
my_error(ER_WRONG_OBJECT, MYF(0), src_db, src_table, "a table");
|
||||
goto err;
|
||||
}
|
||||
|
||||
/*
|
||||
Validate the destination table
|
||||
|
||||
|
Reference in New Issue
Block a user