# # # patch "ChangeLog" # from [6abb7332c17c15bb195af3f2a87acba5923c00e8] # to [fbc45c36efde773600d1a3b33f69a166ee9ddd26] # # patch "database.cc" # from [984427d1b818696b6d6ca34b15d9825d315662d7] # to [d23b26584ff2c0e3990ac9616a3e1bc58eefd665] # ============================================================ --- ChangeLog 6abb7332c17c15bb195af3f2a87acba5923c00e8 +++ ChangeLog fbc45c36efde773600d1a3b33f69a166ee9ddd26 @@ -1,5 +1,12 @@ 2006-05-12 Derek Scherger + * database.cc (begin_transaction): ensure there are no pending + writes when a transaction begins + (rollback_transaction): clear any pending writes before rolling + back a transaction + +2006-05-12 Derek Scherger + * automate.cc (automate_get_base_revision_id, automate_get_current_revision_id): new functions (automate_command): call them ============================================================ --- database.cc 984427d1b818696b6d6ca34b15d9825d315662d7 +++ database.cc d23b26584ff2c0e3990ac9616a3e1bc58eefd665 @@ -787,6 +787,7 @@ { if (transaction_level == 0) { + I(pending_writes.empty()); if (exclusive) execute(query("BEGIN EXCLUSIVE")); else @@ -850,7 +851,10 @@ database::rollback_transaction() { if (transaction_level == 1) - execute(query("ROLLBACK")); + { + pending_writes.clear(); + execute(query("ROLLBACK")); + } transaction_level--; }