1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge branch '10.5' into 10.6

This commit is contained in:
Sergei Golubchik
2024-05-08 20:06:00 +02:00
360 changed files with 9013 additions and 2214 deletions

View File

@@ -180,6 +180,7 @@ INSERT INTO `t1` VALUES
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
/*!999999\- enable the sandbox mode */
INSERT INTO `t1` VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x01,0x3F,0x3E,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x02,0x00,0x3D,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x04,0x0F,0x3B,4,5,5,5,5,5,5,5,5,5,3,2,1);

View File

@@ -2460,7 +2460,10 @@ START TRANSACTION
#Q> '', -- c76
#Q> #
#Q> 'a', -- c77
#Q> '',
#Q> '', -- c78
#Q> #
#Q> 1 -- crn -- row number
#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2642,7 +2645,10 @@ START TRANSACTION
#Q> 'longtext-ucs2', -- c76 not using maximum value here
#Q> #
#Q> 'c', -- c77
#Q> 'a,b,c
#Q> 'a,b,c', -- c78
#Q> #
#Q> 2 -- crn -- row number
#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2909,7 +2915,13 @@ START TRANSACTION
#Q> 'mediumtext-ucs2', -- c73
#Q> 'longblob', -- c74
#Q> 'longtext', -- c75
#Q> 'longtext
#Q> 'longtext-ucs2', -- c76
#Q> #
#Q> 'b', -- c77
#Q> 'b,c', -- c78
#Q> #
#Q> 4 -- crn -- row number
#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -3250,7 +3262,21 @@ START TRANSACTION
#Q> #
#Q> c65 = '' AND
#Q> c66 = '' AND
#Q> c67 =
#Q> c67 = '' AND
#Q> c68 = '' AND
#Q> c69 = '' AND
#Q> c70 = '' AND
#Q> c71 = '' AND
#Q> c72 = '' AND
#Q> c73 = '' AND
#Q> c74 = '' AND
#Q> c75 = '' AND
#Q> c76 = '' AND
#Q> #
#Q> c77 = 'a' AND
#Q> c78 = '' AND
#Q> #
#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3595,7 +3621,17 @@ START TRANSACTION
#Q> c68 = 'blob' AND
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
#Q> c71 = 'mediumblob
#Q> c71 = 'mediumblob' AND
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'c' AND
#Q> c78 = 'a,b,c' AND
#Q> #
#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3938,7 +3974,18 @@ START TRANSACTION
#Q> c67 IS NULL AND
#Q> c68 IS NULL AND
#Q> c69 IS NULL AND
#Q> c70 IS NULL
#Q> c70 IS NULL AND
#Q> c71 IS NULL AND
#Q> c72 IS NULL AND
#Q> c73 IS NULL AND
#Q> c74 IS NULL AND
#Q> c75 IS NULL AND
#Q> c76 IS NULL AND
#Q> #
#Q> c77 IS NULL AND
#Q> c78 IS NULL AND
#Q> #
#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4284,7 +4331,16 @@ START TRANSACTION
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
#Q> c71 = 'mediumblob' AND
#Q> c72 = 'me
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'b' AND
#Q> c78 = 'b,c' AND
#Q> #
#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4544,7 +4600,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = '
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'c' AND
#Q> c78 = 'a,b,c' AND
#Q> #
#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4721,7 +4783,15 @@ START TRANSACTION
#Q> c70 = '' AND
#Q> c71 = '' AND
#Q> c72 = '' AND
#Q> c73 = '' A
#Q> c73 = '' AND
#Q> c74 = '' AND
#Q> c75 = '' AND
#Q> c76 = '' AND
#Q> #
#Q> c77 = 'a' AND
#Q> c78 = '' AND
#Q> #
#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4901,7 +4971,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = 'longtext'
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'b' AND
#Q> c78 = 'b,c' AND
#Q> #
#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5079,7 +5155,14 @@ START TRANSACTION
#Q> c71 IS NULL AND
#Q> c72 IS NULL AND
#Q> c73 IS NULL AND
#Q> c74 IS NUL
#Q> c74 IS NULL AND
#Q> c75 IS NULL AND
#Q> c76 IS NULL AND
#Q> #
#Q> c77 IS NULL AND
#Q> c78 IS NULL AND
#Q> #
#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5309,7 +5392,7 @@ START TRANSACTION
#Q> ('2008-08-06','VARCHAR-06',6),
#Q> ('2008-08-07','VARCHAR-07',7),
#Q> ('2008-08-08','VARCHAR-08',8),
#Q> ('2008-08-09','VARCH
#Q> ('2008-08-09','VARCHAR-09',9)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5733,7 +5816,7 @@ START TRANSACTION
#Q> ('2008-01-06','VARCHAR-01-06',6),
#Q> ('2008-01-07','VARCHAR-01-07',7),
#Q> ('2008-01-08','VARCHAR-01-08',18),
#Q> ('2008-01-09','VARCHAR-0
#Q> ('2008-01-09','VARCHAR-01-09',19)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5803,7 +5886,7 @@ START TRANSACTION
#Q> ('2008-02-06','VARCHAR-02-06',6),
#Q> ('2008-02-07','VARCHAR-02-07',7),
#Q> ('2008-02-08','VARCHAR-02-08',28),
#Q> ('2008-02-09','VARCHAR-0
#Q> ('2008-02-09','VARCHAR-02-09',29)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5873,7 +5956,7 @@ START TRANSACTION
#Q> ('2008-03-06','VARCHAR-03-06',6),
#Q> ('2008-03-07','VARCHAR-03-07',7),
#Q> ('2008-03-08','VARCHAR-03-08',38),
#Q> ('2008-03-09','VARCHAR-0
#Q> ('2008-03-09','VARCHAR-03-09',39)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5938,7 +6021,7 @@ START TRANSACTION
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
#Q> WHERE c_1_n = c_2_n AND c_2_n = c
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6125,7 +6208,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6340,7 +6423,7 @@ START TRANSACTION
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
#Q> SET c3 = 'Wo
#Q> SET c3 = 'Wow'
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F

