Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL)
Description
MySQL 5.7.36 includes a bug fix with a test case:
Bug #33053297 VIRTUAL INDEX CORRUPTED DURING CASCADE UPDATE ON CHILD TABLE
The test case resembles MDEV-24041. A quick attempt to apply the patch (with some rewriting in row_ins_foreign_fill_virtual()) did not affect the outcome. There is a result difference:
@@ -918,7 +918,6 @@
|
1 NULL 2020-10-22 13:32:41 2020-
|
SELECT `date_sent` FROM `email_stats` WHERE `generated_sent_email` = '2020-';
|
date_sent
|
-2020-10-22 13:32:41
|
DROP TABLE `email_stats`;
|
DROP TABLE `emails`;
|
# test-case 4
|
@@ -956,7 +955,6 @@
|
1 NULL 2020-10-22 13:32:41 2020-
|
SELECT `date_sent` FROM `email_stats` WHERE `generated_sent_email` = '2020-';
|
date_sent
|
-2020-10-22 13:32:41
|
DROP TABLE `email_stats`;
|
DROP TABLE `emails`;
|
# End of 10.2 tests |
Curiously, if I add CHECK TABLE to the test, it will not report any corruption.
Attachments
Issue Links
- blocks
-
MDEV-26867 Merge new release of InnoDB 5.7.36 to 10.2
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue blocks |
Attachment | foreign_key.patch [ 59882 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Nikita Malyavin [ nikitamalyavin ] | Marko Mäkelä [ marko ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Marko Mäkelä [ marko ] | Nikita Malyavin [ nikitamalyavin ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Assignee | Nikita Malyavin [ nikitamalyavin ] | Marko Mäkelä [ marko ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Marko Mäkelä [ marko ] | Nikita Malyavin [ nikitamalyavin ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
issue.field.resolutiondate | 2021-10-28 05:10:46.0 | 2021-10-28 05:10:46.774 |
Fix Version/s | 10.2.41 [ 26032 ] | |
Fix Version/s | 10.3.32 [ 26029 ] | |
Fix Version/s | 10.4.22 [ 26031 ] | |
Fix Version/s | 10.5.13 [ 26026 ] | |
Fix Version/s | 10.6.5 [ 26034 ] | |
Fix Version/s | 10.7.1 [ 26120 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 126438 ] | MariaDB v4 [ 159792 ] |
nikitamalyavin, I applied the test from the patch to MariaDB as foreign_key.patch
. (The final desired location would be gcol.innodb_virtual_fk where we already have a similar test.)
This is otherwise the same as the original test, but there now is a trailing space in two WHERE conditions in the .test file. I wanted to see if it matters.
With that, and with or without my attempted crude port of the fix, the test still fails like this:
10.2 69b3de830d531e5cbc57c1a43c7bd55b31f7197e
innodb.foreign_key 'innodb' [ fail ]
Test ended at 2021-10-20 21:20:51
CURRENT_TEST: innodb.foreign_key
--- /mariadb/10.2o/mysql-test/suite/innodb/r/foreign_key.result 2021-10-20 17:54:42.173723268 +0300
+++ /mariadb/10.2o/mysql-test/suite/innodb/r/foreign_key.reject 2021-10-20 21:20:51.146557129 +0300
@@ -916,9 +916,8 @@
SELECT * FROM `email_stats`;
id email_id date_sent generated_sent_email
1 NULL 2020-10-22 13:32:41 2020-
-SELECT `date_sent` FROM `email_stats` WHERE `generated_sent_email` = '2020-';
+SELECT `date_sent` FROM `email_stats` WHERE `generated_sent_email` = '2020- ';
date_sent
-2020-10-22 13:32:41
DROP TABLE `email_stats`;
DROP TABLE `emails`;
# test-case 4
@@ -954,9 +953,8 @@
SELECT * FROM `email_stats`;
id email_id date_sent generated_sent_email
1 NULL 2020-10-22 13:32:41 2020-
-SELECT `date_sent` FROM `email_stats` WHERE `generated_sent_email` = '2020-';
+SELECT `date_sent` FROM `email_stats` WHERE `generated_sent_email` = '2020- ';
date_sent
-2020-10-22 13:32:41
DROP TABLE `email_stats`;
DROP TABLE `emails`;
# End of 10.2 tests
mysqltest: Result length mismatch