mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-06-09 07:36:43 +00:00

* [NOD-1223] Move all network stuff into a new network package. * [NOD-1223] Delete the unused package testutil. * [NOD-1223] Move infrastructure stuff into a new instrastructure package. * [NOD-1223] Move domain stuff into a new domain package.
26 lines
843 B
Go
26 lines
843 B
Go
package database
|
|
|
|
// Transaction defines the interface of a generic kaspad database
|
|
// transaction.
|
|
//
|
|
// Note: Transactions provide data consistency over the state of
|
|
// the database as it was when the transaction started. There is
|
|
// NO guarantee that if one puts data into the transaction then
|
|
// it will be available to get within the same transaction.
|
|
type Transaction interface {
|
|
DataAccessor
|
|
|
|
// Rollback rolls back whatever changes were made to the
|
|
// database within this transaction.
|
|
Rollback() error
|
|
|
|
// Commit commits whatever changes were made to the database
|
|
// within this transaction.
|
|
Commit() error
|
|
|
|
// RollbackUnlessClosed rolls back changes that were made to
|
|
// the database within the transaction, unless the transaction
|
|
// had already been closed using either Rollback or Commit.
|
|
RollbackUnlessClosed() error
|
|
}
|