You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug #30473261: CONVERT THE INDEX SUBQUERY ENGINES INTO USING THE ITERATOR EXECUTOR [patch 3/10, hashed refs]
Make RefIterator support hashed refs.
Most index lookups (ref accesses) follow a pattern where the index' parts are
matched 1:1 with a set of items, e.g. an index on (a,b) could have a lookup
a=3,b=t1.other_b.
However, as a special case, temporary tables may need indexes over a set of
fields that are so large that they cannot be part of a unique index (e.g.
blobs, or a large set of fields). In this case, the index is over a single
column (a non-unique numeric hash of all the fields involved), and the
TABLE_REF construction takes a rather different form, with each field being
hashed into this column. We need to handle this correctly in RefIterator,
and also print this correctly in EXPLAIN, even though we no longer have a 1:1
match between parts of the lookup key (TABLE_REF) and fields in the index
(key_parts in KEY).
This is needed for the next patch in the series. Stricly speaking, it only
uses hashed refs in (forward-scanning) RefIterator, but for orthogonality,
we add it to all paths where it is easy to do so.
Change-Id: If8442551d29ac76914e94470169a233812052638
0 commit comments