• Marko Mäkelä's avatar
    MDEV-25459 MVCC read from index on CHAR or VARCHAR wrongly omits rows · 25ed665a
    Marko Mäkelä authored
    row_sel_sec_rec_is_for_clust_rec(): If the field in the
    clustered index record stored off page, always fetch it,
    also when the secondary index field has been built on the
    entire column. This was broken ever since the InnoDB Plugin
    for MySQL Server 5.1 introduced ROW_FORMAT=DYNAMIC and
    ROW_FORMAT=COMPRESSED for InnoDB tables. That code was first
    introduced in this tree in
    commit 3945d5e5.
    
    For the original ROW_FORMAT=REDUNDANT and the MySQL 5.0.3
    ROW_FORMAT=COMPRESSED, there was no problem, because for
    those tables we always stored at least a 768-byte prefix of
    each column in the clustered index record.
    
    row_sel_sec_rec_is_for_blob(): Allow prefix_len==0 for matching
    the full column.
    25ed665a
row0sel.cc 166 KB