-
Committer:
Igor Babaev
-
Date:
2009-06-02 21:58:56 UTC
-
Revision ID:
igor@mysql.com-20090602215856-utdq548h030qjn3r
Fixed bug #45092.
When the descriptors of the data fields stored in a join buffer
are created first the descriptors of the the fields used in
building access keys are constructed. The construction is done
with a call of the function add_table_data_fields_to_join_cache.
One of the parameters of this function, namely field_set, specifies
for what fields the descriptors are to be constructed. This function
is called once again for the remaining fields.
As the function adds new elements to the array of the field
descriptors it has to save the number of the descriptors that
has been already built in order to be able continue adding them
later. The same is true for the array of pointers to the field
descriptors that is created for blob fields.
However the length of this array was not been saved. As a result,
when the remaining blob fields were processed the pointers to
their field descriptors overwrote the pointers to the descriptors
of the blob fields used to build the access keys.