mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Automatic merge with 5.1
This commit is contained in:
@ -4281,6 +4281,7 @@ sub extract_warning_lines ($) {
|
||||
qr/Slave SQL thread retried transaction/,
|
||||
qr/Slave \(additional info\)/,
|
||||
qr/Incorrect information in file/,
|
||||
qr/Incorrect key file for table .*crashed.*/,
|
||||
qr/Slave I\/O: Get master SERVER_ID failed with error:.*/,
|
||||
qr/Slave I\/O: Get master clock failed with error:.*/,
|
||||
qr/Slave I\/O: Get master COLLATION_SERVER failed with error:.*/,
|
||||
|
@ -1574,7 +1574,7 @@ UNLOCK TABLES;
|
||||
#
|
||||
# Trigger on parent
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t4_ai1 AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
@ -1586,10 +1586,13 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
DROP TRIGGER t4_ai;
|
||||
DROP TRIGGER t4_ai1;
|
||||
CHECK TABLE t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t3 check status OK
|
||||
# Trigger on parent under LOCK TABLES
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t4_ai2 AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
@ -1602,12 +1605,15 @@ c1
|
||||
3
|
||||
4
|
||||
4
|
||||
DROP TRIGGER t4_ai;
|
||||
DROP TRIGGER t4_ai2;
|
||||
UNLOCK TABLES;
|
||||
CHECK TABLE t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t3 check status OK
|
||||
#
|
||||
# Trigger on child
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t3_ai3 AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
@ -1624,10 +1630,13 @@ c1
|
||||
3
|
||||
4
|
||||
33
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai3;
|
||||
CHECK TABLE t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t3 check status OK
|
||||
# Trigger on child under LOCK TABLES
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t3_ai4 AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
@ -1647,11 +1656,17 @@ c1
|
||||
33
|
||||
33
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai4;
|
||||
CHECK TABLE t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t3 check status OK
|
||||
#
|
||||
# Trigger with table use on child
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
CREATE TRIGGER t3_ai5 AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
SELECT COUNT(*) FROM t2;
|
||||
COUNT(*)
|
||||
1
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
c1
|
||||
@ -1670,10 +1685,15 @@ c1
|
||||
33
|
||||
DELETE FROM t4 WHERE c1 = 22;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai5;
|
||||
UNLOCK TABLES;
|
||||
CHECK TABLE t2,t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 check status OK
|
||||
test.t3 check status OK
|
||||
# Trigger with table use on child under LOCK TABLES
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
CREATE TRIGGER t3_ai6 AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
c1
|
||||
@ -1692,10 +1712,44 @@ c1
|
||||
4
|
||||
22
|
||||
33
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai6;
|
||||
UNLOCK TABLES;
|
||||
check table t2,t3,t4;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 check status OK
|
||||
test.t3 check status OK
|
||||
test.t4 check status OK
|
||||
DELETE FROM t4 WHERE c1 = 22;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
# Trigger with table use on child under different LOCK TABLES
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
LOCK TABLES t4 WRITE,t3 WRITE, t2 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t3_ai7 AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
INSERT INTO t3 VALUES (33);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
22
|
||||
33
|
||||
DROP TRIGGER t3_ai7;
|
||||
UNLOCK TABLES;
|
||||
check table t2,t3,t4;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 check status OK
|
||||
test.t3 check status OK
|
||||
test.t4 check status OK
|
||||
DELETE FROM t4 WHERE c1 = 22;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
#
|
||||
# Repair
|
||||
#
|
||||
@ -1711,7 +1765,6 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
REPAIR TABLE t4;
|
||||
Table Op Msg_type Msg_text
|
||||
@ -1725,7 +1778,6 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
#
|
||||
# Optimize
|
||||
@ -1742,7 +1794,6 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
OPTIMIZE TABLE t4;
|
||||
Table Op Msg_type Msg_text
|
||||
@ -1756,14 +1807,13 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
#
|
||||
# Checksum
|
||||
#
|
||||
CHECKSUM TABLE t4;
|
||||
Table Checksum
|
||||
test.t4 46622073
|
||||
test.t4 149057747
|
||||
CHECKSUM TABLE t2;
|
||||
Table Checksum
|
||||
test.t2 3700403066
|
||||
@ -1773,11 +1823,10 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CHECKSUM TABLE t4;
|
||||
Table Checksum
|
||||
test.t4 46622073
|
||||
test.t4 149057747
|
||||
CHECKSUM TABLE t2;
|
||||
Table Checksum
|
||||
test.t2 3700403066
|
||||
@ -1787,7 +1836,6 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
#
|
||||
# Insert delayed
|
||||
@ -1801,7 +1849,6 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
33
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
INSERT DELAYED INTO t4 VALUES(444);
|
||||
@ -1814,7 +1861,6 @@ c1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
33
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1, t2, t3, t4;
|
||||
|
24
mysql-test/r/merge_debug.result
Normal file
24
mysql-test/r/merge_debug.result
Normal file
@ -0,0 +1,24 @@
|
||||
set global storage_engine=myisam;
|
||||
set session storage_engine=myisam;
|
||||
drop table if exists crashed,t2,t3,t4;
|
||||
SET @orig_debug=@@debug;
|
||||
CREATE TABLE crashed (c1 INT);
|
||||
CREATE TABLE t2 (c1 INT);
|
||||
CREATE TABLE t3 (c1 INT);
|
||||
CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(crashed,t2,t3) INSERT_METHOD=LAST;
|
||||
INSERT INTO crashed VALUES (10);
|
||||
INSERT INTO t2 VALUES (20);
|
||||
INSERT INTO t3 VALUES (30);
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, crashed WRITE;
|
||||
SET GLOBAL debug="+d,*,myisam_pretend_crashed_table_on_open";
|
||||
CREATE TRIGGER t1_ai AFTER INSERT ON crashed FOR EACH ROW INSERT INTO t2 VALUES(29);
|
||||
SET GLOBAL debug=@orig_debug;
|
||||
INSERT INTO t4 VALUES (39);
|
||||
ERROR HY000: Table 't4' was not locked with LOCK TABLES
|
||||
INSERT INTO crashed VALUES (11);
|
||||
ERROR HY000: Table 'crashed' was not locked with LOCK TABLES
|
||||
INSERT INTO t2 VALUES (21);
|
||||
INSERT INTO t3 VALUES (31);
|
||||
UNLOCK TABLES;
|
||||
DROP TRIGGER t1_ai;
|
||||
DROP TABLE t4,crashed,t2,t3;
|
@ -3,6 +3,7 @@ CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
|
||||
create table t1 (a char);
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
reset query cache;
|
||||
flush status;
|
||||
select metaphon('MySQL') from t1;
|
||||
metaphon('MySQL')
|
||||
show status like "Qcache_hits";
|
||||
|
@ -408,7 +408,7 @@ ALTER TABLE t1_will_crash CHECK PARTITION p6;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1_will_crash check warning Size of datafile is: 868 Should be: 604
|
||||
test.t1_will_crash check error Record-count is not ok; is 8 Should be: 7
|
||||
test.t1_will_crash check warning Found 10 key parts. Should be: 7
|
||||
test.t1_will_crash check warning Found 10 parts. Should be: 7
|
||||
test.t1_will_crash check error Partition p6 returned error
|
||||
test.t1_will_crash check error Corrupt
|
||||
ALTER TABLE t1_will_crash REPAIR PARTITION p6;
|
||||
|
@ -1119,35 +1119,38 @@ UNLOCK TABLES;
|
||||
--echo #
|
||||
--echo # Trigger on parent
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t4_ai1 AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DROP TRIGGER t4_ai;
|
||||
DROP TRIGGER t4_ai1;
|
||||
CHECK TABLE t3;
|
||||
--echo # Trigger on parent under LOCK TABLES
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t4_ai2 AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DROP TRIGGER t4_ai;
|
||||
DROP TRIGGER t4_ai2;
|
||||
UNLOCK TABLES;
|
||||
CHECK TABLE t3;
|
||||
--echo #
|
||||
--echo # Trigger on child
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t3_ai3 AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
INSERT INTO t3 VALUES (33);
|
||||
SELECT @a;
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai3;
|
||||
CHECK TABLE t3;
|
||||
--echo # Trigger on child under LOCK TABLES
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
CREATE TRIGGER t3_ai4 AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
|
||||
SET @a=0;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT @a;
|
||||
@ -1155,29 +1158,47 @@ INSERT INTO t3 VALUES (33);
|
||||
SELECT @a;
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai4;
|
||||
CHECK TABLE t3;
|
||||
--echo #
|
||||
--echo # Trigger with table use on child
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
CREATE TRIGGER t3_ai5 AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
SELECT COUNT(*) FROM t2;
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
INSERT INTO t3 VALUES (33);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DELETE FROM t4 WHERE c1 = 22;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai5;
|
||||
UNLOCK TABLES;
|
||||
CHECK TABLE t2,t3;
|
||||
--echo # Trigger with table use on child under LOCK TABLES
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
CREATE TRIGGER t3_ai6 AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
INSERT INTO t3 VALUES (33);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DROP TRIGGER t3_ai;
|
||||
DROP TRIGGER t3_ai6;
|
||||
UNLOCK TABLES;
|
||||
check table t2,t3,t4;
|
||||
DELETE FROM t4 WHERE c1 = 22;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
--echo # Trigger with table use on child under different LOCK TABLES
|
||||
DELETE FROM t4 WHERE c1 = 4;
|
||||
LOCK TABLES t4 WRITE,t3 WRITE, t2 WRITE, t1 WRITE;
|
||||
CREATE TRIGGER t3_ai7 AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
|
||||
INSERT INTO t4 VALUES (4);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
INSERT INTO t3 VALUES (33);
|
||||
SELECT * FROM t4 ORDER BY c1;
|
||||
DROP TRIGGER t3_ai7;
|
||||
UNLOCK TABLES;
|
||||
check table t2,t3,t4;
|
||||
DELETE FROM t4 WHERE c1 = 22;
|
||||
DELETE FROM t4 WHERE c1 = 33;
|
||||
#
|
||||
--echo #
|
||||
--echo # Repair
|
||||
|
42
mysql-test/t/merge_debug.test
Normal file
42
mysql-test/t/merge_debug.test
Normal file
@ -0,0 +1,42 @@
|
||||
#
|
||||
# Test failures with MERGE
|
||||
#
|
||||
|
||||
--source include/have_debug.inc
|
||||
|
||||
let $default=`select @@global.storage_engine`;
|
||||
set global storage_engine=myisam;
|
||||
set session storage_engine=myisam;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists crashed,t2,t3,t4;
|
||||
--enable_warnings
|
||||
|
||||
SET @orig_debug=@@debug;
|
||||
|
||||
#
|
||||
# Check that MariaDB handles reopen that fails without crashing
|
||||
#
|
||||
CREATE TABLE crashed (c1 INT);
|
||||
CREATE TABLE t2 (c1 INT);
|
||||
CREATE TABLE t3 (c1 INT);
|
||||
CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(crashed,t2,t3) INSERT_METHOD=LAST;
|
||||
INSERT INTO crashed VALUES (10);
|
||||
INSERT INTO t2 VALUES (20);
|
||||
INSERT INTO t3 VALUES (30);
|
||||
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, crashed WRITE;
|
||||
SET GLOBAL debug="+d,*,myisam_pretend_crashed_table_on_open";
|
||||
--disable_warnings
|
||||
CREATE TRIGGER t1_ai AFTER INSERT ON crashed FOR EACH ROW INSERT INTO t2 VALUES(29);
|
||||
--enable_warnings
|
||||
SET GLOBAL debug=@orig_debug;
|
||||
--error ER_TABLE_NOT_LOCKED
|
||||
INSERT INTO t4 VALUES (39);
|
||||
--error ER_TABLE_NOT_LOCKED
|
||||
INSERT INTO crashed VALUES (11);
|
||||
INSERT INTO t2 VALUES (21);
|
||||
INSERT INTO t3 VALUES (31);
|
||||
UNLOCK TABLES;
|
||||
DROP TRIGGER t1_ai;
|
||||
DROP TABLE t4,crashed,t2,t3;
|
@ -20,6 +20,7 @@ create table t1 (a char);
|
||||
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
reset query cache;
|
||||
flush status;
|
||||
|
||||
select metaphon('MySQL') from t1;
|
||||
show status like "Qcache_hits";
|
||||
|
Reference in New Issue
Block a user