Skip to content
  • Aakanksha Verma's avatar
    0fc9ed6e
    Bug #22445211 GCOLS: SIMPLE DML, FAILING ASSERTION: · 0fc9ed6e
    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
    0fc9ed6e
    Bug #22445211 GCOLS: SIMPLE DML, FAILING ASSERTION:
    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