diff --git a/storage/msgstore.lisp b/storage/msgstore.lisp index 3a66136..752cd6c 100644 --- a/storage/msgstore.lisp +++ b/storage/msgstore.lisp @@ -18,6 +18,7 @@ (defun make-container (storage) (make-instance 'tracking:container :item-class 'pmsg + :short-name :msg :table-name :messages :index-factory #'indexes :force-insert-when :changed diff --git a/storage/tracking.lisp b/storage/tracking.lisp index a9e1c47..0eacb82 100644 --- a/storage/tracking.lisp +++ b/storage/tracking.lisp @@ -10,13 +10,15 @@ (:alx :alexandria) (:jzon :com.inuoe.jzon)) (:export #:track #:trackid #:timestamp - #:container #:table-name #:storage #:make-item + #:container #:make-container #:table-name #:storage #:make-item #:get-track #:query-last #:query-one #:query #:save #:insert #:update #:create-indexes #:create-table)) (in-package :scopes/storage/tracking) +(defvar *containers* (make-hash-table)) + (defvar *build-track-data* #'alx:hash-table-plist) (defclass track (shape:record) @@ -33,6 +35,7 @@ (defclass container () ((item-class :reader item-class :initarg :item-class :initform 'track) + (short-name :reader short-name :initarg :short-name) (table-name :reader table-name :initarg :table-name :initform :tracks) (index-factory :reader index-factory :initarg :index-factory :initform #'default-indexes) @@ -40,6 +43,9 @@ :initarg :force-insert-when :initform nil) (storage :reader storage :initarg :storage))) +(defun make-container (st) + (make-instance 'container :short-name :tr :storage st)) + (defun item-head-fields (cont) (shape:head-fields (make-instance (item-class cont)))) diff --git a/test/test-storage.lisp b/test/test-storage.lisp index c52ef8f..f4bf796 100644 --- a/test/test-storage.lisp +++ b/test/test-storage.lisp @@ -44,7 +44,7 @@ (deftest test-track (ctx) (let ((st (storage:storage ctx)) cont tr tr2) - (setf cont (make-instance 'tracking:container :storage st)) + (setf cont (tracking:make-container st)) (storage:drop-table st :tracks) (tracking:create-table cont) (setf tr (tracking:make-item cont :t01 :john))