summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorNikita Malyavin <nikitamalyavin@gmail.com>2021-06-22 18:30:53 +0300
committerNikita Malyavin <nikitamalyavin@gmail.com>2021-07-12 22:00:39 +0300
commit0f6a5b4390efeac19ff3ad6fd3a8dd32241b343c (patch)
tree6173a84980d947b4c3fed1bc7d7e85fb0d980d86 /sql/table.h
parent7d9ba57da4843c05a4d11e63159a961c4eb79a04 (diff)
downloadmariadb-git-0f6a5b4390efeac19ff3ad6fd3a8dd32241b343c.tar.gz
[2/2] MDEV-18166 ASSERT_COLUMN_MARKED_FOR_READ failed on tables with vcols
Several different test cases were failing under the same reason: the fields in a vcol expression were not marked during marking columns of a key contatining virtual column for read. Fix: make marking columns of a key for read a special case where register_field_in_read_map() is done instead of plain bitmap_set_bit(). Some test cases are only reproducible in 10.4+, but the fix is applicable to 10.2+
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h
index 69bd14b2834..7a5f4c6fe86 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1423,6 +1423,7 @@ public:
{ return prepare_for_keyread(index, &tmp_set); }
void mark_columns_used_by_index(uint index, MY_BITMAP *map);
void mark_columns_used_by_index_no_reset(uint index, MY_BITMAP *map);
+ void mark_columns_used_by_index_for_read_no_reset(uint index);
void restore_column_maps_after_keyread(MY_BITMAP *backup);
void mark_auto_increment_column(void);
void mark_columns_needed_for_update(void);