primitivegraph

package
v0.5.612 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SortPlan

func SortPlan(pg PrimitiveGraph) ([]graph.Node, error)

Types

type BasePrimitiveGraph added in v0.5.403

type BasePrimitiveGraph interface {
	primitive.IPrimitive
	AddTxnControlCounters(t internaldto.TxnControlCounters)
	ContainsIndirect() bool
	Execute(ctx primitive.IPrimitiveCtx) internaldto.ExecutorOutput
	GetInputFromAlias(string) (internaldto.ExecutorOutput, bool)
	IncidentData(fromID int64, input internaldto.ExecutorOutput) error
	GetTxnControlCounterSlice() []internaldto.TxnControlCounters
	Optimise() error
	SetContainsIndirect(containsView bool)
	SetExecutor(func(pc primitive.IPrimitiveCtx) internaldto.ExecutorOutput) error
	SetInputAlias(alias string, id int64) error
	SetTxnID(id int)
	Sort() (sorted []graph.Node, err error)
	Size() int
	ContainsUserManagedRelation() bool
	SetContainsUserManagedRelation(containsUserRelation bool)
	NewWeightedEdge(PrimitiveNode, PrimitiveNode, float64) graph.WeightedEdge
	SetWeightedEdge(graph.WeightedEdge)
	NewNode() graph.Node
	AddNode(graph.Node)
	Nodes() graph.Nodes
}

type PrimitiveGraph

type PrimitiveGraph interface {
	primitive.IPrimitive
	BasePrimitiveGraph
	CreatePrimitiveNode(pr primitive.IPrimitive) PrimitiveNode
	NewDependency(from PrimitiveNode, to PrimitiveNode, weight float64)
}

type PrimitiveGraphHolder added in v0.5.403

type PrimitiveGraphHolder interface {
	AddInverseTxnControlCounters(t internaldto.TxnControlCounters)
	AddTxnControlCounters(t internaldto.TxnControlCounters)
	ContainsIndirect() bool
	CreateInversePrimitiveNode(pr primitive.IPrimitive) PrimitiveNode
	CreatePrimitiveNode(pr primitive.IPrimitive) PrimitiveNode
	GetInversePrimitiveGraph() PrimitiveGraph
	GetInverseTxnControlCounterSlice() []internaldto.TxnControlCounters
	GetPrimitiveGraph() PrimitiveGraph
	GetTxnControlCounterSlice() []internaldto.TxnControlCounters
	InverseContainsIndirect() bool
	NewInverseDependency(from PrimitiveNode, to PrimitiveNode, weight float64)
	NewDependency(from PrimitiveNode, to PrimitiveNode, weight float64)
	SetContainsIndirect(bool)
	SetInverseContainsIndirect(bool)
	SetTxnID(int)
	SetInverseTxnID(int)
	SetInverseContainsUserManagedRelation(containsUserRelation bool)
	SetContainsUserManagedRelation(containsUserRelation bool)
	InverseContainsUserManagedRelation() bool
	ContainsUserManagedRelation() bool
}

func NewPrimitiveGraphHolder added in v0.5.403

func NewPrimitiveGraphHolder(concurrencyLimit int) PrimitiveGraphHolder

type PrimitiveNode

type PrimitiveNode interface {
	GetOperation() operation.Operation
	ID() int64
	IsDone() chan (bool)
	GetError() (error, bool)
	SetError(error)
	SetInputAlias(alias string, id int64) error
	SetIsDone(bool)
}

Jump to

Keyboard shortcuts

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