Skip to content
  • Aditya A's avatar
    43acad2a
    Bug #22990029 GCOLS: INCORRECT BEHAVIOR AFTER DATA INSERTED WITH IGNORE KEYWORD · 43acad2a
    Aditya A authored
    PROBLEM
    -------
    
    1. We are inserting a base column entry which causes an invalid value
       by the function provided to generate virtual column,but we go ahead
       and insert this due to ignore keyword.
    2. We then delete this record, making this record delete marked in innodb.
       If we try to insert another record with the same pk as the deleted
       record and if the rec is not purged ,then we try to undelete mark this
       record and try to build a update vector with previous and updated value
       and while calculating the value of virtual column we get error from
       server that we cannot calculate this from base column.
       Innodb assumes that innobase_get_computed_value() Should always return
       a valid value for the base column present in the row. The failure of
       this call was not handled ,so we were crashing.
    
    FIX
    ---
    Handled the failure of innobase_get_computed_value()
    call. We now return error in this case and prevent a
    crash.
    43acad2a
    Bug #22990029 GCOLS: INCORRECT BEHAVIOR AFTER DATA INSERTED WITH IGNORE KEYWORD
    Aditya A authored
    PROBLEM
    -------
    
    1. We are inserting a base column entry which causes an invalid value
       by the function provided to generate virtual column,but we go ahead
       and insert this due to ignore keyword.
    2. We then delete this record, making this record delete marked in innodb.
       If we try to insert another record with the same pk as the deleted
       record and if the rec is not purged ,then we try to undelete mark this
       record and try to build a update vector with previous and updated value
       and while calculating the value of virtual column we get error from
       server that we cannot calculate this from base column.
       Innodb assumes that innobase_get_computed_value() Should always return
       a valid value for the base column present in the row. The failure of
       this call was not handled ,so we were crashing.
    
    FIX
    ---
    Handled the failure of innobase_get_computed_value()
    call. We now return error in this case and prevent a
    crash.
Loading