1
0
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:
georg@lmy002.wdf.sap.corp
2005-08-03 07:29:48 +02:00
parent 8fecc1718e
commit 7251e9dbd8
3 changed files with 26 additions and 0 deletions

View File

@ -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;

View File

@ -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

View File

@ -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