View File

@@ -2458,7 +2458,10 @@ START TRANSACTION
#Q> '', -- c76
#Q> #
#Q> 'a', -- c77
#Q> '',
#Q> '', -- c78
#Q> #
#Q> 1 -- crn -- row number
#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2643,7 +2646,10 @@ START TRANSACTION
#Q> 'longtext-ucs2', -- c76 not using maximum value here
#Q> #
#Q> 'c', -- c77
#Q> 'a,b,c
#Q> 'a,b,c', -- c78
#Q> #
#Q> 2 -- crn -- row number
#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -2912,7 +2918,13 @@ START TRANSACTION
#Q> 'mediumtext-ucs2', -- c73
#Q> 'longblob', -- c74
#Q> 'longtext', -- c75
#Q> 'longtext
#Q> 'longtext-ucs2', -- c76
#Q> #
#Q> 'b', -- c77
#Q> 'b,c', -- c78
#Q> #
#Q> 4 -- crn -- row number
#Q> )
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -3255,7 +3267,21 @@ START TRANSACTION
#Q> #
#Q> c65 = '' AND
#Q> c66 = '' AND
#Q> c67 =
#Q> c67 = '' AND
#Q> c68 = '' AND
#Q> c69 = '' AND
#Q> c70 = '' AND
#Q> c71 = '' AND
#Q> c72 = '' AND
#Q> c73 = '' AND
#Q> c74 = '' AND
#Q> c75 = '' AND
#Q> c76 = '' AND
#Q> #
#Q> c77 = 'a' AND
#Q> c78 = '' AND
#Q> #
#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3602,7 +3628,17 @@ START TRANSACTION
#Q> c68 = 'blob' AND
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
#Q> c71 = 'mediumblob
#Q> c71 = 'mediumblob' AND
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'c' AND
#Q> c78 = 'a,b,c' AND
#Q> #
#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -3947,7 +3983,18 @@ START TRANSACTION
#Q> c67 IS NULL AND
#Q> c68 IS NULL AND
#Q> c69 IS NULL AND
#Q> c70 IS NULL
#Q> c70 IS NULL AND
#Q> c71 IS NULL AND
#Q> c72 IS NULL AND
#Q> c73 IS NULL AND
#Q> c74 IS NULL AND
#Q> c75 IS NULL AND
#Q> c76 IS NULL AND
#Q> #
#Q> c77 IS NULL AND
#Q> c78 IS NULL AND
#Q> #
#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4295,7 +4342,16 @@ START TRANSACTION
#Q> c69 = 'text' AND
#Q> c70 = 'text-ucs2' AND
#Q> c71 = 'mediumblob' AND
#Q> c72 = 'me
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'b' AND
#Q> c78 = 'b,c' AND
#Q> #
#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
@@ -4557,7 +4613,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = '
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'c' AND
#Q> c78 = 'a,b,c' AND
#Q> #
#Q> crn = 1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4736,7 +4798,15 @@ START TRANSACTION
#Q> c70 = '' AND
#Q> c71 = '' AND
#Q> c72 = '' AND
#Q> c73 = '' A
#Q> c73 = '' AND
#Q> c74 = '' AND
#Q> c75 = '' AND
#Q> c76 = '' AND
#Q> #
#Q> c77 = 'a' AND
#Q> c78 = '' AND
#Q> #
#Q> crn = 2
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -4918,7 +4988,13 @@ START TRANSACTION
#Q> c72 = 'mediumtext' AND
#Q> c73 = 'mediumtext-ucs2' AND
#Q> c74 = 'longblob' AND
#Q> c75 = 'longtext'
#Q> c75 = 'longtext' AND
#Q> c76 = 'longtext-ucs2' AND
#Q> #
#Q> c77 = 'b' AND
#Q> c78 = 'b,c' AND
#Q> #
#Q> crn = 3
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5098,7 +5174,14 @@ START TRANSACTION
#Q> c71 IS NULL AND
#Q> c72 IS NULL AND
#Q> c73 IS NULL AND
#Q> c74 IS NUL
#Q> c74 IS NULL AND
#Q> c75 IS NULL AND
#Q> c76 IS NULL AND
#Q> #
#Q> c77 IS NULL AND
#Q> c78 IS NULL AND
#Q> #
#Q> crn = 4
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
@@ -5330,7 +5413,7 @@ START TRANSACTION
#Q> ('2008-08-06','VARCHAR-06',6),
#Q> ('2008-08-07','VARCHAR-07',7),
#Q> ('2008-08-08','VARCHAR-08',8),
#Q> ('2008-08-09','VARCH
#Q> ('2008-08-09','VARCHAR-09',9)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5760,7 +5843,7 @@ START TRANSACTION
#Q> ('2008-01-06','VARCHAR-01-06',6),
#Q> ('2008-01-07','VARCHAR-01-07',7),
#Q> ('2008-01-08','VARCHAR-01-08',18),
#Q> ('2008-01-09','VARCHAR-0
#Q> ('2008-01-09','VARCHAR-01-09',19)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5832,7 +5915,7 @@ START TRANSACTION
#Q> ('2008-02-06','VARCHAR-02-06',6),
#Q> ('2008-02-07','VARCHAR-02-07',7),
#Q> ('2008-02-08','VARCHAR-02-08',28),
#Q> ('2008-02-09','VARCHAR-0
#Q> ('2008-02-09','VARCHAR-02-09',29)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5904,7 +5987,7 @@ START TRANSACTION
#Q> ('2008-03-06','VARCHAR-03-06',6),
#Q> ('2008-03-07','VARCHAR-03-07',7),
#Q> ('2008-03-08','VARCHAR-03-08',38),
#Q> ('2008-03-09','VARCHAR-0
#Q> ('2008-03-09','VARCHAR-03-09',39)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -5971,7 +6054,7 @@ START TRANSACTION
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
#Q> WHERE c_1_n = c_2_n AND c_2_n = c
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6160,7 +6243,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
@@ -6377,7 +6460,7 @@ START TRANSACTION
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
#Q> SET c3 = 'Wo
#Q> SET c3 = 'Wow'
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F

