diff options
author | unknown <monty@narttu.mysql.fi> | 2003-03-10 11:22:37 +0200 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-03-10 11:22:37 +0200 |
commit | 68ae365395c78eba74b4db66fb0989e76d221d0d (patch) | |
tree | caaf93f4311641760c5a58ab8099d7eab15c0d79 /mysql-test/t | |
parent | 374ea106f5098e4a6ee79f217bf799d181d20a25 (diff) | |
download | mariadb-git-68ae365395c78eba74b4db66fb0989e76d221d0d.tar.gz |
Don't allow BACKUP TABLE to overwrite files
Fixed memory leak when replication restarts in debug mode
include/my_sys.h:
Added option to not overwrite files to my_copy()
mysql-test/mysql-test-run.sh:
Fixed --ddd option
Fixed that mysqld is restarted if there is a testname-master.sh file
mysql-test/r/backup.result:
Update for security fix in BACKUP TABLE
mysql-test/t/backup.test:
Update for security fix in BACKUP TABLE
mysys/my_copy.c:
Added option to not overwrite files to my_copy()
sql/ha_myisam.cc:
Don't allow BACKUP TABLE to overwrite files
sql/slave.cc:
Fixed problem with --debug output from 'handle_slave'
Fixed memory leak when replication restarts in debug mode
Diffstat (limited to 'mysql-test/t')
-rwxr-xr-x | mysql-test/t/backup-master.sh | 5 | ||||
-rw-r--r-- | mysql-test/t/backup.test | 39 |
2 files changed, 26 insertions, 18 deletions
diff --git a/mysql-test/t/backup-master.sh b/mysql-test/t/backup-master.sh new file mode 100755 index 00000000000..99da5857afe --- /dev/null +++ b/mysql-test/t/backup-master.sh @@ -0,0 +1,5 @@ +#!/bin/sh +if [ "$MYSQL_TEST_DIR" ] +then + rm -f $MYSQL_TEST_DIR/var/tmp/*.frm $MYSQL_TEST_DIR/var/tmp/*.MY? +fi diff --git a/mysql-test/t/backup.test b/mysql-test/t/backup.test index 71343783d69..e4d5be00445 100644 --- a/mysql-test/t/backup.test +++ b/mysql-test/t/backup.test @@ -1,15 +1,23 @@ +# +# This test is a bit tricky as we can't use backup table to overwrite an old +# table +# connect (con1,localhost,root,,); connect (con2,localhost,root,,); connection con1; set SQL_LOG_BIN=0; -drop table if exists t1; +drop table if exists t1,t2,t3,t4; +create table t4(n int); +--replace_result "errno: 2" "errno: X" "errno: 22" "errno: X" "errno: 23" "errno: X" +backup table t4 to '../bogus'; +backup table t4 to '../tmp'; +--replace_result "errno: 17" "errno: X" +backup table t4 to '../tmp'; +drop table t4; +restore table t4 from '../tmp'; +select count(*) from t4; + create table t1(n int); ---replace_result "errno = 2" "errno = X" "errno = 22" "errno = X" "errno = 23" "errno = X" -backup table t1 to '../bogus'; -backup table t1 to '../tmp'; -drop table t1; -restore table t1 from '../tmp'; -select count(*) from t1; insert into t1 values (23),(45),(67); backup table t1 to '../tmp'; drop table t1; @@ -20,29 +28,24 @@ 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 t1,t2,t3 to '../tmp'; +backup table t2,t3 to '../tmp'; drop table t1,t2,t3; restore table t1,t2,t3 from '../tmp'; select n from t1; select m from t2; select k from t3; -drop table t1,t2,t3; +drop table t1,t2,t3,t4; restore table t1 from '../tmp'; connection con2; +rename table t1 to t5; --send -lock tables t1 write; +lock tables t5 write; connection con1; --send -backup table t1 to '../tmp'; +backup table t5 to '../tmp'; connection con2; reap; unlock tables; connection con1; reap; -drop table t1; - - - - - - +drop table t5; |