RAMAccessUndoHandler
public interface UndoHandler
Modifier and Type | Method | Description |
---|---|---|
void |
insertUndoNotify(Transaction xact,
PageKey page_key) |
Interface to be called when an undo of an insert is processed.
|
void insertUndoNotify(Transaction xact, PageKey page_key) throws StandardException
Implementer of this class provides interface to be called by the raw store when an undo of an insert is processed. Initial implementation will be by Access layer to queue space reclaiming events if necessary when a rows is logically "deleted" as part of undo of the original insert. This undo can happen a lot for many applications if they generate expected and handled duplicate key errors.
It may be useful at some time to include the recordId of the deleted row, but it is not used currently by those notified. The post commit work ultimately processes all rows on the table while it has the latch which is more efficient than one row at time per latch.
It is expected that notifies only happen for pages that caller is interested in. Currently only the following aborted inserts cause a notify: o must be on a non overflow page o if all "user" rows on page are deleted a notify happens (page 1 has a system row so on page one notifies happen if all but the first row is deleted). o if the aborted insert row has either an overflow row or column component then the notify is executed.
xact
- transaction that is being backed out.page_key
- key that uniquely identifies page in question, container
key information is embedded in the PageKeyStandardException
- Standard exception policy.Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.