mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fixed LP bug #669382.
When probing into the hash table of a hashed join cache is performed the key value should not constructed in the buffer used to build keys in the hash tables. The constant parts of these keys copied only once, so they should not be ever overwritten. Otherwise wrong results can be produced by queries that employ hashed join buffers.
This commit is contained in:
@ -1133,11 +1133,6 @@ private:
|
||||
/* Size of the offset of a key entry in the hash table */
|
||||
uint size_of_key_ofs;
|
||||
|
||||
/*
|
||||
Length of a key value.
|
||||
It is assumed that all key values have the same length.
|
||||
*/
|
||||
uint key_length;
|
||||
/*
|
||||
Length of the key entry in the hash table.
|
||||
A key entry either contains the key value, or it contains a reference
|
||||
@ -1164,6 +1159,14 @@ private:
|
||||
|
||||
protected:
|
||||
|
||||
/*
|
||||
Length of a key value.
|
||||
It is assumed that all key values have the same length.
|
||||
*/
|
||||
uint key_length;
|
||||
/* Buffer to store key values for probing */
|
||||
uchar *key_buff;
|
||||
|
||||
/* Number of key entries in the hash table (number of distinct keys) */
|
||||
uint key_entries;
|
||||
|
||||
|
Reference in New Issue
Block a user