folder: define key-fields; tracking:track-equal: compare trimmed head values
This commit is contained in:
parent
ca7c4a824e
commit
8488eeb26c
2 changed files with 5 additions and 2 deletions
|
@ -10,7 +10,8 @@
|
||||||
(in-package :scopes/storage/folder)
|
(in-package :scopes/storage/folder)
|
||||||
|
|
||||||
(defclass folder (tracking:track)
|
(defclass folder (tracking:track)
|
||||||
((shape:head-fields :initform '(:parent :name :ref))))
|
((shape:head-fields :initform '(:parent :name :ref))
|
||||||
|
(tracking:key-fields :initform '(:parent :name))))
|
||||||
|
|
||||||
(defun indexes (cont)
|
(defun indexes (cont)
|
||||||
'((parent name ref) (ref)))
|
'((parent name ref) (ref)))
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
(:util :scopes/util)
|
(:util :scopes/util)
|
||||||
(:alx :alexandria)
|
(:alx :alexandria)
|
||||||
(:jzon :com.inuoe.jzon))
|
(:jzon :com.inuoe.jzon))
|
||||||
(:export #:track #:trackid #:timestamp
|
(:export #:track #:trackid #:key-fields #:timestamp
|
||||||
#:container #:make-container #:table-name #:storage #:make-item
|
#:container #:make-container #:table-name #:storage #:make-item
|
||||||
#:get-track #:query-last #:query-one #:query
|
#:get-track #:query-last #:query-one #:query
|
||||||
#:save #:insert #:update
|
#:save #:insert #:update
|
||||||
|
@ -128,6 +128,8 @@
|
||||||
;;;; auxiliary functions for queries, ...
|
;;;; auxiliary functions for queries, ...
|
||||||
|
|
||||||
(defun track-equal (old new)
|
(defun track-equal (old new)
|
||||||
|
(unless (equal (util:rtrim (shape:head old)) (util:rtrim (shape:head new)))
|
||||||
|
(return-from track-equal nil))
|
||||||
(if (timestamp new)
|
(if (timestamp new)
|
||||||
(unless (equal (timestamp new) (timestamp old))
|
(unless (equal (timestamp new) (timestamp old))
|
||||||
(return-from track-equal nil)))
|
(return-from track-equal nil)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue