Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
02c3fcd
Merge pull request #2 from percona/release-5.7.44-52
VarunNagaraju Dec 11, 2024
5f12767
PS-9603 ERROR 1712 (HY000): Index PRIMARY is corrupted
VarunNagaraju Jan 29, 2025
25b1890
Revert "PS-7940 ON DELETE CASCADE with generated column crashes in in…
VarunNagaraju Feb 11, 2025
42f6a0b
PS-9603 ON DELETE CASCADE with generated column crashes in innobase_g…
VarunNagaraju Feb 4, 2025
b393804
PS-9603 db cache is not flushed on DROP USER
VarunNagaraju Feb 4, 2025
e87c072
PS-9603 InnoDB: Failing assertion: result != FTS_INVALID
VarunNagaraju Feb 4, 2025
bf49235
PS-9603 buffer overrun in my_print_help
VarunNagaraju Feb 5, 2025
4feea1e
PS-9603 AppArmor denies access to files /proc/self/task/<tid>/mem
VarunNagaraju Feb 5, 2025
8bcb674
PS-9603 CORE CLIENT CANNOT SEND QUERY WITH NUMBER SIGN OR DOUBLE
VarunNagaraju Feb 5, 2025
05a8062
PS-9603 Crashing and widespread corruption of spatial indexes after I…
VarunNagaraju Feb 5, 2025
5d715bd
PS-9603 FK: assertion failure in row_MySQL_pad_col
VarunNagaraju Feb 5, 2025
56f305e
PS-9603 MySQL server 8.3.0 crashes at Item_rollup_sum_switcher::curre…
VarunNagaraju Feb 5, 2025
61cabf8
PS-9603 Crash in mysqld initialization when compiling with XCode 16 d…
VarunNagaraju Feb 5, 2025
69f4e93
PS-9603 [InnoDB] FULLTEXT index limits FTS_DOC_ID to max unsigned 32-…
VarunNagaraju Feb 5, 2025
ee29b03
PS-9603 Update the versions numbers
VarunNagaraju Feb 13, 2025
2307460
Merge pull request #3 from VarunNagaraju/post-EOL-5
VarunNagaraju Feb 18, 2025
a467231
Merge remote-tracking branch 'private/release-5.7.44-53' into PS-10059
VarunNagaraju Jul 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MYSQL_VERSION
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=7
MYSQL_VERSION_PATCH=44
MYSQL_VERSION_EXTRA=-52
MYSQL_VERSION_EXTRA=-53
4 changes: 2 additions & 2 deletions client/mysql.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2684,8 +2684,8 @@ static bool add_line(String &buffer, char *line, size_t line_length,
}
buffer.length(0);
}
else if (!*ml_comment && (!*in_string && (inchar == '#' ||
(inchar == '-' && pos[1] == '-' &&
else if (!*ml_comment && (!*in_string && ss_comment != SSC_HINT && (inchar == '#' ||
(inchar == '-' && pos[1] == '-' &&
/*
The third byte is either whitespace or is the
end of the line -- which would occur only
Expand Down
7 changes: 7 additions & 0 deletions mysql-test/r/bug30875669.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Bug#30875669 CORE CLIENT CANNOT SEND QUERY WITH NUMBER SIGN OR DOUBLE DASH IN HINT COMMENT
CREATE USER myuser;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used
DROP USER myuser;
352 changes: 352 additions & 0 deletions mysql-test/suite/innodb/r/bug34574604.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,352 @@
# Case 1. Extern BLOB with sec index on v_col undergoes UPDATE during online DDL
CREATE TABLE t1 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t1 VALUES (1, 1, REPEAT('rocalrulcrcaurcuccoolrouuocacaooaucauualcucuoucucclolcllloocuarcoorlaccarocouuaoorcolloucraoaaooc', 281), DEFAULT);
SELECT c1, c2, c4 FROM t1;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t1 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t1;
c1 c2 c4
1 1 2
UPDATE t1 SET c2=2;
SELECT c1, c2, c4 FROM t1;
c1 c2 c4
1 2 2
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t1;
c1 c2 c4
1 2 2
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t1;
# Case 2. BLOB with sec index on v_col undergoes UPDATE during online DDL
CREATE TABLE t2 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t2 VALUES (1, 1, REPEAT('A', 256), DEFAULT);
SELECT c1, c2, c4 FROM t2;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t2 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t2;
c1 c2 c4
1 1 2
UPDATE t2 SET c2=2;
SELECT c1, c2, c4 FROM t2;
c1 c2 c4
1 2 2
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t2;
c1 c2 c4
1 2 2
CHECK TABLE t2;
Table Op Msg_type Msg_text
test.t2 check status OK
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t2;
# Case 3. (case 1) with update on base column of v_col
CREATE TABLE t3 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t3 VALUES (1, 1, REPEAT('rocalrulcrcaurcuccoolrouuocacaooaucauualcucuoucucclolcllloocuarcoorlaccarocouuaoorcolloucraoaaooc', 281), DEFAULT);
SELECT c1, c2, c4 FROM t3;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TABLE `t3` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t3 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t3;
c1 c2 c4
1 1 2
UPDATE t3 SET c1=10;
SELECT c1, c2, c4 FROM t3;
c1 c2 c4
10 1 11
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t3;
c1 c2 c4
10 1 11
CHECK TABLE t3;
Table Op Msg_type Msg_text
test.t3 check status OK
SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TABLE `t3` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t3;
# Case 4. (case 2) with update on base column of v_col
CREATE TABLE t4 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t4 VALUES (1, 1, REPEAT('A', 256), DEFAULT);
SELECT c1, c2, c4 FROM t4;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t4 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t4;
c1 c2 c4
1 1 2
UPDATE t4 SET c1=10;
SELECT c1, c2, c4 FROM t4;
c1 c2 c4
10 1 11
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t4;
c1 c2 c4
10 1 11
CHECK TABLE t4;
Table Op Msg_type Msg_text
test.t4 check status OK
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t4;
# Case 5. (case 1) with update on BLOB without changing extern status
CREATE TABLE t5 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t5 VALUES (1, 1, REPEAT('rocalrulcrcaurcuccoolrouuocacaooaucauualcucuoucucclolcllloocuarcoorlaccarocouuaoorcolloucraoaaooc', 281), DEFAULT);
SELECT c1, c2, c4 FROM t5;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t5;
Table Create Table
t5 CREATE TABLE `t5` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t5 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t5;
c1 c2 c4
1 1 2
UPDATE t5 SET c3=REPEAT('abcdefghcrcaurcuccoolrouuocacaooaucauualcucuoucucclolcllloocuarcoorlaccarocouuaoorcolloucraoaaooc', 281);
UPDATE t5 SET c2=2;
UPDATE t5 SET c1=10;
SELECT c1, c2, c4 FROM t5;
c1 c2 c4
10 2 11
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t5;
c1 c2 c4
10 2 11
CHECK TABLE t5;
Table Op Msg_type Msg_text
test.t5 check status OK
SHOW CREATE TABLE t5;
Table Create Table
t5 CREATE TABLE `t5` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t5;
# Case 6. (case 2) with update on BLOB without changing extern status
CREATE TABLE t6 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t6 VALUES (1, 1, REPEAT('A', 256), DEFAULT);
SELECT c1, c2, c4 FROM t6;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t6;
Table Create Table
t6 CREATE TABLE `t6` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t6 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t6;
c1 c2 c4
1 1 2
UPDATE t6 SET c3=REPEAT('B', 256);
UPDATE t6 SET c2=2;
UPDATE t6 SET c1=10;
SELECT c1, c2, c4 FROM t6;
c1 c2 c4
10 2 11
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t6;
c1 c2 c4
10 2 11
CHECK TABLE t6;
Table Op Msg_type Msg_text
test.t6 check status OK
SHOW CREATE TABLE t6;
Table Create Table
t6 CREATE TABLE `t6` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t6;
# Case 7. (case 1) with update on BLOB inverting BLOB's extern status
CREATE TABLE t7 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t7 VALUES (1, 1, REPEAT('rocalrulcrcaurcuccoolrouuocacaooaucauualcucuoucucclolcllloocuarcoorlaccarocouuaoorcolloucraoaaooc', 281), DEFAULT);
SELECT c1, c2, c4 FROM t7;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t7;
Table Create Table
t7 CREATE TABLE `t7` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t7 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t7;
c1 c2 c4
1 1 2
UPDATE t7 SET c3=REPEAT('B', 256);
UPDATE t7 SET c2=2;
UPDATE t7 SET c1=10;
SELECT c1, c2, c4 FROM t7;
c1 c2 c4
10 2 11
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t7;
c1 c2 c4
10 2 11
CHECK TABLE t7;
Table Op Msg_type Msg_text
test.t7 check status OK
SHOW CREATE TABLE t7;
Table Create Table
t7 CREATE TABLE `t7` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t7;
# Case 8. (case 2) with update on BLOB inverting BLOB's extern status
CREATE TABLE t8 (c1 INT, c2 INT, c3 BLOB, c4 INT AS (c1 + 1), INDEX id(c4) );
INSERT INTO t8 VALUES (1, 1, REPEAT('A', 256), DEFAULT);
SELECT c1, c2, c4 FROM t8;
c1 c2 c4
1 1 2
SHOW CREATE TABLE t8;
Table Create Table
t8 CREATE TABLE `t8` (
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL online WAIT_FOR upd';
ALTER TABLE t8 ADD PRIMARY KEY (c1);
SET DEBUG_SYNC='now WAIT_FOR online';
SELECT c1, c2, c4 FROM t8;
c1 c2 c4
1 1 2
UPDATE t8 SET c3=REPEAT('abcdefghcrcaurcuccoolrouuocacaooaucauualcucuoucucclolcllloocuarcoorlaccarocouuaoorcolloucraoaaooc', 281);
UPDATE t8 SET c2=2;
UPDATE t8 SET c1=10;
SELECT c1, c2, c4 FROM t8;
c1 c2 c4
10 2 11
SET DEBUG_SYNC='now SIGNAL upd';
SELECT c1, c2, c4 FROM t8;
c1 c2 c4
10 2 11
CHECK TABLE t8;
Table Op Msg_type Msg_text
test.t8 check status OK
SHOW CREATE TABLE t8;
Table Create Table
t8 CREATE TABLE `t8` (
`c1` int(11) NOT NULL,
`c2` int(11) DEFAULT NULL,
`c3` blob,
`c4` int(11) GENERATED ALWAYS AS ((`c1` + 1)) VIRTUAL,
PRIMARY KEY (`c1`),
KEY `id` (`c4`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t8;
7 changes: 5 additions & 2 deletions mysql-test/suite/innodb/r/foreign_key.result
Original file line number Diff line number Diff line change
Expand Up @@ -298,9 +298,12 @@ date_sent
DROP TABLE `email_stats`;
DROP TABLE `emails`;
#
# PS-7940 :ON DELETE CASCADE with generated column crashes in innobase_get_computed_value
# Bug#33691659: ON DELETE CASCADE with generated column crashes in innobase_get_computed_value
#
CREATE TABLE `t1` (`t1_id` int unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY(`t1_id`)) ENGINE=InnoDB;
CREATE TABLE `t1` (
`t1_id` int unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY(`t1_id`)
) ENGINE=InnoDB;
INSERT INTO `t1` VALUES (10);
CREATE TABLE `t2` (
`t2_id` int unsigned NOT NULL AUTO_INCREMENT,
Expand Down
Loading