Documentation ¶
Index ¶
- func HandleAbort(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleCheckpoint(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleCrash(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleCreateTable(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleDelete(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleFind(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleInsert(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleJoin(d *db.Database, tm *concurrency.TransactionManager, payload string, ...) (err error)
- func HandleLock(d *db.Database, tm *concurrency.TransactionManager, payload string, ...) (err error)
- func HandlePretty(d *db.Database, payload string, w io.Writer) (err error)
- func HandleSelect(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleTransaction(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func HandleUpdate(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, ...) (err error)
- func Prime(folder string) (*db.Database, error)
- func RecoveryREPL(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager) *repl.REPL
- type Action
- type Log
- type RecoveryManager
- func (rm *RecoveryManager) Checkpoint()
- func (rm *RecoveryManager) Commit(clientId uuid.UUID)
- func (rm *RecoveryManager) Delta() error
- func (rm *RecoveryManager) Edit(clientId uuid.UUID, table db.Index, action Action, key int64, oldval int64, ...)
- func (rm *RecoveryManager) Recover() error
- func (rm *RecoveryManager) Redo(log Log) error
- func (rm *RecoveryManager) Rollback(clientId uuid.UUID) error
- func (rm *RecoveryManager) Start(clientId uuid.UUID)
- func (rm *RecoveryManager) Table(tblType string, tblName string)
- func (rm *RecoveryManager) Undo(log Log) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleAbort ¶
func HandleAbort(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle abort.
func HandleCheckpoint ¶
func HandleCheckpoint(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle checkpoint.
func HandleCrash ¶
func HandleCrash(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle crash.
func HandleCreateTable ¶
func HandleCreateTable(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle create table.
func HandleDelete ¶
func HandleDelete(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, clientId uuid.UUID) (err error)
Handle delete.
func HandleFind ¶
func HandleFind(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle find.
func HandleInsert ¶
func HandleInsert(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, clientId uuid.UUID) (err error)
Handle insert.
func HandleJoin ¶
func HandleJoin(d *db.Database, tm *concurrency.TransactionManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle join.
func HandleLock ¶
func HandleLock(d *db.Database, tm *concurrency.TransactionManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle write lock requests.
func HandlePretty ¶
Handle pretty printing.
func HandleSelect ¶
func HandleSelect(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle select.
func HandleTransaction ¶
func HandleTransaction(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, w io.Writer, clientId uuid.UUID) (err error)
Handle transaction.
func HandleUpdate ¶
func HandleUpdate(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager, payload string, clientId uuid.UUID) (err error)
Handle update.
func RecoveryREPL ¶
func RecoveryREPL(d *db.Database, tm *concurrency.TransactionManager, rm *RecoveryManager) *repl.REPL
Recovery REPL.
Types ¶
type Log ¶
type Log interface {
// contains filtered or unexported methods
}
Interface that all Log structs share.
func FromString ¶
Convert a textual log to its respective struct. Returns an error if the string could not be parsed into a log.
type RecoveryManager ¶
type RecoveryManager struct {
// contains filtered or unexported fields
}
Recovery Manager.
func NewRecoveryManager ¶
func NewRecoveryManager( d *db.Database, tm *concurrency.TransactionManager, logName string, ) (*RecoveryManager, error)
Construct a recovery manager.
func (*RecoveryManager) Checkpoint ¶
func (rm *RecoveryManager) Checkpoint()
Flush all pages to disk and write a checkpoint log.
func (*RecoveryManager) Commit ¶
func (rm *RecoveryManager) Commit(clientId uuid.UUID)
Write a transaction commit log.
func (*RecoveryManager) Delta ¶
func (rm *RecoveryManager) Delta() error
Should be called at end of Checkpoint.
func (*RecoveryManager) Edit ¶
func (rm *RecoveryManager) Edit(clientId uuid.UUID, table db.Index, action Action, key int64, oldval int64, newval int64)
Write an Edit log.
func (*RecoveryManager) Recover ¶
func (rm *RecoveryManager) Recover() error
Do a full recovery to the most recent checkpoint on startup.
func (*RecoveryManager) Redo ¶
func (rm *RecoveryManager) Redo(log Log) error
Redo a given log's action.
func (*RecoveryManager) Rollback ¶
func (rm *RecoveryManager) Rollback(clientId uuid.UUID) error
Roll back a particular transaction.
func (*RecoveryManager) Start ¶
func (rm *RecoveryManager) Start(clientId uuid.UUID)
Write a transaction start log.
func (*RecoveryManager) Table ¶
func (rm *RecoveryManager) Table(tblType string, tblName string)
Write a Table log.
func (*RecoveryManager) Undo ¶
func (rm *RecoveryManager) Undo(log Log) error
Undo a given log's action.