mariadb/storage/innobase
Kristian Nielsen ccee665272 MDEV-38734: Virtual columns wrongly included in binlog_row_image=MINIMAL
The original symptom of this was an assertion 'marked_for_read()' failing in
RBR with unique blobs and binlog_row_image=MINIMAL. The problem was that the
hidden DB_ROW_HASH_1 virtual column was included in the after-image of the
update, but the underlying blob column was not being updated, so it was not
in the read_set/write_set.

It seems clearly wrong to include the DB_ROW_HASH_1 in the after-image when
the underlying blob isn't even being updated. The cause of this is the
following commit:

Author: Monty <monty@mariadb.org>
Date:   Wed May 23 22:42:29 2018 +0300

    MDEV-15243 Crash with virtual fields and row based binary logging

That patch removed a check for if the underlying fields of a virtual column
were being updated, and just added them unconditionally. This seems wrong.

So revert that part of the commit, restoring the logic to only add a virtual
column if any underlying field is actually in the write_set.

Also fix a typo in that commit where a code reformat accidentally reversed a
condition.

Also fix an assertion when InnoDB goes to update secondary indexes: If any
part of the primary key is being updated, then add all virtual columns that
are part of secondary indexes to the read_set.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2026-02-03 12:51:19 +01:00
..
btr Merge branch '10.11' into 11.4 2025-11-04 13:44:16 +01:00
buf Binlog-in-engine: Fixes for some review comments 2026-01-16 14:57:13 +01:00
data MDEV-29694 Remove the InnoDB change buffer 2023-01-11 17:59:36 +02:00
dict Merge 10.11 into 11.4 2026-01-02 11:53:09 +02:00
eval MDEV-37619 The forced use of THD accessors hurts InnoDB performance 2025-09-16 15:18:32 +03:00
fil Binlog-in-engine: Fixes for some review comments 2026-01-16 14:57:13 +01:00
fsp Binlog-in-engine: Additional test coverage 2026-01-22 19:48:21 +01:00
fts MDEV-37152: Remove many calls to _current_thd() 2025-09-29 14:35:02 +03:00
fut Merge 10.11 into 11.4 2026-01-02 11:53:09 +02:00
gis Merge branch '10.11' into 11.4 2025-11-04 13:44:16 +01:00
ha MDEV-35472 Server crash in ha_storage_put_memlim upon reading from INNODB_LOCKS 2024-11-25 10:31:57 +02:00
handler MDEV-38734: Virtual columns wrongly included in binlog_row_image=MINIMAL 2026-02-03 12:51:19 +01:00
ibuf MDEV-36556: MariaDB restart after upgrade fails with innodb_encrypt_tables 2025-10-07 09:59:59 +03:00
include Binlog-in-engine: Fix incorrect GTID position at slave connect 2026-01-16 23:05:04 +01:00
lock Merge 10.11 into 11.4 2026-01-02 11:53:09 +02:00
log Binlog-in-innodb: Fix some review comments in InnoDB code 2026-01-16 23:05:04 +01:00
mem Cleanup: Remove duplicated code 2024-11-29 14:16:34 +02:00
mtr Binlog-in-engine: Fixes for some review comments 2026-01-16 14:57:13 +01:00
mysql-test/storage_engine MDEV-36330: SERIALIZABLE read inconsistency 2025-07-11 16:07:08 +03:00
os Binlog-in-engine: Clean up few remaining todos, error handling 2026-01-16 23:05:04 +01:00
page Merge 10.11 into 11.4 2026-01-02 11:53:09 +02:00
pars Merge 10.6 into 10.11 2025-02-25 10:23:24 +02:00
que MDEV-24035 Failing assertion: UT_LIST_GET_LEN(lock.trx_locks) == 0 causing disruption and replication failure 2024-12-12 18:02:00 +02:00
read MDEV-34515: Contention between purge and workload 2024-08-26 12:23:06 +03:00
rem Merge 10.11 into 11.4 2025-11-28 12:56:27 +02:00
row Merge 10.11 into 11.4 2026-01-02 11:53:09 +02:00
srv Binlog-in-innodb: Fix some review comments in InnoDB code 2026-01-16 23:05:04 +01:00
sync MDEV-37244: Avoid spin loop on page I/O waits 2025-10-17 09:41:50 +03:00
trx Binlog-in-engine: Initial support for 2pc and XA 2026-01-16 23:05:04 +01:00
unittest MDEV-35587 unit.innodb_sync leaks memory on mac 2024-12-12 10:27:36 +11:00
ut Binlog-in-engine: Support for new binlog format in mysqlbinlog 2026-01-16 14:57:13 +01:00
.clang-format-old switch off storage/innobase/.clang-format: InnoDB uses a common formatting style for all new code 2021-03-17 11:01:15 +03:00
CMakeLists.txt Binlog-in-engine: Fixes for some review comments 2026-01-16 14:57:13 +01:00
COPYING.Google
COPYING.Percona