work in progress: get-track by trackid: select OK

This commit is contained in:
Helmut Merz 2024-05-17 19:05:37 +02:00
parent 8b006042d4
commit 3b3cfaf732
3 changed files with 16 additions and 9 deletions

View file

@ -3,11 +3,6 @@
(asdf:load-system :scopes) (asdf:load-system :scopes)
(in-package :cl-user) (in-package :cl-user)
(ext:add-package-local-nickname :scf :scopes/forge)
(ext:add-package-local-nickname :sctf :scopes/test-forge)
(scopes/test-forge:run)
;;; real scratch area ;;; real scratch area

View file

@ -7,9 +7,9 @@
(:local-nicknames (:jzon :com.inuoe.jzon) (:local-nicknames (:jzon :com.inuoe.jzon)
(:storage :scopes/storage)) (:storage :scopes/storage))
(:export #:track #:trackid #:head #:head-plist #:time-stamp #:data (:export #:track #:trackid #:head #:head-plist #:time-stamp #:data
#:container #:container #:insert
#:make-item #:make-item
#:insert #:get-track
#:create-indexes #:create-table)) #:create-indexes #:create-table))
(in-package :scopes/storage/tracking) (in-package :scopes/storage/tracking)
@ -55,6 +55,7 @@
(if data (setf (getf vl :data) (jzon:stringify data)))) (if data (setf (getf vl :data) (jzon:stringify data))))
vl)) vl))
(defun insert (track) (defun insert (track)
(ensure-timestamp track) (ensure-timestamp track)
(let* ((cont (container track)) (let* ((cont (container track))
@ -67,7 +68,17 @@
(setf (trackid track) (cadr res)) (setf (trackid track) (cadr res))
track)) track))
(defun create-table (cont) (defun get-track (cont trid)
(let* ((st (storage cont))
(table (storage:qualified-table-name st (table-name cont)))
(cols (append (head-fields cont) '(:timestamp :data)))
(res (storage:normalize-plist (car (storage:query st
(sxql:select cols
(sxql:from table)
(sxql:where (:= :trackid trid))))))))
res))
(defun create-table (cont)
(let* (let*
((st (storage cont)) ((st (storage cont))
(tn (table-name cont)) (tn (table-name cont))

View file

@ -50,4 +50,5 @@
(setf (tracking:data tr) data) (setf (tracking:data tr) data)
(tracking:insert tr) (tracking:insert tr)
(== (tracking:trackid tr) 1) (== (tracking:trackid tr) 1)
(print (tracking:get-track cont 1))
)) ))