Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/storage/spider/mysql-test/spider/t/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 26 kB image not shown  

Quelle  spider_fixes.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# This test tests for Spider's bug fixes
source include/have_log_bin.inc;
--disable_warnings
--disable_query_log
--disable_result_log
--source test_init.inc
--source slave_test_init.inc
--enable_result_log
--enable_query_log

--echo
--echo drop and create databases
--connection master_1
DROP DATABASE IF EXISTS auto_test_local;
CREATE DATABASE auto_test_local;
USE auto_test_local;
  --connection slave1_1
  DROP DATABASE IF EXISTS auto_test_local;
  CREATE DATABASE auto_test_local;
  USE auto_test_local;
  --connection child2_1
  DROP DATABASE IF EXISTS auto_test_remote;
  CREATE DATABASE auto_test_remote;
  USE auto_test_remote;
  --connection child2_2
  DROP DATABASE IF EXISTS auto_test_remote2;
  CREATE DATABASE auto_test_remote2;
  USE auto_test_remote2;
--enable_warnings

--echo
--echo test select 1
--connection master_1
SELECT 1;
    --disable_query_log
    --disable_result_log
  --connection child2_1
  SELECT 1;
  --connection child2_2
  SELECT 1;
    --enable_query_log
    --enable_result_log

--echo
--echo create table and insert
    --disable_query_log
    --disable_result_log
  --connection child2_1
  --disable_warnings
DROP TABLE IF EXISTS ta_r;
  --enable_warnings
