-
Aakanksha Verma authored
!CURSOR->INDEX->IS_COMMITTED() PROBLEM: On 5.7 & trunk: When trying to do a simple DML like REPLACE , server used to crash with error : ROW_NOT_FOUND on update . The issue is basically the value of max_prefix(which is the maximum value of prefix for the index) being incorrectly set. When the index uses whole of the column length , the max_prefix value was not being set to 0(since max_prefix=0 would represent indexing the whole column). Hence causing the length of column being wrongly set and to the discrepancy as we try to fetch the row while doing a REPLACE. FIX: Fix is to set the max_prefix to 0 if a column is a part of an index where the prefix length is 0 and otherwise set it to any higher values (based on non zero prefix length for field). Reviewed by:Jimmy Yang<Jimmy.Yang@oracle.com> Reviewed by:Thirunarayanan Balathandayuth <thirunarayanan.balathandayuth@oracle.com> Rb :12375
Aakanksha Verma authored!CURSOR->INDEX->IS_COMMITTED() PROBLEM: On 5.7 & trunk: When trying to do a simple DML like REPLACE , server used to crash with error : ROW_NOT_FOUND on update . The issue is basically the value of max_prefix(which is the maximum value of prefix for the index) being incorrectly set. When the index uses whole of the column length , the max_prefix value was not being set to 0(since max_prefix=0 would represent indexing the whole column). Hence causing the length of column being wrongly set and to the discrepancy as we try to fetch the row while doing a REPLACE. FIX: Fix is to set the max_prefix to 0 if a column is a part of an index where the prefix length is 0 and otherwise set it to any higher values (based on non zero prefix length for field). Reviewed by:Jimmy Yang<Jimmy.Yang@oracle.com> Reviewed by:Thirunarayanan Balathandayuth <thirunarayanan.balathandayuth@oracle.com> Rb :12375
Loading