operation

package
v0.5.643 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Operation

type Operation interface {
	// Execute the operation.
	Execute(primitive.IPrimitiveCtx) internaldto.ExecutorOutput
	// Reverse the operation.
	Undo() error
	// Get the redo log entry.
	GetRedoLog() (binlog.LogEntry, bool)
	// Get the undo log entry.
	GetUndoLog() (binlog.LogEntry, bool)
	//
	IncidentData(int64, internaldto.ExecutorOutput) error
	//
	SetTxnID(id int)
	//
	SetInputAlias(alias string, id int64) error
	//
	IsReadOnly() bool
}

The Operation is an abstract data type that represents a stackql action. The operation maps to each of:

  • an executable action.
  • a redo log entry.
  • an undo log entry.

One possible implementation is to store a nullable primitive (plan) graph node alongside log entries.

func NewReversibleOperation

func NewReversibleOperation(pr primitive.IPrimitive) Operation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL