-
Debarun Banerjee authored
Problem : --------- In ha_innopart::rnd_next_in_part() and in other partition fetch calls we are freeing the current blob heap for the partition before doing record fetch. It looks like SQL is referring to this BLOB heap in case there is no data to fetch and so freeing it early causes the issue in correlated sub query execution. The issues is introduced from [hash:eb16156bf16388153a27e776439dee38a18b2a4b] as part of the bug-fix [bug-20582149 - INVALID READ OF SIZE 1 IN PROTOCOL::NET_STORE_DATA]. Solution : ---------- It is good to keep the part consistent between partitioned and non-partitioned table. The original fix doesn't need to free the blob heap before doing fetch. 1. clear_blob_heap_part() - Removed function and calls from next and prev for index and sequential scan. 2. For table scan and unordered scan use only one blob_heap. 3. ha_innopart::rnd_end_in_part() - Remove unconditional reset of blob_heap to NULL. Reviewed-by:
Mattias Jonsson <mattias.jonsson@oracle.com> RB: 8215
Debarun Banerjee authoredProblem : --------- In ha_innopart::rnd_next_in_part() and in other partition fetch calls we are freeing the current blob heap for the partition before doing record fetch. It looks like SQL is referring to this BLOB heap in case there is no data to fetch and so freeing it early causes the issue in correlated sub query execution. The issues is introduced from [hash:eb16156bf16388153a27e776439dee38a18b2a4b] as part of the bug-fix [bug-20582149 - INVALID READ OF SIZE 1 IN PROTOCOL::NET_STORE_DATA]. Solution : ---------- It is good to keep the part consistent between partitioned and non-partitioned table. The original fix doesn't need to free the blob heap before doing fetch. 1. clear_blob_heap_part() - Removed function and calls from next and prev for index and sequential scan. 2. For table scan and unordered scan use only one blob_heap. 3. ha_innopart::rnd_end_in_part() - Remove unconditional reset of blob_heap to NULL. Reviewed-by:
Mattias Jonsson <mattias.jonsson@oracle.com> RB: 8215
Loading