diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-10-05 09:30:33 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-10-05 09:30:33 +0300 |
commit | 1562b2c20b5b76ee305942238e3e1e66f9952e29 (patch) | |
tree | d591351f8bae468c7e83a3530a7e6c215c6b4675 /mysql-test/suite/innodb/r | |
parent | 19f0b96d53dec47d7b8680c44997afba2ed7431e (diff) | |
download | mariadb-git-1562b2c20b5b76ee305942238e3e1e66f9952e29.tar.gz |
MDEV-29666 InnoDB fails to purge secondary index records when indexed virtual columns exist
row_purge_get_partial(): Replaces trx_undo_rec_get_partial_row().
Also copy the purge_node_t::ref to the purge_node_t::row.
In this way, the clustered index key fields will always be
available, even if thanks to
commit d384ead0f024995787b1f29bc672c33b0d3d40a8 (MDEV-14799)
they would no longer be repeated in the remaining part of the
undo log record.
Diffstat (limited to 'mysql-test/suite/innodb/r')
-rw-r--r-- | mysql-test/suite/innodb/r/purge_secondary.result | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/purge_secondary.result b/mysql-test/suite/innodb/r/purge_secondary.result index 8f20f5baacb..66aaeb9e1a1 100644 --- a/mysql-test/suite/innodb/r/purge_secondary.result +++ b/mysql-test/suite/innodb/r/purge_secondary.result @@ -166,4 +166,19 @@ buffer_LRU_batch_evict_total_pages buffer # FLUSH TABLES t1 FOR EXPORT; # UNLOCK TABLES; DROP TABLE t1; +# +# MDEV-29666 InnoDB fails to purge secondary index records +# when indexed virtual columns exist +# +CREATE TABLE t1 (a INT, b INT, a1 INT AS(a) VIRTUAL, +INDEX(a1),INDEX(b)) ENGINE=InnoDB; +INSERT INTO t1 SET a=1, b=1; +UPDATE t1 SET a=2, b=3; +InnoDB 0 transactions not purged +FLUSH TABLE t1 FOR EXPORT; +page 4: N_RECS=0x0001 +page 5: N_RECS=0x0001 +UNLOCK TABLES; +DROP TABLE t1; +# End of 10.3 tests SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency; |