CREATE TABLE ta_r (
a INT DEFAULT 10,
b CHAR(1) DEFAULT 'c',
c DATETIME DEFAULT '1999-10-10 10:10:10',
PRIMARY KEY(a),
KEY idx1(b)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
--disable_warnings
DROP TABLE IF EXISTS tb_l;
--enable_warnings
--disable_query_log
echo CREATE TABLE tb_l (
  a INT,
  b CHAR(1),
  c DATETIME,
  PRIMARY KEY(a)
) MASTER_1_ENGINE2 MASTER_1_CHARSET2;
CREATE TABLE tb_l (
  a INT,
  b CHAR(1),
  c DATETIME,
  PRIMARY KEY(a)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--enable_query_log
INSERT INTO tb_l (a, b, c) VALUES
  (1, 'a', '2008-08-01 10:21:39'),
  (2, 'b', '2000-01-01 00:00:00'),
  (3, 'e', '2007-06-04 20:03:11'),
  (4, 'd', '2003-11-30 05:01:03'),
  (5, 'c', '2001-12-31 23:59:59');
--disable_warnings
DROP TABLE IF EXISTS ta_l;
--enable_warnings
--disable_query_log
echo CREATE TABLE ta_l (
  PRIMARY KEY(a)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
eval
CREATE TABLE ta_l (
  a INT,
  b CHAR(1),
  c DATETIME,
  PRIMARY KEY(a)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT='database "auto_test_remote", table "ta_r"'
    CONNECTION='host "localhost", socket "$CHILD2_1_MYSOCK", user "root",
    password ""';
--enable_query_log
--disable_ps_protocol
INSERT INTO ta_l SELECT a, b, c FROM tb_l;
--enable_ps_protocol

--echo
--echo 2.13
--echo select table with "order by desc" and "<"
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
--disable_ps2_protocol
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l
WHERE a < 5 ORDER BY a DESC LIMIT 3;
--enable_ps2_protocol
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    --enable_query_log
    --enable_result_log

--echo
--echo select table with "order by desc" and "<="
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
--disable_ps2_protocol
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l
WHERE a <= 5 ORDER BY a DESC LIMIT 3;
--enable_ps2_protocol
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    --enable_query_log
    --enable_result_log

--echo
--echo 2.14
--echo update table with range scan and split_read
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
UPDATE ta_l SET c = '2000-02-02 00:00:00' WHERE a > 1;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;

--echo
--echo 2.15
--echo select table with range scan
TRUNCATE TABLE ta_l;
--disable_warnings
DROP TABLE IF EXISTS ta_l;
--enable_warnings
    --disable_query_log
    --disable_result_log
  --connection child2_1
  --disable_warnings
DROP TABLE IF EXISTS ta_r_3;
  --enable_warnings
CREATE TABLE ta_r_3 (
a INT DEFAULT 10,
b CHAR(1) DEFAULT 'c',
c DATETIME DEFAULT '1999-10-10 10:10:10'
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  --enable_query_log
    --enable_result_log
--connection master_1
--disable_query_log
echo CREATE TABLE ta_l (
  a int(11) NOT NULL DEFAULT '0',
  b char(1) DEFAULT NULL,
  c datetime DEFAULT NULL,
  PRIMARY KEY (a, b, c)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT5_2_1;
eval
CREATE TABLE ta_l (
  a int(11) NOT NULL DEFAULT '0',
  b char(1) DEFAULT NULL,
  c datetime DEFAULT NULL,
  PRIMARY KEY (a, b, c)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT='database "auto_test_remote", table "ta_r_3"'
    CONNECTION='host "localhost", socket "$CHILD2_1_MYSOCK", user "root",
    password ""';
--enable_query_log
--disable_ps_protocol
INSERT INTO ta_l SELECT a, b, c FROM tb_l;
--enable_ps_protocol
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a = 4 AND b >= 'b'
AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a = 4 AND b > 'b'
AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a >= 4 AND b = 'd'
AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a > 4 AND b = 'c'
AND c = '2001-12-31 23:59:59';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a = 4 AND b <= 'd'
AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a = 4 AND b < 'e'
AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a <= 4 AND b = 'b'
AND c = '2000-01-01 00:00:00';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a < 4 AND b = 'b'
AND c = '2000-01-01 00:00:00';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a = 4 AND b >= 'b'
AND b <= 'd' AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a = 4 AND b > 'b'
AND b < 'e' AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a <= 4 AND a >= 1
AND b >= 'b' AND c = '2003-11-30 05:01:03';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l FORCE INDEX(PRIMARY) WHERE a < 4 AND a > 1
AND b >= 'b' AND c = '2000-01-01 00:00:00';
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    --enable_query_log
    --enable_result_log

--echo
--echo 2.16
--echo auto_increment insert with trigger
      --disable_result_log
    --disable_query_log
    --connection child2_1
    --disable_warnings
DROP TABLE IF EXISTS ta_r_auto_inc;
    --enable_warnings
CREATE TABLE ta_r_auto_inc (
a INT AUTO_INCREMENT,
b CHAR(1) DEFAULT 'c',
c DATETIME DEFAULT '1999-10-10 10:10:10',
PRIMARY KEY(a)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    --enable_query_log
      --enable_result_log
  --connection master_1
  --disable_query_log
  echo CREATE TABLE ta_l_auto_inc (
    a INT AUTO_INCREMENT,
    b CHAR(1) DEFAULT 'c',
    c DATETIME DEFAULT '1999-10-10 10:10:10',
    PRIMARY KEY(a)
  ) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT3_2_1;
eval
CREATE TABLE ta_l_auto_inc (
    a INT AUTO_INCREMENT,
    b CHAR(1) DEFAULT 'c',
    c DATETIME DEFAULT '1999-10-10 10:10:10',
    PRIMARY KEY(a)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT='database "auto_test_remote", table "ta_r_auto_inc"'
    CONNECTION='host "localhost", socket "$CHILD2_1_MYSOCK", user "root",
    password ""';
  echo CREATE TABLE tc_l (
    a INT,
    b CHAR(1),
    c DATETIME,
    PRIMARY KEY(a)
  ) MASTER_1_ENGINE2 MASTER_1_CHARSET2;
CREATE TABLE tc_l (
    a INT,
    b CHAR(1),
    c DATETIME,
    PRIMARY KEY(a)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  --enable_query_log
  --eval CREATE TRIGGER ins_ta_l_auto_inc AFTER INSERT ON ta_l_auto_inc FOR EACH ROW BEGIN INSERT INTO tc_l (a, b, c) VALUES (NEW.a, NEW.b, NEW.c); END;
      --disable_query_log
      --disable_result_log
    --connection child2_1
      TRUNCATE TABLE mysql.general_log;
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_r ORDER BY a;
      --enable_query_log
      --enable_result_log
  --connection master_1
  --disable_ps_protocol
  INSERT INTO ta_l_auto_inc (a, b, c) VALUES
  (NULL, 's', '2008-12-31 20:59:59');
  --enable_ps_protocol
      --disable_query_log
      --disable_result_log
    --connection child2_1
      SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%insert %';
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_r_auto_inc
ORDER BY a;
      --enable_query_log
      --enable_result_log
  --connection master_1
  SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM tc_l ORDER BY a;

--echo
--echo 2.17
--echo engine-condition-pushdown with "or" and joining
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l WHERE a = 1 OR a IN (SELECT a FROM tb_l);
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    --enable_query_log
    --enable_result_log

--echo
--echo 2.23
--echo index merge
    --disable_result_log
  --disable_query_log
  --connection child2_1
  --disable_warnings
DROP TABLE IF EXISTS ta_r_int;
  --enable_warnings
CREATE TABLE ta_r_int (
a INT AUTO_INCREMENT,
b INT DEFAULT 10,
c INT DEFAULT 11,
PRIMARY KEY(a),
KEY idx1(b),
KEY idx2(c)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  --enable_query_log
    --enable_result_log
--connection master_1
--disable_query_log
echo CREATE TABLE ta_l_int (
  a INT AUTO_INCREMENT,
  b INT DEFAULT 10,
  c INT DEFAULT 11,
  PRIMARY KEY(a),
  KEY idx1(b),
  KEY idx2(c)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT4_2_1;
eval
CREATE TABLE ta_l_int (
  a INT AUTO_INCREMENT,
  b INT DEFAULT 10,
  c INT DEFAULT 11,
  PRIMARY KEY(a),
  KEY idx1(b),
  KEY idx2(c)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT='database "auto_test_remote", table "ta_r_int"'
    CONNECTION='host "localhost", socket "$CHILD2_1_MYSOCK", user "root",
    password ""';
--enable_query_log
--disable_ps_protocol
INSERT INTO ta_l_int (a, b, c) VALUES (1, 2, 3);
--enable_ps_protocol
INSERT INTO ta_l_int (a, b, c) SELECT a + 1, b + 1, c + 1 FROM ta_l_int;
INSERT INTO ta_l_int (a, b, c) SELECT a + 2, b + 2, c + 2 FROM ta_l_int;
INSERT INTO ta_l_int (a, b, c) SELECT a + 4, b + 4, c + 4 FROM ta_l_int;
INSERT INTO ta_l_int (a, b, c) SELECT a + 8, b + 8, c + 8 FROM ta_l_int;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l_int force index(primary, idx1, idx2)
WHERE a = 5 OR b = 5 OR c = 5 ORDER BY a;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    --enable_query_log
    --enable_result_log

--echo
--echo 2.24
--echo index scan update without PK
--connection master_1
--disable_warnings
DROP TABLE IF EXISTS ta_l_int;
--enable_warnings
--disable_query_log
echo CREATE TABLE ta_l_int (
  a INT NOT NULL,
  b INT DEFAULT 10,
  c INT DEFAULT 11,
  KEY idx1(b),
  KEY idx2(c)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT4_2_1;
eval
CREATE TABLE ta_l_int (
    a INT NOT NULL,
    b INT DEFAULT 10,
    c INT DEFAULT 11,
    KEY idx1(b),
    KEY idx2(c)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT='database "auto_test_remote", table "ta_r_int"'
    CONNECTION='host "localhost", socket "$CHILD2_1_MYSOCK", user "root",
    password ""';
--enable_query_log
--disable_ps_protocol
SELECT a, b, c FROM ta_l_int ORDER BY a;
--enable_ps_protocol
INSERT INTO ta_l_int (a, b, c) VALUES (0, 2, 3);
INSERT INTO ta_l_int (a, b, c) VALUES (18, 2, 3);
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
UPDATE ta_l_int SET c = 4 WHERE b = 2;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%update %';
    --enable_query_log
    --enable_result_log
--connection master_1
SELECT a, b, c FROM ta_l_int ORDER BY a;


--echo
--echo 2.25
--echo direct order limit
--connection master_1
SHOW STATUS LIKE 'Spider_direct_order_limit';
--disable_ps2_protocol
SELECT a, b, c FROM ta_l_int ORDER BY a LIMIT 3;
--enable_ps2_protocol
SHOW STATUS LIKE 'Spider_direct_order_limit';

--echo
--echo 2.26
--echo lock tables
    --disable_query_log
    --disable_result_log
  --connection child2_1
  --disable_warnings
DROP TABLE IF EXISTS t1_1;
DROP TABLE IF EXISTS t2_2;
  --enable_warnings
CREATE TABLE t1_1 (
id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE t2_2 (
id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    TRUNCATE TABLE mysql.general_log;
  --connection child2_2
  --disable_warnings
DROP TABLE IF EXISTS t1_2;
DROP TABLE IF EXISTS t2_1;
  --enable_warnings
CREATE TABLE t1_2 (
id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE t2_1 (
id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
--enable_warnings
--disable_query_log
echo CREATE TABLE t1 (
  id int(11) NOT NULL,
  PRIMARY KEY (id)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_LOCK1;
CREATE TABLE t1 (
  id int(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT 'tbl "t1_1 t1_2", srv "s_2_1 s_2_2"';
echo CREATE TABLE t2 (
  id int(11) NOT NULL,
  PRIMARY KEY (id)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_LOCK2;
CREATE TABLE t2 (
  id int(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT 'tbl "t2_1 t2_2", srv "s_2_2 s_2_1"';
--enable_query_log
LOCK TABLES t1 READ, t2 READ;
UNLOCK TABLES;


--echo
--echo auto_increment
    --disable_query_log
    --disable_result_log
  --connection child2_1
  --disable_warnings
DROP TABLE IF EXISTS t1_1;
  --enable_warnings
CREATE TABLE t1_1 (
id int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SET GLOBAL AUTO_INCREMENT_INCREMENT = 4;
SET GLOBAL AUTO_INCREMENT_OFFSET = 2;
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
  save_master_pos;
  --connection slave1_1
  sync_with_master;
  --connection master_1
  --disable_query_log
  SET SESSION sql_log_bin= 0;
  --enable_query_log
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
--disable_query_log
echo CREATE TABLE t1 (
  id int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (id)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_INCREMENT1_1;
echo MASTER_1_AUTO_INCREMENT_INCREMENT2;
echo MASTER_1_AUTO_INCREMENT_OFFSET2;
CREATE TABLE t1 (
  id int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (id)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT 'aim "0", tbl "t1_1", srv "s_2_1"';
--disable_ps_protocol
SET SESSION AUTO_INCREMENT_INCREMENT = 777 ;
SELECT spider_direct_sql('SET SESSION AUTO_INCREMENT_INCREMENT = 4', '',
'srv "s_2_1"') ;
SELECT spider_direct_sql('SET SESSION AUTO_INCREMENT_INCREMENT = 4', '',
'srv "s_2_2"');
SET SESSION AUTO_INCREMENT_OFFSET = 777 ;
SELECT spider_bg_direct_sql('SET SESSION AUTO_INCREMENT_OFFSET = 2', '',
'srv "s_2_1"') ;
SELECT spider_bg_direct_sql('SET SESSION AUTO_INCREMENT_OFFSET = 3', '',
'srv "s_2_2"');
--enable_ps_protocol
  SET SESSION sql_log_bin= 1;
  --connection slave1_1
  --disable_warnings
  DROP TABLE IF EXISTS t1;
  --enable_warnings
  echo CREATE TABLE t1 (
    id int(11) NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (id)
  ) SLAVE1_1_ENGINE SLAVE1_1_CHARSET SLAVE1_1_COMMENT_INCREMENT1_1;
CREATE TABLE t1 (
    id int(11) NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT '';
  --connection master_1
--enable_query_log
--disable_ps_protocol
INSERT INTO t1 () VALUES ();
--enable_ps_protocol
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
INSERT INTO t1 () VALUES ();
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
INSERT INTO t1 (id) VALUES (null);
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
INSERT INTO t1 (id) VALUES (null);
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
INSERT INTO t1 () VALUES (),(),(),();
SELECT LAST_INSERT_ID();
--disable_ps_protocol
SELECT id FROM t1 ORDER BY id;
--enable_ps_protocol
SET INSERT_ID=5000;
INSERT INTO t1 () VALUES ();
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
INSERT INTO t1 (id) VALUES (10000);
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
INSERT INTO t1 (id) VALUES (1000);
SELECT LAST_INSERT_ID();
SELECT MAX(id) FROM t1;
  save_master_pos;
  --connection slave1_1
  sync_with_master;
  SELECT id FROM t1 ORDER BY id;
  --connection master_1
  --disable_query_log
  SET SESSION sql_log_bin= 0;
  --enable_query_log
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%insert %';
SELECT id FROM t1_1 ORDER BY id;
SET GLOBAL AUTO_INCREMENT_INCREMENT = 1;
SET GLOBAL AUTO_INCREMENT_OFFSET = 1;
    --enable_query_log
    --enable_result_log

--echo
--echo read only
let $MASTER_1_ENGINE_IS_SPIDER=
  `SELECT IF('$MASTER_1_ENGINE_TYPE' = 'Spider' OR
    '$MASTER_1_HIDDEN_ENGINE_TYPE' = 'Spider', 1, 0)`;
  --connection master_1
  --disable_warnings
  DROP TABLE IF EXISTS t1;
  --enable_warnings
  --disable_query_log
  echo CREATE TABLE t1 (
    id int(11) NOT NULL,
    PRIMARY KEY (id)
  ) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_READONLY1_1;
CREATE TABLE t1 (
    id int(11) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT 'read_only_mode "1", tbl "t1_1", srv "s_2_1"';
  --let $MIN_VAL= `SELECT MIN(id) FROM t1`
  --enable_query_log
  --disable_ps_protocol
  SELECT id FROM t1 ORDER BY id;
  --enable_ps_protocol
  --error 12518
  INSERT INTO t1 (id) VALUES (1);
  --error 12518
UPDATE t1 SET id = 4 WHERE id = 777;
  --error 12518
DELETE FROM t1 WHERE id = 777;
  --error 12518
  DELETE FROM t1;
  --error 12518
  TRUNCATE t1;

--echo
--echo 2.27
--echo error mode
  --connection master_1
  --disable_warnings
  DROP TABLE IF EXISTS t1;
  --enable_warnings
  --disable_query_log
  echo CREATE TABLE t1 (
    id int(11) NOT NULL,
    PRIMARY KEY (id)
  ) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_ERROR_MODE1_1;
CREATE TABLE t1 (
    id int(11) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT 'erm "1", ewm "1", tbl "ter1_1", srv "s_2_1"';
  --enable_query_log
  --disable_ps_protocol
  SELECT id FROM t1 ORDER BY id;
  --enable_ps_protocol
  INSERT INTO t1 (id) VALUES (1);
  DELETE FROM t1;
  TRUNCATE t1;

--echo
--echo 3.0
--echo is null
    --disable_result_log
  --disable_query_log
  --connection child2_1
  --disable_warnings
DROP TABLE IF EXISTS t1;
  --enable_warnings
CREATE TABLE t1 (
a VARCHAR(255),
b VARCHAR(255),
c VARCHAR(255),
KEY idx1(a,b),
KEY idx2(b),
PRIMARY KEY(c)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  --enable_query_log
    --enable_result_log
--connection master_1
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
--disable_query_log
echo CREATE TABLE t1 (
  a VARCHAR(255),
  b VARCHAR(255),
  c VARCHAR(255),
  KEY idx1(a,b),
  KEY idx2(b),
  PRIMARY KEY(c)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_TEXT_KEY1_1;
CREATE TABLE t1 (
  a VARCHAR(255),
  b VARCHAR(255),
  c VARCHAR(255),
  KEY idx1(a,b),
  KEY idx2(b),
  PRIMARY KEY(c)
) ENGINE=Spider DEFAULT CHARSET=utf8 COMMENT 'tbl "t1", srv "s_2_1"';
--enable_query_log
--disable_ps_protocol
insert into t1 values (null, null, '2048');
--enable_ps_protocol
insert into t1 values ('1', '1', '1');
insert into t1 select a + 1,   b + 1,   c + 1   from t1;
insert into t1 select a + 2,   b + 2,   c + 2   from t1;
insert into t1 select a + 4,   b + 4,   c + 4   from t1;
insert into t1 select a + 8,   b + 8,   c + 8   from t1;
insert into t1 select a + 16,  b + 16,  c + 16  from t1;
insert into t1 select a + 32,  b + 32,  c + 32  from t1;
insert into t1 select a + 64,  b + 64,  c + 64  from t1;
insert into t1 select a + 128, b + 128, c + 128 from t1;
insert into t1 select a + 256, b + 256, c + 256 from t1;
insert into t1 select a + 512, b + 512, c + 512 from t1;
flush tables;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
--disable_ps_protocol
select a from t1 where a is null order by a limit 30;
--enable_ps_protocol
select b from t1 where b is null order by b limit 30;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
SELECT a FROM t1 ORDER BY a;
    --enable_query_log
    --enable_result_log

--echo
--echo direct_order_limit
--connection master_1
TRUNCATE TABLE t1;
insert into t1 values ('1', '1', '1');
insert into t1 select a + 1,   b + 1,   c + 1   from t1;
insert into t1 select a + 2,   b + 2,   c + 2   from t1;
insert into t1 select a + 4,   b + 4,   c + 4   from t1;
insert into t1 select a + 8,   b + 8,   c + 8   from t1;
insert into t1 select a + 16,  b + 16,  c + 16  from t1;
insert into t1 select a,       b + 32,  c + 32  from t1;
insert into t1 select a,       b + 64,  c + 64  from t1;
insert into t1 select a,       b + 128, c + 128 from t1;
flush tables;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    TRUNCATE TABLE mysql.general_log;
    --enable_query_log
    --enable_result_log
--connection master_1
--disable_ps_protocol
select a, b, c from t1 where a = '10' and b <> '100' order by c desc limit 5;
--enable_ps_protocol
select a, c from t1 where a = '10' order by b desc limit 5;
    --disable_query_log
    --disable_result_log
  --connection child2_1
    SELECT argument FROM mysql.general_log WHERE command_type != 'Execute' AND argument LIKE '%select %';
SELECT a FROM t1 ORDER BY a;
    --enable_query_log
    --enable_result_log

--echo
--echo deinit
--disable_warnings
--connection master_1
DROP DATABASE IF EXISTS auto_test_local;
  --connection slave1_1
  DROP DATABASE IF EXISTS auto_test_local;
  --connection child2_1
  DROP DATABASE IF EXISTS auto_test_remote;
  --connection child2_2
  DROP DATABASE IF EXISTS auto_test_remote2;

# MDEV-27039 LOCK_global_system_variables attempted to re-acquire
# The test proves no assert anymore.
--connection master_1
--let $binlog_checksum=`SELECT @@global.binlog_checksum`
--let $expire_logs_days=`SELECT @@global.expire_logs_days`
SET @@global.expire_logs_days=11;

--connect (master_purge, localhost, root, , , $MASTER_1_MYPORT, $MASTER_1_MYSOCK)
SET @@global.binlog_checksum=NONE;
--evalp SET @@global.binlog_checksum=$binlog_checksum
--evalp SET @@global.expire_logs_days=$expire_logs_days
--disconnect master_purge

--disable_query_log
--disable_result_log
--source slave_test_deinit.inc
--source test_deinit.inc
--enable_result_log
--enable_query_log
--enable_warnings
--echo
--echo end of test

[Dauer der Verarbeitung: 0.24 Sekunden, vorverarbeitet 2026-10-04]