mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00

* [NOD-1223] Delete unused files/packages. * [NOD-1223] Move signal and limits to the os package. * [NOD-1223] Put database and dbaccess into the db package. * [NOD-1223] Fold the logs package into the logger package. * [NOD-1223] Rename domainmessage to appmessage. * [NOD-1223] Rename to/from DomainMessage to AppMessage. * [NOD-1223] Move appmessage to the app packge. * [NOD-1223] Move protocol to the app packge. * [NOD-1223] Move the network package to the infrastructure packge. * [NOD-1223] Rename cmd to executables. * [NOD-1223] Fix go.doc in the logger 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
|
|
}
|