View File

@@ -232,7 +232,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@@ -301,7 +301,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE xtest1.xt1, test2.t2
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -434,7 +434,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
# at #
@@ -855,7 +855,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@@ -924,7 +924,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE xtest1.xt1, test2.t2
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -1057,7 +1057,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
# at #

View File

@@ -204,7 +204,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
@@ -445,7 +445,7 @@ START TRANSACTION
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F

View File

@@ -236,7 +236,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@@ -305,7 +305,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE xtest1.xt1, test2.t2
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -441,7 +441,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> DELETE test1.t1, test2.t2
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
# at #
# at #

View File

@@ -24,6 +24,7 @@ b1 VARCHAR(64) AS (LPAD(b0,10)) PERSISTENT
CREATE VIEW v2 AS SELECT
LTRIM(now()) AS a0,
LPAD(now(),10) AS b0;
/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (

View File

@@ -34,6 +34,7 @@ PROCEDURE p1;
FUNCTION f1 RETURN INT;
END;
$$
/*!999999\- enable the sandbox mode */
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

View File

@@ -2243,6 +2243,7 @@ connection master;
CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id)) ENGINE=FEDERATED
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
# Dump table t1 using mysqldump tool
/*!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (

View File

@@ -16,12 +16,10 @@ galera_bf_kill_debug : timeout after 900 seconds
galera_ssl_upgrade : [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 130: Incorrect file format 'gtid_slave_pos'
galera_insert_bulk : MDEV-30536 no expected deadlock in galera_insert_bulk test
galera_sequences : MDEV-32561 WSREP FSM failure: no such a transition REPLICATING -> COMMITTED
versioning_trx_id : MDEV-18590 : galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
galera_concurrent_ctas : MDEV-32779 galera_concurrent_ctas: assertion in the galera::ReplicatorSMM::finish_cert()
galera_as_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
galera_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
galera_sst_mysqldump_with_key : MDEV-32782 galera_sst_mysqldump_with_key test failed
galera_var_ignore_apply_errors : MENT-1997 galera_var_ignore_apply_errors test freezes
MW-402 : temporarily disabled at the request of Codership
galera_desync_overlapped : MDEV-21538 galera_desync_overlapped MTR failed: Result content mismatch
galera_create_table_as_select : MDEV-33952 fails sporadically

View File

@@ -21,6 +21,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#gale
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
auto-increment-offset=1
[mysqld.2]
wsrep-on=1
@@ -32,6 +33,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#gale
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
auto-increment-offset=2
[mysqld.3]
wsrep-on=1
@@ -43,6 +45,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#gale
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
auto-increment-offset=3
[mysqld.4]
wsrep-on=1
@@ -54,6 +57,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#gale
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
auto-increment-offset=4
[ENV]
NODE_MYPORT_1= @mysqld.1.port

View File

@@ -16,17 +16,15 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_1a;
SET SESSION DEBUG_SYNC = "RESET";
connection node_2;
SELECT * FROM p;
id f2

View File

@@ -12,22 +12,20 @@ START TRANSACTION;
DELETE FROM p WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO c VALUES (1, 1);
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -54,22 +52,20 @@ START TRANSACTION;
UPDATE p SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE c SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM p;
@@ -94,22 +90,20 @@ START TRANSACTION;
UPDATE p SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM c WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM p;
@@ -130,22 +124,20 @@ START TRANSACTION;
UPDATE p SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO c VALUES (1, 0);;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -170,22 +162,20 @@ START TRANSACTION;
DELETE FROM p WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE c SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -215,22 +205,20 @@ START TRANSACTION;
INSERT INTO cf (f1, p_id) VALUES (10, 1);
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO cf (f1, p_id) VALUES (20, 1);
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM pf;
@@ -255,22 +243,20 @@ START TRANSACTION;
UPDATE pg SET f2 = 1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
INSERT INTO cg VALUES (1, 1, 0);
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM pg;

View File

@@ -15,22 +15,20 @@ START TRANSACTION;
UPDATE c SET f2=1 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM p WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -55,22 +53,20 @@ START TRANSACTION;
UPDATE c SET f2=2 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE p set f1=11 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -97,22 +93,20 @@ START TRANSACTION;
UPDATE c SET p_id=2 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE p set f1=11 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -130,22 +124,20 @@ START TRANSACTION;
UPDATE p set f1=21 WHERE f1 = 11;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
UPDATE c SET p_id=2 where f1=1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;
@@ -176,22 +168,20 @@ START TRANSACTION;
UPDATE p2 SET f2=2 where f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM p1 WHERE f1 = 1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
connection node_2;
SELECT * FROM p1;
@@ -223,22 +213,20 @@ START TRANSACTION;
DELETE FROM p2 WHERE f1=1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
connection node_2;
DELETE FROM p1 WHERE f1=1;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
connection node_1;
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2;

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,5 @@
connection node_2;
connection node_1;
connection node_1;
connection node_2;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4;
connection node_1;
@@ -55,6 +53,7 @@ expect_0
SELECT COUNT(*) AS expect_1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
expect_1
1
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
connection node_4;
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
expect_0
@@ -64,3 +63,5 @@ expect_1
1
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
DROP TABLE t2;
disconnect node_3;
disconnect node_4;

View File

@@ -21,14 +21,10 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
@@ -64,14 +60,10 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
@@ -112,14 +104,10 @@ connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
connection node_1;
COMMIT;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 1;
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction

View File

@@ -17,7 +17,7 @@ a
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
count(*)
0
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
count(*)
0
connection node_3;
@@ -34,7 +34,7 @@ a
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
count(*)
0
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
count(*)
0
connection node_1;
@@ -50,7 +50,7 @@ a
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
count(*)
0
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
count(*)
0
drop table t1;

View File

@@ -17,7 +17,7 @@
# We use concurrency facility of test MW-369 to setup the conflict between DDL and DML
#
# Open connection node_1a here, MW-369.inc will use it later
# Open connection node_1a here, we will use it later
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
# create FK parent table
@@ -28,14 +28,51 @@ CREATE TABLE p (id INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
--let $mw_369_parent_query = INSERT INTO p VALUES(1,0)
--let $mw_369_child_query = CREATE TABLE c(id INT NOT NULL PRIMARY KEY, p_id INT, FOREIGN KEY (p_id) REFERENCES p(id) ON DELETE CASCADE) ENGINE=InnoDB
# execute above queries through separate nodes
--source MW-369.inc
--connection node_1
SET AUTOCOMMIT=ON;
START TRANSACTION;
--eval $mw_369_parent_query
#
# Block the $mw_369_child_query from node_2
#
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_set_sync_point.inc
#
# insert client row, which will make it impossible to replay the
# delete on parent
#
--connection node_2
--eval $mw_369_child_query
#
# Wait until $mw_369_child_query from node_2 reaches the sync point and
# block the 'COMMIT' from node_1 before it certifies.
#
--connection node_1a
--source include/galera_wait_sync_point.inc
--source include/galera_clear_sync_point.inc
--connection node_1
--send COMMIT
--connection node_1a
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_signal_sync_point.inc
--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
--error ER_LOCK_DEADLOCK
--reap
--connection node_1a
SET SESSION DEBUG_SYNC = "RESET";
--connection node_2
SELECT * FROM p;
SELECT * FROM c;

View File

@@ -12,9 +12,9 @@
# START TRANSACTION;
# $mw_369_parent_query
# node_2
# $mw_369_child_query - will be blocked on node_1 in apply monitor
# $mw_369_child_query - will be blocked on node_1 in wsrep_apply_cb
# node_1:
# COMMIT; - will be blocked on node_1 in local monitor
# COMMIT; - will be blocked on node_1 in wsrep_after_certification
#
# The $mw_369_child_query is always expected to succeed. The caller is
# responsible for checking if the final COMMIT on connection node_1
@@ -32,8 +32,7 @@ START TRANSACTION;
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_set_sync_point.inc
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
#
# insert client row, which will make it impossible to replay the
@@ -47,28 +46,37 @@ SET SESSION wsrep_sync_wait = 0;
# block the 'COMMIT' from node_1 before it certifies.
#
--connection node_1a
--source include/galera_wait_sync_point.inc
--source include/galera_clear_sync_point.inc
--let $galera_sync_point = local_monitor_master_enter_sync
--source include/galera_set_sync_point.inc
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
--connection node_1
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
--send COMMIT
#
# Wait until both sync points have been reached
#
--connection node_1a
--let $galera_sync_point = apply_monitor_slave_enter_sync local_monitor_master_enter_sync
--source include/galera_wait_sync_point.inc
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
#
# both threads are now parked in sync points, signal them to continue
#
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_signal_sync_point.inc
--let $galera_sync_point = local_monitor_master_enter_sync
--source include/galera_signal_sync_point.inc
--source include/galera_clear_sync_point.inc
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
--source include/wait_condition_with_debug.inc
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
--source include/wait_condition_with_debug.inc
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'debug sync point:%'
--let $wait_condition_on_error_output = SELECT STATE FROM INFORMATION_SCHEMA.PROCESSLIST
--source include/wait_condition_with_debug.inc
SET GLOBAL DEBUG_DBUG = "";
SET DEBUG_SYNC = 'RESET';

View File

@@ -24,7 +24,6 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
--source include/have_debug_sync.inc
--source include/galera_have_debug_sync.inc
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,

File diff suppressed because one or more lines are too long

View File

@@ -2,9 +2,3 @@
[mysqld]
wsrep-ignore-apply-errors=0
[mysqld.3]
auto_increment_offset=3
[mysqld.4]
auto_increment_offset=4

View File

@@ -6,25 +6,15 @@
--source include/galera_cluster.inc
--source include/big_test.inc
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
# The following has to be set hard as these connection doesn't yet exists and
# the auto_increment_offset value changes during the lifetime of the servers.
--let $node_3=node_3
--let $auto_increment_offset_node_3 = 3;
--let $node_4=node_4
--let $auto_increment_offset_node_4 = 4;
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--let $node_3=node_3
--let $node_4=node_4
--source suite/galera/include/auto_increment_offset_save.inc
--source include/auto_increment_offset_save.inc
--connection node_3
# Isolate node #3
@@ -92,6 +82,7 @@ CALL mtr.add_suppression("Slave SQL: Error 'Unknown table");
--connection node_3
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
SELECT COUNT(*) AS expect_1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
--connection node_4
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
@@ -105,3 +96,6 @@ DROP TABLE t2;
--let $node_4=node_4
--let $auto_increment_offset_node_4 = 4;
--source suite/galera/include/auto_increment_offset_restore.inc
--disconnect node_3
--disconnect node_4

View File

@@ -3,7 +3,7 @@
--source include/have_debug_sync.inc
--source include/galera_have_debug_sync.inc
# Open connection node_1a here, MW-369.inc will use it later
# Open connection node_1a here, will use it later
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
#
@@ -27,7 +27,42 @@ INSERT INTO c VALUES (2, 2);
--let $mw_369_parent_query = UPDATE p SET f1 = f1 + 100
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id) REFERENCES p(f1)
--source MW-369.inc
--connection node_1
SET AUTOCOMMIT=ON;
START TRANSACTION;
--eval $mw_369_parent_query
#
# Block the $mw_369_child_query from node_2
#
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_set_sync_point.inc
#
# insert client row, which will make it impossible to replay the
# delete on parent
#
--connection node_2
--eval $mw_369_child_query
#
# Wait until $mw_369_child_query from node_2 reaches the sync point and
# block the 'COMMIT' from node_1 before it certifies.
#
--connection node_1a
--source include/galera_wait_sync_point.inc
--source include/galera_clear_sync_point.inc
--connection node_1
--send COMMIT
--connection node_1a
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_signal_sync_point.inc
--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
@@ -62,7 +97,42 @@ INSERT INTO c VALUES (2, 2, 2);
--let $mw_369_parent_query = UPDATE p1 SET f1 = f1 + 100
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1)
--source MW-369.inc
--connection node_1
SET AUTOCOMMIT=ON;
START TRANSACTION;
--eval $mw_369_parent_query
#
# Block the $mw_369_child_query from node_2
#
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_set_sync_point.inc
#
# insert client row, which will make it impossible to replay the
# delete on parent
#
--connection node_2
--eval $mw_369_child_query
#
# Wait until $mw_369_child_query from node_2 reaches the sync point and
# block the 'COMMIT' from node_1 before it certifies.
#
--connection node_1a
--source include/galera_wait_sync_point.inc
--source include/galera_clear_sync_point.inc
--connection node_1
--send COMMIT
--connection node_1a
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_signal_sync_point.inc
--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1
@@ -96,7 +166,42 @@ INSERT INTO c VALUES (2, 2, 2);
--let $mw_369_parent_query = UPDATE p2 SET f1 = f1 + 100
--let $mw_369_child_query = ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1)
--source MW-369.inc
--connection node_1
SET AUTOCOMMIT=ON;
START TRANSACTION;
--eval $mw_369_parent_query
#
# Block the $mw_369_child_query from node_2
#
# --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_set_sync_point.inc
#
# insert client row, which will make it impossible to replay the
# delete on parent
#
--connection node_2
--eval $mw_369_child_query
#
# Wait until $mw_369_child_query from node_2 reaches the sync point and
# block the 'COMMIT' from node_1 before it certifies.
#
--connection node_1a
--source include/galera_wait_sync_point.inc
--source include/galera_clear_sync_point.inc
--connection node_1
--send COMMIT
--connection node_1a
--let $galera_sync_point = apply_monitor_slave_enter_sync
--source include/galera_signal_sync_point.inc
--source include/galera_clear_sync_point.inc
# Expect certification failure
--connection node_1

View File

@@ -13,29 +13,29 @@ set session wsrep_sync_wait=15;
insert into t1 (a) values (3),(4);
select a from t1;
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
select * from mysql.transaction_registry;
}
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
--connection node_3
set session wsrep_sync_wait=15;
insert into t1 (a) values (5),(6);
select a from t1;
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
select * from mysql.transaction_registry;
}
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
--connection node_1
set session wsrep_sync_wait=15;
select a from t1;
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp`) {
if (`SELECT count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp`) {
select * from mysql.transaction_registry;
}
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
drop table t1;

View File

@@ -25,6 +25,8 @@ SET SESSION wsrep_sync_wait=0;
connection node_2;
INSERT INTO t1 VALUES (2);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_2a;
connection node_2;
COMMIT;
ERROR 08S01: WSREP has not yet prepared node for application use
connection node_2a;

View File

@@ -27,6 +27,12 @@ SET SESSION wsrep_sync_wait=0;
--connection node_2
--error ER_LOCK_DEADLOCK
INSERT INTO t1 VALUES (2);
--connection node_2a
--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
--source include/wait_condition.inc
--connection node_2
--error ER_UNKNOWN_COM_ERROR
COMMIT;

View File

@@ -1,5 +1,3 @@
--source include/have_innodb.inc
eval CREATE TABLE `t` (
`a` VARCHAR(10000), `b` VARCHAR(3000),
`c` VARCHAR(14000) GENERATED ALWAYS AS (CONCAT(a,b)) VIRTUAL,

View File

@@ -5,9 +5,6 @@
# "create table tab1 (a bigint primary key, b varchar(2048)) engine=InnoDB;"
#
--source include/have_innodb.inc
--source include/have_innodb_16k.inc
# turn on flags
--disable_query_log
SET GLOBAL innodb_monitor_enable=index_page_merge_attempts;

View File

@@ -6,9 +6,6 @@
# "create index index1 on tab1(b(750));"
#
--source include/have_innodb.inc
--source include/have_innodb_16k.inc
# turn on flags
--disable_query_log
SET GLOBAL innodb_monitor_enable=index_page_merge_attempts;

View File

@@ -5,9 +5,6 @@
# "create table tab1 (a bigint primary key, b varchar(2048)) engine=InnoDB;"
#
--source include/have_innodb.inc
--source include/have_innodb_16k.inc
# turn on flags
--disable_query_log
SET GLOBAL innodb_monitor_enable=index_page_merge_attempts;

View File

@@ -20,4 +20,12 @@ FLOOR(index_length/@@innodb_page_size)
2
disconnect stop_purge;
DROP TABLE t1;
#
# MDEV-22855 Assertion (!field->prefix_len ||
# field->fixed_len == field->prefix_len)
# failed in btr_node_ptr_max_size
#
CREATE TABLE t1(c CHAR(194) CHARACTER SET UTF32, KEY k1(c(193)))ENGINE=InnoDB;
INSERT INTO t1 SET c='';
DROP TABLE t1;
# End of 10.4 tests

View File

@@ -37,4 +37,4 @@ a
drop table t1;
disconnect con1;
disconnect con2;
End of 5.0 tests
# End of 5.0 tests

View File

@@ -20,4 +20,12 @@ WHERE table_schema = 'test' AND table_name = 't1';
disconnect stop_purge;
DROP TABLE t1;
--echo #
--echo # MDEV-22855 Assertion (!field->prefix_len ||
--echo # field->fixed_len == field->prefix_len)
--echo # failed in btr_node_ptr_max_size
--echo #
CREATE TABLE t1(c CHAR(194) CHARACTER SET UTF32, KEY k1(c(193)))ENGINE=InnoDB;
INSERT INTO t1 SET c='';
DROP TABLE t1;
--echo # End of 10.4 tests

View File

@@ -10,6 +10,7 @@
#
# Check actual behavior for table, partitioned table and temporary table
# #############################################################
--source include/have_innodb.inc
--source include/have_innodb_16k.inc
--source include/have_partition.inc

View File

@@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source include/innodb_rollback_on_timeout.inc
--echo End of 5.0 tests
--echo # End of 5.0 tests

View File

@@ -1002,19 +1002,27 @@ DOUBLE
error ER_INVALID_JSON_TEXT_IN_PARAM
select json_type(CAST(CAST('2015-01-15' AS DATE) as CHAR CHARACTER SET 'utf8'));
json_type(CAST(CAST('2015-01-15' AS DATE) as CHAR CHARACTER SET 'utf8'))
INTEGER
NULL
Warnings:
Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
# ----------------------------------------------------------------------
# Test of json_compact(literal)
# ----------------------------------------------------------------------
select json_type(json_compact(cast('2014-11-25 18:00' as datetime)));
json_type(json_compact(cast('2014-11-25 18:00' as datetime)))
INTEGER
NULL
Warnings:
Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
select json_type(json_compact(cast('2014-11-25' as date)));
json_type(json_compact(cast('2014-11-25' as date)))
INTEGER
NULL
Warnings:
Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
select json_type(json_compact(cast('18:00:59' as time)));
json_type(json_compact(cast('18:00:59' as time)))
INTEGER
NULL
Warnings:
Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 3
select json_type(json_compact(127));
json_type(json_compact(127))
INTEGER
@@ -1064,7 +1072,9 @@ json_type(json_compact(3.14E30))
DOUBLE
select json_type(json_compact(cast('10101abcde' as binary)));
json_type(json_compact(cast('10101abcde' as binary)))
INTEGER
NULL
Warnings:
Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 6
select json_type(json_compact(ST_GeomFromText('POINT(1 1)')));
json_type(json_compact(ST_GeomFromText('POINT(1 1)')))
NULL

View File

@@ -2880,5 +2880,13 @@ DROP PROCEDURE p1;
DROP PROCEDURE p2;
DROP TABLE t1, t1c, t2;
#
# MDEV-30646 View created via JSON_ARRAYAGG returns incorrect json object
#
CREATE VIEW v1 AS SELECT JSON_OBJECT('plugin','unix_socket') as v1_json;
SELECT JSON_ARRAYAGG(v1_json) FROM v1;
JSON_ARRAYAGG(v1_json)
[{"plugin": "unix_socket"}]
DROP VIEW v1;
#
# End of 10.5 tests
#

View File

@@ -138,6 +138,15 @@ DROP PROCEDURE p2;
DROP TABLE t1, t1c, t2;
--echo #
--echo # MDEV-30646 View created via JSON_ARRAYAGG returns incorrect json object
--echo #
CREATE VIEW v1 AS SELECT JSON_OBJECT('plugin','unix_socket') as v1_json;
SELECT JSON_ARRAYAGG(v1_json) FROM v1;
DROP VIEW v1;
--echo #
--echo # End of 10.5 tests
--echo #

View File

@@ -62,3 +62,26 @@ SET SESSION aria_sort_buffer_size=default;
#
# End of 10.3 tests
#
#
# MDEV-34055 Assertion `readbytes != (size_t)-1 ||
# (*__errno_location ()) != 9' failure or corruption errors upon
# REPAIR on Aria tables
#
CREATE OR REPLACE TABLE t1 (a INT, b INT, UNIQUE(b), UNIQUE(a)) ENGINE=Aria;
INSERT INTO t1 VALUES (1,2);
REPAIR TABLE t1 EXTENDED QUICK USE_FRM;
Table Op Msg_type Msg_text
test.t1 repair warning Number of rows changed from 0 to 1
test.t1 repair status OK
CREATE TABLE t2 (c INT) ENGINE=Aria;
SELECT * FROM t2;
c
REPLACE INTO t1 VALUES (1,3);
REPAIR TABLE t2, t1 QUICK;
Table Op Msg_type Msg_text
test.t2 repair status OK
test.t1 repair status OK
DROP TABLE t1, t2;
#
# End of 10.5 tests
#

View File

@@ -74,3 +74,22 @@ SET SESSION aria_sort_buffer_size=default;
--echo #
--echo # End of 10.3 tests
--echo #
--echo #
--echo # MDEV-34055 Assertion `readbytes != (size_t)-1 ||
--echo # (*__errno_location ()) != 9' failure or corruption errors upon
--echo # REPAIR on Aria tables
--echo #
CREATE OR REPLACE TABLE t1 (a INT, b INT, UNIQUE(b), UNIQUE(a)) ENGINE=Aria;
INSERT INTO t1 VALUES (1,2);
REPAIR TABLE t1 EXTENDED QUICK USE_FRM;
CREATE TABLE t2 (c INT) ENGINE=Aria;
SELECT * FROM t2;
REPLACE INTO t1 VALUES (1,3);
REPAIR TABLE t2, t1 QUICK;
DROP TABLE t1, t2;
--echo #
--echo # End of 10.5 tests
--echo #

View File

@@ -1,4 +1,4 @@
CREATE user backup@localhost;
CREATE user backup@localhost IDENTIFIED BY 'xyz';
FOUND 1 /missing required privilege RELOAD/ in backup.log
FOUND 1 /missing required privilege PROCESS/ in backup.log
FOUND 1 /GRANT USAGE ON/ in backup.log

View File

@@ -1,16 +1,16 @@
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
CREATE user backup@localhost;
CREATE user backup@localhost IDENTIFIED BY 'xyz';
# backup possible for unprivileges user, with --no-lock
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --no-lock --target-dir=$targetdir;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup -pxyz --no-lock --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
# backup fails without --no-lock, because of FTWRL
--disable_result_log
error 1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup -pxyz --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
--enable_result_log
let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/backup.log;
@@ -23,7 +23,7 @@ let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/backup.log;
# backup succeeds with RELOAD privilege
GRANT RELOAD, PROCESS on *.* to backup@localhost;
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --target-dir=$targetdir;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user=backup --password=xyz --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
@@ -31,7 +31,7 @@ rmdir $targetdir;
# --slave-info and galera info require REPLICA MONITOR
--disable_result_log
error 1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --slave-info --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user backup --password xyz --slave-info --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
--enable_result_log
rmdir $targetdir;
@@ -40,7 +40,7 @@ rmdir $targetdir;
GRANT REPLICA MONITOR ON *.* TO backup@localhost;
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --slave-info --target-dir=$targetdir;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup -pxyz --slave-info --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
REVOKE REPLICA MONITOR ON *.* FROM backup@localhost;
@@ -50,7 +50,7 @@ REVOKE REPLICA MONITOR ON *.* FROM backup@localhost;
# kill-long-query-type=(not empty) requires CONNECTION ADMIN
--disable_result_log
--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --kill-long-query-type=ALL --kill-long-queries-timeout=4 --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup -pxyz --kill-long-query-type=ALL --kill-long-queries-timeout=4 --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log 2>&1;
--enable_result_log
rmdir $targetdir;
@@ -59,14 +59,14 @@ rmdir $targetdir;
GRANT CONNECTION ADMIN ON *.* TO backup@localhost;
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --kill-long-query-type=all --kill-long-queries-timeout=1 --target-dir=$targetdir;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user=backup --password=xyz --kill-long-query-type=all --kill-long-queries-timeout=1 --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;
# --safe-slave-backup requires REPLICATION SLAVE ADMIN, and REPLICA MONITOR
--disable_result_log
error 1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --safe-slave-backup --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --user backup --password xyz --safe-slave-backup --target-dir=$targetdir > $MYSQLTEST_VARDIR/tmp/backup.log;
--enable_result_log
rmdir $targetdir;
@@ -78,7 +78,7 @@ rmdir $targetdir;
GRANT REPLICATION SLAVE ADMIN ON *.* TO backup@localhost;
GRANT REPLICA MONITOR ON *.* TO backup@localhost;
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup --safe-slave-backup --target-dir=$targetdir;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup -ubackup -pxyz --safe-slave-backup --target-dir=$targetdir;
--enable_result_log
rmdir $targetdir;

View File

@@ -0,0 +1,6 @@
--innodb_encrypt_tables=1
--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
--loose-file-key-management
--loose-file-key-management-filekey=FILE:$MTR_SUITE_DIR/filekeys-data.key
--loose-file-key-management-filename=$MTR_SUITE_DIR/filekeys-data.enc
--loose-file-key-management-encryption-algorithm=aes_cbc

View File

@@ -0,0 +1,14 @@
CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB;
insert into t1 values(repeat('a',100));
select @@innodb_encrypt_tables;
@@innodb_encrypt_tables
ON
# xtrabackup backup
# xtrabackup prepare export
# restart
ALTER TABLE t1 DISCARD TABLESPACE;
ALTER TABLE t1 IMPORT TABLESPACE;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;

View File

@@ -0,0 +1,29 @@
--source include/have_file_key_management.inc
--source include/have_innodb.inc
CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB;
insert into t1 values(repeat('a',100));
select @@innodb_encrypt_tables;
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$targetdir;
--enable_result_log
--source include/shutdown_mysqld.inc
echo # xtrabackup prepare export;
--disable_result_log
exec $XTRABACKUP --prepare --export --target-dir=$targetdir;
--enable_result_log
--source include/start_mysqld.inc
let MYSQLD_DATADIR=`select @@datadir`;
ALTER TABLE t1 DISCARD TABLESPACE;
copy_file $targetdir/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd;
copy_file $targetdir/test/t1.cfg $MYSQLD_DATADIR/test/t1.cfg;
ALTER TABLE t1 IMPORT TABLESPACE;
CHECK TABLE t1;
DROP TABLE t1;
rmdir $targetdir;

View File

@@ -11,3 +11,10 @@ undo002
undo001
undo002
DROP TABLE t1;
#
# MDEV-33980 mariadb-backup --backup is missing
# retry logic for undo tablespaces
#
# xtrabackup backup
# Display undo log files from target directory
FOUND 5 /Retrying to read undo tablespace*/ in backup.log

View File

@@ -23,3 +23,22 @@ list_files $basedir undo*;
DROP TABLE t1;
rmdir $basedir;
--echo #
--echo # MDEV-33980 mariadb-backup --backup is missing
--echo # retry logic for undo tablespaces
--echo #
let $backuplog= $MYSQLTEST_VARDIR/tmp/backup.log;
--echo # xtrabackup backup
--disable_result_log
--error 1
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir --dbug=+d,undo_space_read_fail > $backuplog;
--enable_result_log
--echo # Display undo log files from target directory
list_files $basedir undo*;
--let SEARCH_PATTERN=Retrying to read undo tablespace*
--let SEARCH_FILE=$backuplog
--source include/search_pattern_in_file.inc
rmdir $basedir;
remove_file $backuplog;

View File

@@ -1,3 +1,6 @@
#
# MDEV-22649 SIGSEGV in ha_partition::create_partitioning_metadata on ALTER
#
set @save_alter_algorithm= @@session.alter_algorithm;
SET SESSION alter_algorithm=4;
CREATE TABLE t1(a INT) engine=myisam PARTITION BY RANGE(a) SUBPARTITION BY KEY(a) (PARTITION p0 VALUES LESS THAN (10) (SUBPARTITION s0,SUBPARTITION s1), PARTITION p1 VALUES LESS THAN (20) (SUBPARTITION s2,SUBPARTITION s3));
@@ -18,9 +21,16 @@ ALTER TABLE t1 ADD COLUMN c INT;
ERROR 0A000: ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=COPY
DROP table if exists t1;
set @@session.alter_algorithm= @save_alter_algorithm;
#
# MDEV-22804 SIGSEGV in ha_partition::create_partitioning_metadata |
# ERROR 1507 (HY000): Error in list of partitions to DROP
#
CREATE TABLE t1 (a INT) PARTITION BY RANGE(a) SUBPARTITION BY HASH(a) (PARTITION p VALUES LESS THAN (5) (SUBPARTITION sp, SUBPARTITION sp1), PARTITION p1 VALUES LESS THAN MAXVALUE (SUBPARTITION sp2, SUBPARTITION sp3));
ALTER TABLE t1 DROP PARTITION p;
DROP TABLE if exists t1;
#
# MDEV-23357 Server crashes in Sql_cmd_alter_table_exchange_partition::exchange_partition
#
CREATE TABLE t1 (i INT);
CREATE VIEW v1 as SELECT * FROM t1;
CREATE TABLE t2 (i INT);
@@ -28,3 +38,25 @@ ALTER TABLE v1 EXCHANGE PARTITION p2 WITH TABLE t2 ;
ERROR 42000: Can't open table
DROP VIEW v1;
DROP TABLE t1, t2;
#
# MDEV-25102 UNIQUE USING HASH error after ALTER ... DISABLE KEYS
#
create table t1 (i1 int primary key, i2 int, d1 date, key(i2))
partition by hash(i1) partitions 3;
insert into t1 values(0, 1, '2010-10-10');
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
index_name comment
PRIMARY
i2
alter table t1 disable keys;
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
index_name comment
PRIMARY
i2 disabled
alter table t1 add partition (partition p4);
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
index_name comment
PRIMARY
i2 disabled
drop table t1;
# End of 10.5 tests

View File

@@ -1,3 +1,6 @@
call mtr.add_suppression("..test.t1_will_crash");
call mtr.add_suppression("Got an error from unknown thread");
call mtr.add_suppression("Table 't1_will_crash' is marked as crashed and should be repaired");
CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
FLUSH TABLES;

View File

@@ -1,13 +1,13 @@
#
# General errors with ALTER TABLE and partitions that doesn't have to be run
# General bugs with ALTER TABLE and partitions that doesn't have to be run
# on all engines
#
--source include/have_partition.inc
#
# MDEV-22649 SIGSEGV in ha_partition::create_partitioning_metadata on ALTER
#
--echo #
--echo # MDEV-22649 SIGSEGV in ha_partition::create_partitioning_metadata on ALTER
--echo #
set @save_alter_algorithm= @@session.alter_algorithm;
SET SESSION alter_algorithm=4;
@@ -19,18 +19,18 @@ DROP table if exists t1;
set @@session.alter_algorithm= @save_alter_algorithm;
#
# MDEV-22804 SIGSEGV in ha_partition::create_partitioning_metadata |
# ERROR 1507 (HY000): Error in list of partitions to DROP
#
--echo #
--echo # MDEV-22804 SIGSEGV in ha_partition::create_partitioning_metadata |
--echo # ERROR 1507 (HY000): Error in list of partitions to DROP
--echo #
CREATE TABLE t1 (a INT) PARTITION BY RANGE(a) SUBPARTITION BY HASH(a) (PARTITION p VALUES LESS THAN (5) (SUBPARTITION sp, SUBPARTITION sp1), PARTITION p1 VALUES LESS THAN MAXVALUE (SUBPARTITION sp2, SUBPARTITION sp3));
ALTER TABLE t1 DROP PARTITION p;
DROP TABLE if exists t1;
#
# MDEV-23357 Server crashes in Sql_cmd_alter_table_exchange_partition::exchange_partition
#
--echo #
--echo # MDEV-23357 Server crashes in Sql_cmd_alter_table_exchange_partition::exchange_partition
--echo #
CREATE TABLE t1 (i INT);
CREATE VIEW v1 as SELECT * FROM t1;
CREATE TABLE t2 (i INT);
@@ -38,3 +38,18 @@ CREATE TABLE t2 (i INT);
ALTER TABLE v1 EXCHANGE PARTITION p2 WITH TABLE t2 ;
DROP VIEW v1;
DROP TABLE t1, t2;
--echo #
--echo # MDEV-25102 UNIQUE USING HASH error after ALTER ... DISABLE KEYS
--echo #
create table t1 (i1 int primary key, i2 int, d1 date, key(i2))
partition by hash(i1) partitions 3;
insert into t1 values(0, 1, '2010-10-10');
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
alter table t1 disable keys;
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
alter table t1 add partition (partition p4);
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
drop table t1;
--echo # End of 10.5 tests

View File

@@ -1 +0,0 @@
--myisam-recover-options

View File

@@ -0,0 +1 @@
--safe-mode

View File

@@ -1,18 +1,10 @@
# test the auto-recover (--myisam-recover) of partitioned myisam tables
--disable_query_log
call mtr.add_suppression("..test.t1_will_crash");
call mtr.add_suppression("Got an error from unknown thread");
call mtr.add_suppression("Table 't1_will_crash' is marked as crashed and should be repaired");
--enable_query_log
--source include/have_partition.inc
--disable_warnings
--disable_query_log
drop table if exists t1_will_crash;
--enable_query_log
--enable_warnings
CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -237,7 +237,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -39,7 +39,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 0
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

View File

@@ -117,7 +117,7 @@ performance_schema_events_waits_history_long_size 10000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 90
performance_schema_max_cond_instances 1000
performance_schema_max_cond_instances 1500
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 80
performance_schema_max_file_handles 32768

Some files were not shown because too many files have changed in this diff Show More