mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
eb18f93a78
Previously we only stored the first given error (the error sent to the client) include/mysys_err.h: Moved ER_FILENOTFOUND last to avoid getting 'error 0' mysql-test/r/backup.result: More warnings from in case of errors mysql-test/r/innodb.result: More warnings from in case of errors mysql-test/r/key_cache.result: More warnings from in case of errors mysql-test/r/myisam.result: More warnings from in case of errors mysql-test/r/preload.result: More warnings from in case of errors mysql-test/r/repair.result: More warnings from in case of errors mysql-test/r/rpl_failed_optimize.result: More warnings from in case of errors mysql-test/r/subselect.result: More warnings from in case of errors mysql-test/t/backup.test: Portability fix mysql-test/t/innodb.test: Avoid some warnings mysql-test/t/myisam.test: Portability fix mysql-test/t/rpl_rotate_logs.test: Portablitiy fix mysys/errors.c: Move ER_FILENOTFOUND last to avoid error 0 sql/mysql_priv.h: Indentation change sql/mysqld.cc: Save all given errors for SHOW ERRORS sql/protocol.cc: Store new errors for SHOW ERROR (Ignore those that are already reported with my_error()) sql/sql_class.cc: More errors with SHOW ERROR sql/sql_class.h: More errors with SHOW ERROR sql/sql_error.cc: More errors with SHOW ERROR sql/sql_parse.cc: Temporary fix: Don't give error for the to-be-removed 'pre-open tables code' sql/sql_show.cc: More debugging Don't register errors while populating schema tables. (If we do, we get a LOT of warnings from information_schema.test) sql/sql_table.cc: Don't register errors from handler in drop table (as we already do it the upper level DROP TABLE code) Don't register errors for 'restore_table' as in most cases the table doesn't exists sql/sql_union.cc: Use file->write_row() instead of 'write_record'. This gives us easer to handle error messages and is faster than the old version
84 lines
2 KiB
Text
84 lines
2 KiB
Text
set SQL_LOG_BIN=0;
|
|
drop table if exists t1, t2, t3;
|
|
create table t4(n int);
|
|
backup table t4 to '../bogus';
|
|
Table Op Msg_type Msg_text
|
|
test.t4 backup error Failed copying .frm file (errno: X)
|
|
test.t4 backup status Operation failed
|
|
Warnings:
|
|
Error 1 Can't create/write to file 'MYSQL_TEST_DIR/var/bogus/t4.frm' (Errcode: X)
|
|
backup table t4 to '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t4 backup status OK
|
|
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:
|
|
Error 1 Can't create/write to file 'MYSQL_TEST_DIR/var/tmp/t4.frm' (Errcode: X)
|
|
drop table t4;
|
|
restore table t4 from '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t4 restore status OK
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
create table t1(n int);
|
|
insert into t1 values (23),(45),(67);
|
|
backup table t1 to '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t1 backup status OK
|
|
drop table t1;
|
|
restore table t1 from '../bogus';
|
|
Table Op Msg_type Msg_text
|
|
t1 restore error Failed copying .frm file
|
|
Warnings:
|
|
Error 29 File 'MYSQL_TEST_DIR/var/bogus/t1.frm' not found (Errcode: X)
|
|
restore table t1 from '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t1 restore status OK
|
|
select n from t1;
|
|
n
|
|
23
|
|
45
|
|
67
|
|
create table t2(m int not null primary key);
|
|
create table t3(k int not null primary key);
|
|
insert into t2 values (123),(145),(167);
|
|
insert into t3 values (223),(245),(267);
|
|
backup table t2,t3 to '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t2 backup status OK
|
|
test.t3 backup status OK
|
|
drop table t1,t2,t3;
|
|
restore table t1,t2,t3 from '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t1 restore status OK
|
|
test.t2 restore status OK
|
|
test.t3 restore status OK
|
|
select n from t1;
|
|
n
|
|
23
|
|
45
|
|
67
|
|
select m from t2;
|
|
m
|
|
123
|
|
145
|
|
167
|
|
select k from t3;
|
|
k
|
|
223
|
|
245
|
|
267
|
|
drop table t1,t2,t3,t4;
|
|
restore table t1 from '../tmp';
|
|
Table Op Msg_type Msg_text
|
|
test.t1 restore status OK
|
|
rename table t1 to t5;
|
|
lock tables t5 write;
|
|
backup table t5 to '../tmp';
|
|
unlock tables;
|
|
Table Op Msg_type Msg_text
|
|
test.t5 backup status OK
|
|
drop table t5;
|