|
|
- package themis
-
- // Hooks for debugging and testing
- type fnHook func(txn *themisTxn, ctx interface{}) (bypass bool, ret interface{}, err error)
-
- var emptyHookFn = func(txn *themisTxn, ctx interface{}) (bypass bool, ret interface{}, err error) {
- return true, nil, nil
- }
-
- type txnHook struct {
- afterChoosePrimaryAndSecondary fnHook
- beforePrewritePrimary fnHook
- beforePrewriteLockClean fnHook
- beforePrewriteSecondary fnHook
- beforeCommitPrimary fnHook
- beforeCommitSecondary fnHook
- onSecondaryOccursLock fnHook
- onPrewriteRow fnHook
- onTxnSuccess fnHook
- onTxnFailed fnHook
- }
-
- func newHook() *txnHook {
- return &txnHook{
- afterChoosePrimaryAndSecondary: emptyHookFn,
- beforePrewritePrimary: emptyHookFn,
- beforePrewriteLockClean: emptyHookFn,
- beforePrewriteSecondary: emptyHookFn,
- beforeCommitPrimary: emptyHookFn,
- beforeCommitSecondary: emptyHookFn,
- onSecondaryOccursLock: emptyHookFn,
- onPrewriteRow: emptyHookFn,
- onTxnSuccess: emptyHookFn,
- onTxnFailed: emptyHookFn,
- }
- }
|