403Webshell
Server IP : 104.21.38.3  /  Your IP : 104.23.175.188
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_row_img_diff_indexes.test
#  WL#5096
#  
#  Description 
#  ===========
#
#  This test case covers Requirements for different index structures
#  on both master and slave.
#
#  Usage
#  =====
#
#  Before including this file the following variables should be set:
#    * $server_1_engine
#    * $server_2_engine
#    * $server_3_engine
#
#  Example:
#
#     -- let $server_1_engine= Falcon
#     -- let $server_2_engine= MyISAM
#     -- let $server_3_engine= InnoDB
#
#     -- source extra/rpl_tests/rpl_row_img_diff_indexes.test
# 

-- connection server_1

-- source include/rpl_sync.inc

-- connection server_1

-- let $diff_table=test.t

let $i= 16;
while($i)
{
  -- connection server_1
  SET SQL_LOG_BIN=0;

  -- connection server_2
  SET SQL_LOG_BIN=0;

  -- connection server_3
  SET SQL_LOG_BIN=0;


  if ($i == 1) {
    -- echo ### Different PKs on master and first slave
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= $server_2_engine;
    -- connection server_3 
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 2)
  { 
    -- echo ### Different PKs on master and first slave (which has unique NOT NULL key instead of PK)
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, primary key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 3)
  { 
    -- echo ### Master with PK and first slave with KEY only
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c3)) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= $server_3_engine;
  }
  if ($i == 4)
  { 
    -- echo ### Master with PK and no keys on the slaves
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c3)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_3_engine;
  }
  if ($i == 5) {
    -- echo ### Master with UK NOT NULL and slaves with PK on different fields
    -- connection server_1
    --eval CREATE TABLE t (c1 int NOT NULL, c2 blob, c3 int, unique key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= $server_2_engine;
    -- connection server_3 
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 6)
  { 
    -- echo ### Master with UK NOT NULL, first slave with UK NOT NULL on different field
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 7)
  { 
    -- echo ### Master with UK NULLABLE, first slave with K on different field second slave with key on yet another different field
      
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, unique key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c3)) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= $server_3_engine;
  }
  if ($i == 8)
  { 
    -- echo ### Master with UK NULLABLE, slaves with no keys
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, unique key(c3)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_3_engine;
  }
  if ($i == 9) {
    -- echo ### Master with Key, slaves with PKs on different fields
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= $server_2_engine;
    -- connection server_3 
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 10)
  { 
    -- echo ### Master with Key, slaves with PKs on different fields (first slave has UK NOT NULL)
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 11)
  { 
    -- echo ### Master with Key, first slave with key on different field and second slave with key on yet another different field.
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c3)) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= $server_3_engine;
  }
  if ($i == 12)
  { 
    -- echo ### Master with Key, slaves with no keys
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c3)) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_3_engine;
  }
  if ($i == 13) {
    -- echo ### Master with no key, slaves with PKs on different fields
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= $server_2_engine;
    -- connection server_3 
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 14)
  { 
    -- echo ### Master with no key, slaves with PKs on different fields (first slave with UK NOT NULL, second with PK)
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, primary key(c1)) engine= $server_3_engine;
  }
  if ($i == 15)
  { 
    -- echo ### Master with no key, slaves with keys
    -- connection server_1
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_1_engine;
    -- connection server_2
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c3)) engine= $server_2_engine;
    -- connection server_3
    --eval CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= $server_3_engine;
  }
  if ($i == 16)
  { 
    -- echo ### Master with no keys slaves with no keys as well
    -- connection server_1
    -- eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_1_engine
    -- connection server_2
    -- eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_2_engine
    -- connection server_3
    -- eval CREATE TABLE t (c1 int, c2 blob, c3 int) engine= $server_3_engine
  }

  -- connection server_1
  SET SQL_LOG_BIN=1;

  -- connection server_2
  SET SQL_LOG_BIN=1;

  -- connection server_3
  SET SQL_LOG_BIN=1;

  -- connection server_1

  -- let $blob1= "a"
  -- let $blob2= "b"
  -- let $blob3= "c"

  -- eval INSERT INTO t VALUES (1, $blob1, 10)
  -- eval INSERT INTO t VALUES (2, $blob2, 20)
  -- eval INSERT INTO t VALUES (3, $blob3, 30)
  
  -- source include/rpl_sync.inc

  -- connection server_1
  -- eval UPDATE t SET c1=10 WHERE c2=$blob1
  -- eval UPDATE t SET c1=20 WHERE c1=2
  -- eval UPDATE t SET c1=30 WHERE c3=30
  -- eval UPDATE t SET c3=40 WHERE c1=30

  -- source include/rpl_sync.inc

  -- let $diff_tables= server_1:$diff_table, server_2:$diff_table, server_3:$diff_table
  -- source include/diff_tables.inc

  -- connection server_1
  -- eval DELETE FROM t WHERE c2=$blob1
  -- eval DELETE FROM t WHERE c1=20
  -- eval DELETE FROM t

  -- source include/rpl_sync.inc

  -- let $diff_tables= server_1:$diff_table, server_2:$diff_table, server_3:$diff_table
  -- source include/diff_tables.inc

  -- connection server_1

  DROP TABLE t;

  -- source include/rpl_sync.inc

  dec $i;
}

Youez - 2016 - github.com/yon3zu
LinuXploit