403Webshell
Server IP : 172.67.216.182  /  Your IP : 172.70.189.164
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/extra/rpl_tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/extra/rpl_tests/rpl_tmp_table_and_DDL.test
#
# This test verify if executing DDL statement before trying to manipulate
# a temporary table causes row-based replication to break with error 'table
# does not exist'.
#

# CREATE TABLE when a temporary table is open.
CREATE TEMPORARY TABLE t1 (a INT);
EVAL CREATE TABLE t2 (a INT, b INT) ENGINE= $ENGINE_TYPE;
INSERT INTO t1 VALUES (1);

# CREATE EVENT when a temporary table is open.
CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
INSERT INTO t1 VALUES (1);

# ALTER EVENT when a temporary table is open.
ALTER EVENT e1 ON SCHEDULE EVERY 20 HOUR DO SELECT 1;
INSERT INTO t1 VALUES (1);

# DROP EVENT when a temporary table is open.
DROP EVENT IF EXISTS e1;
INSERT INTO t1 VALUES (1);

# CREATE PROCEDURE when a temporary table is open.
CREATE PROCEDURE p1() SELECT 1;
INSERT INTO t1 VALUES (1);

# Alter PROCEDURE when a temporary table is open.
ALTER PROCEDURE p1 SQL SECURITY INVOKER;
INSERT INTO t1 VALUES (1);

# CREATE FUNCTION when a temporary table is open.
CREATE FUNCTION f1() RETURNS INT RETURN 123;
INSERT INTO t1 VALUES (1);

# ALTER FUNCTION when a temporary table is open.
ALTER FUNCTION f1 SQL SECURITY INVOKER;
INSERT INTO t1 VALUES (1);

# CREATE DATABASE when a temporary table is open.
CREATE DATABASE mysqltest1;
INSERT INTO t1 VALUES (1);

# DROP DATABASE when a temporary table is open.
DROP DATABASE mysqltest1;
INSERT INTO t1 VALUES (1);

# CREATE USER when a temporary table is open.
CREATE USER test_1@localhost;
INSERT INTO t1 VALUES (1);

# GRANT select on table to user when a temporary table is open.
GRANT SELECT ON t2 TO test_1@localhost;
INSERT INTO t1 VALUES (1);

# GRANT all on function to user  when a temporary table is open.
GRANT ALL ON f1 TO test_1@localhost;
INSERT INTO t1 VALUES (1);

# GRANT all on procedure to user when a temporary table is open.
GRANT ALL ON p1 TO test_1@localhost;
INSERT INTO t1 VALUES (1);

# GRANT usage on *.* to user when a temporary table is open.
GRANT USAGE ON *.* TO test_1@localhost;
INSERT INTO t1 VALUES (1);

# REVOKE ALL PRIVILEGES on function to user when a temporary table is open.
REVOKE ALL PRIVILEGES ON f1 FROM test_1@localhost;
INSERT INTO t1 VALUES (1);

# REVOKE ALL PRIVILEGES on procedure to user when a temporary table is open.
REVOKE ALL PRIVILEGES ON p1 FROM test_1@localhost;
INSERT INTO t1 VALUES (1);

# REVOKE ALL PRIVILEGES on table to user when a temporary table is open.
REVOKE ALL PRIVILEGES ON t2 FROM test_1@localhost;
INSERT INTO t1 VALUES (1);

# REVOKE usage on *.* from user when a temporary table is open.
REVOKE USAGE ON *.* FROM test_1@localhost;
INSERT INTO t1 VALUES (1);

# RENAME USER when a temporary table is open.
RENAME USER test_1@localhost TO test_2@localhost;
INSERT INTO t1 VALUES (1);

# DROP USER when a temporary table is open.
DROP USER test_2@localhost;
INSERT INTO t1 VALUES (1);

# Test ACL statement in sub statement
DELIMITER |;
CREATE PROCEDURE p2()
BEGIN
    # CREATE USER when a temporary table is open. 
    CREATE TEMPORARY TABLE t3 (a INT);
    CREATE USER test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # GRANT select on table to user when a temporary table is open.
    GRANT SELECT ON t2 TO test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # GRANT all on function to user  when a temporary table is open.
    GRANT ALL ON f1 TO test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # GRANT all on procedure to user when a temporary table is open.
    GRANT ALL ON p1 TO test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # GRANT usage on *.* to user  when a temporary table is open.
    GRANT USAGE ON *.* TO test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # REVOKE ALL PRIVILEGES on function to user when a temporary table is open.
    REVOKE ALL PRIVILEGES ON f1 FROM test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # REVOKE ALL PRIVILEGES on procedure to user when a temporary table is open.
    REVOKE ALL PRIVILEGES ON p1 FROM test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # REVOKE ALL PRIVILEGES on table to user when a temporary table is open.
    REVOKE ALL PRIVILEGES ON t2 FROM test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # REVOKE usage on *.* from user when a temporary table is open.
    REVOKE USAGE ON *.* FROM test_2@localhost;
    INSERT INTO t1 VALUES (1);

    # RENAME USER when a temporary table is open.
    RENAME USER test_2@localhost TO test_3@localhost;
    INSERT INTO t1 VALUES (1);

    # DROP USER when a temporary table is open.
    DROP USER test_3@localhost;
    INSERT INTO t1 VALUES (1);
    DROP TEMPORARY TABLE t3;
END |
DELIMITER ;|

# DROP PROCEDURE when a temporary table is open.
DROP PROCEDURE p1;
INSERT INTO t1 VALUES (1);
DROP PROCEDURE p2;
INSERT INTO t1 VALUES (1);

# DROP FUNCTION when a temporary table is open.
DROP FUNCTION f1;
INSERT INTO t1 VALUES (1);

# DROP TABLE when a temporary table is open.
DROP TABLE t2;
INSERT INTO t1 VALUES (1);

DROP TEMPORARY TABLE t1;


Youez - 2016 - github.com/yon3zu
LinuXploit