403Webshell
Server IP : 104.21.38.3  /  Your IP : 162.158.189.136
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 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 : ON
Directory :  /www/server/mysql/src/mysql-test/suite/ndb/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/ndb/t/ndb_discover_db.test
# The include statement below is a temp one for tests that are yet to
#be ported to run with InnoDB,
#but needs to be kept for tests that would need MyISAM in future.
--source include/force_myisam_default.inc

-- source include/have_multi_ndb.inc
-- source include/have_binlog_format_mixed_or_row.inc

-- disable_warnings
drop database if exists discover_db;
drop database if exists discover_db_2;
-- enable_warnings

#
# Prepare for testing database discovery by creating
# databases, and removing them on one mysqld
# The discovery happens in ndb_discover_db2.test
#

#
# Shutdown server 1
#

-- connection server1

# Ignore the warning generated by ndbcluster's binlog thread
# when mysqld is restarted
--disable_query_log ONCE
call mtr.add_suppression("mysqld startup An incident event has been written");

# Write file to make mysql-test-run.pl expect the "crash", but don't start
# it until it's told to.
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.1.expect
wait
EOF
# Send shutdown to the connected server and give
# it 30 seconds to die before zapping it.
shutdown_server 30;
# Check server is gone.
--source include/wait_until_disconnected.inc

#
# Create databases while server1 is down
#
-- connection server2

# check that created database is discovered
create database discover_db;
create table discover_db.t1 (a int key, b int) engine ndb;

# check that altered database is discovered
create database discover_db_2;
alter database discover_db_2 character set binary;
create table discover_db_2.t1 (a int key, b int) engine ndb;

#
# Startup server1
#

-- connection server1
# Write file to make mysql-test-run.pl start up the server again.
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.1.expect
restart
EOF
# Turn on reconnect.
--enable_reconnect
# Call script that will poll the server waiting for it to be back online again.
--source include/wait_until_connected_again.inc
# Turn off reconnect again.
--disable_reconnect
#

#
# Now check that databases have been discovered
#

show create database discover_db;
show create database discover_db_2;
reset master;
insert into discover_db.t1 values (1,1);
--source include/show_binlog_events.inc
reset master;
insert into discover_db_2.t1 values (1,1);
--source include/show_binlog_events.inc

 #
# Bug#16890703 MYSQLD STUCK IN OPN TABLES ON SELECT FROM 
# RESTORED TABLE WHERE DB IS NOT THERE
#
-- connection server2
let $MYSQLD_DATADIR= `select @@datadir`;
--echo Deleting table t1 metadata files and discover_db directory from fs.
#--echo rm -fr $MYSQLD_DATADIR/discover_db/*
--remove_file $MYSQLD_DATADIR/discover_db/db.opt
--remove_file $MYSQLD_DATADIR/discover_db/t1.ndb
--remove_file $MYSQLD_DATADIR/discover_db/t1.frm
#--echo rmdir $MYSQLD_DATADIR/discover_db
rmdir $MYSQLD_DATADIR/discover_db;
-- connection server1
let $MYSQLD_DATADIR= `select @@datadir`;
--echo Deleting table t1 metadata files and discover_db directory from fs.
#--echo rm -fr $MYSQLD_DATADIR/discover_db/*
--remove_file $MYSQLD_DATADIR/discover_db/db.opt
--remove_file $MYSQLD_DATADIR/discover_db/t1.ndb
--remove_file $MYSQLD_DATADIR/discover_db/t1.frm
#--echo rmdir $MYSQLD_DATADIR/discover_db
rmdir $MYSQLD_DATADIR/discover_db;

flush tables;
--echo Attempt to access table should get error
--error ER_NO_SUCH_TABLE
select * from discover_db.t1;

--echo Attempt to access table after database created should be ok
create database discover_db;
select * from discover_db.t1;

#
# Cleanup
#
drop database discover_db;
drop database discover_db_2;

Youez - 2016 - github.com/yon3zu
LinuXploit