diff --git a/mysql-test/suite/innodb/r/insert_into_empty.result b/mysql-test/suite/innodb/r/insert_into_empty.result index 2eb6f5d4d0aab..f33bef890fd80 100644 --- a/mysql-test/suite/innodb/r/insert_into_empty.result +++ b/mysql-test/suite/innodb/r/insert_into_empty.result @@ -211,3 +211,14 @@ c c2 DELETE FROM t; COMMIT; DROP TABLE t; +# +# MDEV-26956 LeakSanitizer/Valgrind errors in +# trx_mod_table_time_t::start_bulk_insert +# upon adding system versioning +# +CREATE TABLE t1(id INT, s DATE, e DATE, PERIOD FOR p(s,e), +PRIMARY KEY(id, p WITHOUT OVERLAPS)) ENGINE=InnoDB; +ALTER TABLE t1 ADD COLUMN row_start BIGINT UNSIGNED AS ROW START, +ADD COLUMN row_end BIGINT UNSIGNED AS ROW END, +ADD PERIOD FOR SYSTEM_TIME(row_start,row_end), WITH SYSTEM VERSIONING; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/t/insert_into_empty.test b/mysql-test/suite/innodb/t/insert_into_empty.test index cfd79f05f6ceb..7719ae68d7b6c 100644 --- a/mysql-test/suite/innodb/t/insert_into_empty.test +++ b/mysql-test/suite/innodb/t/insert_into_empty.test @@ -221,3 +221,15 @@ SELECT * FROM t; DELETE FROM t; COMMIT; DROP TABLE t; + +--echo # +--echo # MDEV-26956 LeakSanitizer/Valgrind errors in +--echo # trx_mod_table_time_t::start_bulk_insert +--echo # upon adding system versioning +--echo # +CREATE TABLE t1(id INT, s DATE, e DATE, PERIOD FOR p(s,e), + PRIMARY KEY(id, p WITHOUT OVERLAPS)) ENGINE=InnoDB; +ALTER TABLE t1 ADD COLUMN row_start BIGINT UNSIGNED AS ROW START, + ADD COLUMN row_end BIGINT UNSIGNED AS ROW END, + ADD PERIOD FOR SYSTEM_TIME(row_start,row_end), WITH SYSTEM VERSIONING; +DROP TABLE t1; diff --git a/sql/table.cc b/sql/table.cc index df94cac6475d7..b183ebd3254d5 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -9711,6 +9711,9 @@ bool TR_table::update(ulonglong start_id, ulonglong end_id) int error= table->file->ha_write_row(table->record[0]); if (unlikely(error)) table->file->print_error(error, MYF(0)); + /* extra() is used to apply the bulk insert operation + on mysql/transaction_registry table */ + table->file->extra(HA_EXTRA_IGNORE_INSERT); return error; }