Documentation ¶
Index ¶
- func InsertExpression(ctx context.Context, tx *sql.Tx, expression *entities.Expression) (uint64, error)
- func InsertNode(ctx context.Context, tx *sql.Tx, node *entities.Node) (uint64, error)
- func UpdateNode(ctx context.Context, tx *sql.Tx, node *entities.Node) error
- type WorkingSpace
- func (ws *WorkingSpace) AddToExpressions(ctx context.Context, tx *sql.Tx, expression *entities.Expression) (uint64, error)
- func (ws *WorkingSpace) GetExpressionNodesID(nodeId uint64, nodesId *[]uint64)
- func (ws *WorkingSpace) GetRoot(nodeId uint64) (*entities.Node, *entities.Expression, error)
- func (ws *WorkingSpace) InsertToAllNodes(ctx context.Context, tx *sql.Tx, parseNodes []*parser.Node) ([]*entities.Node, error, *sql.Tx)
- func (ws *WorkingSpace) Save() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InsertExpression ¶
func InsertNode ¶
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 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
Click to show internal directories.
Click to hide internal directories.