Opened 11 years ago
#454 new misbehavior
Allow to combine multiple transactions into one undo-step
Reported by: | westram | Owned by: | devel |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Library (DB) | Version: | SVN |
Keywords: | Cc: |
Description
Motivation:
- -display operations (e.g. branch-scaling) result in hundreds of transactions, rendering undo impossible
- ARB often uses "enclosing transactions" where the main reason for the transaction is to provide a single undo-step (e.g. in fast-aligner)
- such transactions contradict our target of a more fine-granular access
Solution:
- define different undo-collect-states:
- normal (traditional way to collect undos)
- combined-start (next transaction will be start of combined undo)
- combined-continued (2. will switch to 3. after first transaction)
- prohibit removing undo-steps from undo-stack (in collect-states 2.+3.)
- add a method to combine multiple consecutive undo-entries (in case of repeated changes of the same entries, this will also save memory)
- whenever "finalizing" the top undo-entry (while closing transaction), combine it with the entry below.
Possible problems:
- calling GB_undo in state 3 possible?
Note: See
TracTickets for help on using
tickets.