tracking: fix save, update
This commit is contained in:
parent
dd4f8ccebd
commit
20ae39e3c4
4 changed files with 6 additions and 2 deletions
|
@ -23,6 +23,7 @@
|
||||||
:short-name :fldr
|
:short-name :fldr
|
||||||
:table-name :folders
|
:table-name :folders
|
||||||
:index-factory #'indexes
|
:index-factory #'indexes
|
||||||
|
:force-insert-when nil
|
||||||
:storage storage))
|
:storage storage))
|
||||||
|
|
||||||
(defun root (cont)
|
(defun root (cont)
|
||||||
|
|
|
@ -104,6 +104,7 @@
|
||||||
|
|
||||||
(defun insert (track)
|
(defun insert (track)
|
||||||
(ensure-timestamp track)
|
(ensure-timestamp track)
|
||||||
|
(setf (trackid track) nil)
|
||||||
(let* ((cont (container track))
|
(let* ((cont (container track))
|
||||||
(st (storage cont))
|
(st (storage cont))
|
||||||
(table (storage:qualified-table-name st (table-name cont)))
|
(table (storage:qualified-table-name st (table-name cont)))
|
||||||
|
@ -122,7 +123,7 @@
|
||||||
(storage:do-sql st
|
(storage:do-sql st
|
||||||
(sxql:update table
|
(sxql:update table
|
||||||
(apply #'sxql:make-clause ':set= (plist track))
|
(apply #'sxql:make-clause ':set= (plist track))
|
||||||
(where (:= :trackid (trackid track)))))))
|
(sxql:where (list := :trackid (trackid track)))))))
|
||||||
|
|
||||||
;;;; auxiliary functions for queries, ...
|
;;;; auxiliary functions for queries, ...
|
||||||
|
|
||||||
|
|
|
@ -95,4 +95,6 @@
|
||||||
(setf f1 (folder:create :child1 root))
|
(setf f1 (folder:create :child1 root))
|
||||||
(== (tracking:trackid f1) 2)
|
(== (tracking:trackid f1) 2)
|
||||||
(== (shape:head-value f1 :parentid) "1")
|
(== (shape:head-value f1 :parentid) "1")
|
||||||
|
(setf (shape:head-value f1 :ref) :dummy-0)
|
||||||
|
(tracking:save f1)
|
||||||
))
|
))
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
`(loop for (,kvar ,vvar . nil) on ,plist by #'cddr ,@body))
|
`(loop for (,kvar ,vvar . nil) on ,plist by #'cddr ,@body))
|
||||||
|
|
||||||
(defun filter-plist (pl keys)
|
(defun filter-plist (pl keys)
|
||||||
(loop-plist pl k v when (find k keys) collect v))
|
(loop-plist pl k v when (find k keys) append (list k v)))
|
||||||
|
|
||||||
(defun plist-pairs (pl)
|
(defun plist-pairs (pl)
|
||||||
(loop-plist pl k v collect (list k v)))
|
(loop-plist pl k v collect (list k v)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue