diff --git a/kernel/model/index.go b/kernel/model/index.go index 600554c3b..2b1a6b3de 100644 --- a/kernel/model/index.go +++ b/kernel/model/index.go @@ -280,7 +280,7 @@ func IndexRefs() { } util.IncBootProgress(bootProgressPart, "Indexing ref "+defTree.ID) - sql.InsertRefsTreeQueue(defTree) + sql.UpdateRefsTreeQueue(defTree) if 1 < i && 0 == i%64 { util.PushStatusBar(fmt.Sprintf(Conf.Language(55), i)) } diff --git a/kernel/sql/block_ref.go b/kernel/sql/block_ref.go index 9673504f8..1016ceb2c 100644 --- a/kernel/sql/block_ref.go +++ b/kernel/sql/block_ref.go @@ -57,3 +57,14 @@ func deleteRefs(tx *sql.Tx, tree *parse.Tree) (err error) { } return } + +func insertRefs(tx *sql.Tx, tree *parse.Tree) (err error) { + refs, fileAnnotationRefs := refsFromTree(tree) + if err = insertBlockRefs(tx, refs); nil != err { + return + } + if err = insertFileAnnotationRefs(tx, fileAnnotationRefs); nil != err { + return + } + return err +} diff --git a/kernel/sql/queue.go b/kernel/sql/queue.go index 289979e09..cb3f82ff6 100644 --- a/kernel/sql/queue.go +++ b/kernel/sql/queue.go @@ -40,9 +40,9 @@ var ( type dbQueueOperation struct { inQueueTime time.Time - action string // upsert/delete/delete_id/rename/rename_sub_tree/delete_box/delete_box_refs/insert_refs/index/delete_ids/update_block_content/delete_assets + action string // upsert/delete/delete_id/rename/rename_sub_tree/delete_box/delete_box_refs/index/delete_ids/update_block_content/delete_assets indexTree *parse.Tree // index - upsertTree *parse.Tree // upsert/insert_refs/update_refs/delete_refs + upsertTree *parse.Tree // upsert/update_refs/delete_refs removeTreeBox, removeTreePath string // delete removeTreeID string // delete_id removeTreeIDs []string // delete_ids @@ -185,8 +185,6 @@ func execOp(op *dbQueueOperation, tx *sql.Tx, context map[string]interface{}) (e err = deleteByBoxTx(tx, op.box) case "delete_box_refs": err = deleteRefsByBoxTx(tx, op.box) - case "insert_refs": - err = insertRefs(tx, op.upsertTree) case "update_refs": err = upsertRefs(tx, op.upsertTree) case "delete_refs": @@ -273,20 +271,6 @@ func UpdateRefsTreeQueue(tree *parse.Tree) { operationQueue = append(operationQueue, newOp) } -func InsertRefsTreeQueue(tree *parse.Tree) { - dbQueueLock.Lock() - defer dbQueueLock.Unlock() - - newOp := &dbQueueOperation{upsertTree: tree, inQueueTime: time.Now(), action: "insert_refs"} - for i, op := range operationQueue { - if "insert_refs" == op.action && op.upsertTree.ID == tree.ID { - operationQueue[i] = newOp - return - } - } - operationQueue = append(operationQueue, newOp) -} - func DeleteBoxRefsQueue(boxID string) { dbQueueLock.Lock() defer dbQueueLock.Unlock() diff --git a/kernel/sql/upsert.go b/kernel/sql/upsert.go index 06c5c37cf..8e81b0e41 100644 --- a/kernel/sql/upsert.go +++ b/kernel/sql/upsert.go @@ -389,17 +389,6 @@ func insertFileAnnotationRefs0(tx *sql.Tx, bulk []*FileAnnotationRef) (err error return } -func insertRefs(tx *sql.Tx, tree *parse.Tree) (err error) { - refs, fileAnnotationRefs := refsFromTree(tree) - if err = insertBlockRefs(tx, refs); nil != err { - return - } - if err = insertFileAnnotationRefs(tx, fileAnnotationRefs); nil != err { - return - } - return err -} - func indexTree(tx *sql.Tx, tree *parse.Tree, context map[string]interface{}) (err error) { blocks, spans, assets, attributes := fromTree(tree.Root, tree) refs, fileAnnotationRefs := refsFromTree(tree)