Skip to content
  • Lakshmi Narayanan Sreethar's avatar
    edb098ca
    Bug#25063506: FK update not cascaded to grandchild · edb098ca
    Lakshmi Narayanan Sreethar authored
    The original transactions's connection flags in ApiConnectRec are saved
    in the IndexOperation before executing so that they can be restored
    after execution. This is to ensure that any subsequent FK triggers run
    with the original transaction's flag. But the saved flags in the
    IndexOperations are not reset when the IndexOperation is finally
    released. Due to this any subsequent transaction that uses the same
    IndexOperation reads the dirty saved flags and produce inconsistent
    results.
    
    This patch fixes that by resetting the saved flags when the
    indexOperation is released.
    
    This patch also fixes another similar issue in the ApiConnectRecord.
    When a transaction is newly started, the ApiConnectRecord has to be
    initialised. But during the execution of the TCINDXREQ signal, this was
    not being done properly. Due to this, a transaction could read the dirty
    flags from the previous transaction and return inconsistent results.
    This is fixed by properly initialising the ApiConnectRecord.
    edb098ca
    Bug#25063506: FK update not cascaded to grandchild
    Lakshmi Narayanan Sreethar authored
    The original transactions's connection flags in ApiConnectRec are saved
    in the IndexOperation before executing so that they can be restored
    after execution. This is to ensure that any subsequent FK triggers run
    with the original transaction's flag. But the saved flags in the
    IndexOperations are not reset when the IndexOperation is finally
    released. Due to this any subsequent transaction that uses the same
    IndexOperation reads the dirty saved flags and produce inconsistent
    results.
    
    This patch fixes that by resetting the saved flags when the
    indexOperation is released.
    
    This patch also fixes another similar issue in the ApiConnectRecord.
    When a transaction is newly started, the ApiConnectRecord has to be
    initialised. But during the execution of the TCINDXREQ signal, this was
    not being done properly. Due to this, a transaction could read the dirty
    flags from the previous transaction and return inconsistent results.
    This is fixed by properly initialising the ApiConnectRecord.
Loading