AnonSec Shell
Server IP : 185.86.78.101  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /www/server/mysql/mysql-test/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /www/server/mysql/mysql-test/t/drop-no_root.test
# Tests for the Myisam specific Bug#26704
# All tests are required to run with Myisam.
# Hence MTR starts mysqld with MyISAM as default

--source include/force_myisam_default.inc
--source include/have_myisam.inc

# This test uses chmod, can't be run with root permissions
--source include/not_as_root.inc

###########################################################################

--echo
--echo # --
--echo # -- Bug#26704: Failing DROP DATABASE brings mysql-client out of sync.
--echo # --

--echo
--disable_warnings
DROP DATABASE IF EXISTS mysql_test;
--enable_warnings

--echo
CREATE DATABASE mysql_test;
CREATE TABLE mysql_test.t1(c INT);

use mysql_test;

let $MYSQLD_DATADIR= `select @@datadir`;

--echo
--echo chmod 000 mysql_test/t1.frm
--chmod 0000 $MYSQLD_DATADIR/mysql_test/t1.frm

# NOTE: For the DROP DATABASE below we need:
#   - disable result log because ER_DB_DROP_RMDIR contains errno, which can be
#     different on different platforms.
#   - expect different error codes, because Windows and UNIX behaves
#     differently (see below).
#
# NOTE: Windows and UNIX behaves differently in this test case:
#
#   - on UNIX when t1.frm is chmoded to 000, it is perfectly deleted
#     by the first DROP DATABASE, but some other files (t1.MYI and t1.MYD) left
#     in the directory. So, we have to explicitly removes them before the
#     second DROP DATABASE.
#
#   - on Windows when t1.frm is chmoded to 000, it is not deleted by the first
#     DROP DATABASE, but all other files in the database directory are deleted.
#     Thus, we have to change the t1.frm permissions again and delete it
#     explicitly before the second DROP DATABASE.
#
# All those differences do not really matter for the idea of this test case:
# checking that if DROP DATABASE failed, the client is Ok.

--echo
--disable_result_log
--error ER_DB_DROP_RMDIR,6
DROP DATABASE mysql_test;
--enable_result_log

--echo
SELECT DATABASE();

# Remove t1.MYI and t1.MYD. On UNIX it should succeed. On Windows, it fails.
--echo
--echo rm -f mysql_test/t1.MYD mysql_test/t1.MYI
--error 0, 1
--remove_file $MYSQLD_DATADIR/mysql_test/t1.MYD
--error 0, 1
--remove_file $MYSQLD_DATADIR/mysql_test/t1.MYI

# Make t1.frm removable: fail on UNIX, succeed on Windows.
--echo chmod 666 mysql_test/t1.frm
--error 0, 1
--chmod 0666 $MYSQLD_DATADIR/mysql_test/t1.frm

# Remove t1.frm: fail on UNIX, succeed on Windows.
--echo rm -f mysql_test/t1.frm
--error 0, 1
--remove_file $MYSQLD_DATADIR/mysql_test/t1.frm

--echo
DROP DATABASE mysql_test;

--echo
use test;

--echo
--echo # -- End of Bug#26704.

###########################################################################

Anon7 - 2022
AnonSec Team