• Anssi Kääriäinen's avatar
    Fixed #19861 -- Transaction ._dirty flag improvement · 50328f0a
    Anssi Kääriäinen yazdı
    There were a couple of errors in ._dirty flag handling:
      * It started as None, but was never reset to None.
      * The _dirty flag was sometimes used to indicate if the connection
        was inside transaction management, but this was not done
        consistently. This also meant the flag had three separate values.
      * The None value had a special meaning, causing for example inability
        to commit() on new connection unless enter/leave tx management was
        done.
      * The _dirty was tracking "connection in transaction" state, but only
        in managed transactions.
      * Some tests never reset the transaction state of the used connection.
      * And some additional less important changes.
    
    This commit has some potential for regressions, but as the above list
    shows, the current situation isn't perfect either.
    50328f0a
tests.py 10.3 KB