Commit 4ba2e008 authored by unknown's avatar unknown

A new error message for deprecated statements.

Fixes failing sp.test


mysql-test/r/backup.result:
  A new error message for deprecated statements.
mysql-test/t/sp.test:
  Disable warnings in the test for Bug#13012
sql/share/errmsg.txt:
  A new error message for deprecated statements.
sql/sql_yacc.yy:
  Use a better worded error message.
parent 613d1721
......@@ -6,26 +6,26 @@ Table Op Msg_type Msg_text
test.t4 backup error Failed copying .frm file (errno: X)
test.t4 backup status Operation failed
Warnings:
Warning 1287 'BACKUP TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'BACKUP TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/bogus/t4.frm' (Errcode: X)
backup table t4 to '../tmp';
Table Op Msg_type Msg_text
test.t4 backup status OK
Warnings:
Warning 1287 'BACKUP TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'BACKUP TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
backup table t4 to '../tmp';
Table Op Msg_type Msg_text
test.t4 backup error Failed copying .frm file (errno: X)
test.t4 backup status Operation failed
Warnings:
Warning 1287 'BACKUP TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'BACKUP TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/tmp/t4.frm' (Errcode: X)
drop table t4;
restore table t4 from '../tmp';
Table Op Msg_type Msg_text
test.t4 restore status OK
Warnings:
Warning 1287 'RESTORE TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'RESTORE TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
select count(*) from t4;
count(*)
0
......@@ -35,19 +35,19 @@ backup table t1 to '../tmp';
Table Op Msg_type Msg_text
test.t1 backup status OK
Warnings:
Warning 1287 'BACKUP TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'BACKUP TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
drop table t1;
restore table t1 from '../bogus';
Table Op Msg_type Msg_text
t1 restore error Failed copying .frm file
Warnings:
Warning 1287 'RESTORE TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'RESTORE TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
Error 29 File 'MYSQLTEST_VARDIR/bogus/t1.frm' not found (Errcode: X)
restore table t1 from '../tmp';
Table Op Msg_type Msg_text
test.t1 restore status OK
Warnings:
Warning 1287 'RESTORE TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'RESTORE TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
select n from t1;
n
23
......@@ -62,7 +62,7 @@ Table Op Msg_type Msg_text
test.t2 backup status OK
test.t3 backup status OK
Warnings:
Warning 1287 'BACKUP TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'BACKUP TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
drop table t1,t2,t3;
restore table t1,t2,t3 from '../tmp';
Table Op Msg_type Msg_text
......@@ -70,7 +70,7 @@ test.t1 restore status OK
test.t2 restore status OK
test.t3 restore status OK
Warnings:
Warning 1287 'RESTORE TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'RESTORE TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
select n from t1;
n
23
......@@ -91,7 +91,7 @@ restore table t1 from '../tmp';
Table Op Msg_type Msg_text
test.t1 restore status OK
Warnings:
Warning 1287 'RESTORE TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'RESTORE TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
rename table t1 to t5;
lock tables t5 write;
backup table t5 to '../tmp';
......@@ -99,5 +99,5 @@ unlock tables;
Table Op Msg_type Msg_text
test.t5 backup status OK
Warnings:
Warning 1287 'BACKUP TABLE' is deprecated; use 'Command will be removed in next version.' instead
Warning 1540 The 'BACKUP TABLE' statement is deprecated and will be removed in MySQL 5.2. Please use client programs (e.g. mysqldump, mysql, MySQL Administrator) instead.
drop table t5;
......@@ -4929,7 +4929,7 @@ drop procedure bug5967|
#
--disable_warnings
drop procedure if exists bug13012|
--enable_warnings
# Disable warnings also for BACKUP/RESTORE: they are deprecated.
create procedure bug13012()
BEGIN
REPAIR TABLE t1;
......@@ -4938,6 +4938,7 @@ BEGIN
RESTORE TABLE t1 FROM '../tmp';
END|
call bug13012()|
--enable_warnings
drop procedure bug13012|
create view v1 as select * from t1|
create procedure bug13012()
......
......@@ -5810,3 +5810,6 @@ ER_ILLEGAL_HA_CREATE_OPTION
eng "Table storage engine '%-.64s' does not support the create option '%.64s'"
ER_CANT_CHANGE_TX_ISOLATION 25001
eng "Transaction isolation level can't be changed while a transaction is in progress"
ER_WARN_DEPRECATED_STATEMENT
eng "The '%s' statement is deprecated and will be removed in MySQL %s. Please use client programs (e.g. %s) instead."
......@@ -5350,7 +5350,11 @@ restore:
RESTORE_SYM table_or_tables
{
Lex->sql_command = SQLCOM_RESTORE_TABLE;
WARN_DEPRECATED("RESTORE TABLE", "Command will be removed in next version.");
push_warning_printf(((THD *)yythd), MYSQL_ERROR::WARN_LEVEL_WARN,
ER_WARN_DEPRECATED_STATEMENT,
ER(ER_WARN_DEPRECATED_STATEMENT),
"RESTORE TABLE", "5.2",
"mysqldump, mysql, MySQL Administrator");
}
table_list FROM TEXT_STRING_sys
{
......@@ -5361,7 +5365,11 @@ backup:
BACKUP_SYM table_or_tables
{
Lex->sql_command = SQLCOM_BACKUP_TABLE;
WARN_DEPRECATED("BACKUP TABLE", "Command will be removed in next version.");
push_warning_printf(((THD *)yythd), MYSQL_ERROR::WARN_LEVEL_WARN,
ER_WARN_DEPRECATED_STATEMENT,
ER(ER_WARN_DEPRECATED_STATEMENT),
"BACKUP TABLE", "5.2",
"mysqldump, mysql, MySQL Administrator");
}
table_list TO_SYM TEXT_STRING_sys
{
......@@ -8668,7 +8676,11 @@ load: LOAD DATA_SYM
LOAD TABLE_SYM table_ident FROM MASTER_SYM
{
LEX *lex=Lex;
WARN_DEPRECATED("LOAD TABLE from MASTER", "Command will be removed in next version.");
push_warning_printf(((THD *)yythd), MYSQL_ERROR::WARN_LEVEL_WARN,
ER_WARN_DEPRECATED_STATEMENT,
ER(ER_WARN_DEPRECATED_STATEMENT),
"LOAD TABLE FROM MASTER", "5.2",
"mysqldump, mysql, MySQL Administrator");
if (lex->sphead)
{
my_error(ER_SP_BADSTATEMENT, MYF(0), "LOAD TABLE");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment