wSpace

package
v0.0.0-...-72768cc Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Unlicense Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InsertExpression

func InsertExpression(ctx context.Context,
	tx *sql.Tx,
	expression *entities.Expression,
) (uint64, error)

func InsertNode

func InsertNode(ctx context.Context, tx *sql.Tx, node *entities.Node) (uint64, error)

func UpdateNode

func UpdateNode(ctx context.Context, tx *sql.Tx, node *entities.Node) error

Types

type WorkingSpace

type WorkingSpace struct {
	Queue       *taskQueue.Queue                `json:"tasks"`
	Expressions map[uint64]*entities.Expression `json:"expressions"`
	AllNodes    map[uint64]*entities.Node       `json:"allnodes"`
	Timings     *entities.Timings               `json:"timings"`
	DB          *sql.DB
	Users       map[uint64]*entities.User
	Mu          sync.RWMutex
}

func LoadDB

func LoadDB(ctx context.Context, db *sql.DB) (*WorkingSpace, error)

Загружает структуру из db и возвращает её

func NewWorkingSpace

func NewWorkingSpace(db *sql.DB) *WorkingSpace

func (*WorkingSpace) AddToExpressions

func (ws *WorkingSpace) AddToExpressions(ctx context.Context, tx *sql.Tx, expression *entities.Expression) (uint64, error)

Добавляет новое выражение в структуры, обновляет мапу узлов обновляет очередь вычислений

func (*WorkingSpace) GetExpressionNodesID

func (ws *WorkingSpace) GetExpressionNodesID(nodeId uint64, nodesId *[]uint64)

Возвращает список id узлов выражения по id корня

func (*WorkingSpace) GetRoot

func (ws *WorkingSpace) GetRoot(nodeId uint64) (*entities.Node, *entities.Expression, error)

Возвращает корень узла и выражение с этим корнем

func (*WorkingSpace) InsertToAllNodes

func (ws *WorkingSpace) InsertToAllNodes(ctx context.Context,
	tx *sql.Tx,
	parseNodes []*parser.Node) ([]*entities.Node, error, *sql.Tx)

Добавляем в allNodes узлы выражения, с сохранением в БД и присвоением id возвращаем список узлов выражения (тип entities.Node), ошибку tx возвращаем, потомучто база данных блокируется иначе?

func (*WorkingSpace) Save

func (ws *WorkingSpace) Save() error

Jump to

Keyboard shortcuts

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