mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +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;
|
create table test.t1 like x;
|
||||||
ERROR 42000: Incorrect database name 'NULL'
|
ERROR 42000: Incorrect database name 'NULL'
|
||||||
drop table if exists test.t1;
|
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;
|
drop table if exists test.t1;
|
||||||
--enable_warnings
|
--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
|
# 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
|
Validate the destination table
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user