Loading src/db-bdb/bdb-controller.lisp +5 −3 Original line number Original line Diff line number Diff line Loading @@ -193,7 +193,7 @@ et cetera.")) :auto-commit t :type DB-BTREE :create t :thread thread :auto-commit t :type DB-BTREE :create t :thread thread :multiversion mvcc) :multiversion mvcc) (let ((oid-seq (db-sequence-create db))) (let ((oid-seq (db-sequence-create db))) (db-sequence-set-cachesize oid-seq 100) (db-sequence-set-cachesize oid-seq 50) (db-sequence-set-flags oid-seq :seq-inc t :seq-wrap t) (db-sequence-set-flags oid-seq :seq-inc t :seq-wrap t) (db-sequence-set-range oid-seq 0 most-positive-fixnum) (db-sequence-set-range oid-seq 0 most-positive-fixnum) (db-sequence-initial-value oid-seq 0) (db-sequence-initial-value oid-seq 0) Loading @@ -201,7 +201,7 @@ et cetera.")) (setf (controller-oid-seq sc) oid-seq)) (setf (controller-oid-seq sc) oid-seq)) (let ((cid-seq (db-sequence-create db))) (let ((cid-seq (db-sequence-create db))) (db-sequence-set-cachesize cid-seq 100) (db-sequence-set-cachesize cid-seq 50) (db-sequence-set-flags cid-seq :seq-inc t :seq-wrap t) (db-sequence-set-flags cid-seq :seq-inc t :seq-wrap t) (db-sequence-set-range cid-seq 0 most-positive-fixnum) (db-sequence-set-range cid-seq 0 most-positive-fixnum) (db-sequence-initial-value cid-seq 5) (db-sequence-initial-value cid-seq 5) Loading Loading @@ -318,6 +318,8 @@ et cetera.")) (3 'bdb-indexed-btree) (3 'bdb-indexed-btree) (4 'bdb-btree-index))) (4 'bdb-btree-index))) (defmethod reserved-oid-p ((sc bdb-store-controller) oid) (< oid 2)) ;; ;; ;; Store the database version ;; Store the database version Loading src/db-clsql/sql-controller.lisp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -508,6 +508,11 @@ ;; ) ;; ) ) ) ) ) (defmethod reserved-oid-p ((sc sql-store-controller) oid) (< oid 3)) (defmethod connection-ok-p ((sc sql-store-controller)) (defmethod connection-ok-p ((sc sql-store-controller)) (connection-ok-p-con (controller-db sc))) (connection-ok-p-con (controller-db sc))) Loading src/db-postmodern/pm-controller.lisp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -311,6 +311,9 @@ (51 4)) ; instances and schemas (51 4)) ; instances and schemas (call-next-method))) (call-next-method))) (defmethod reserved-oid-p ((sc postmodern-store-controller) oid) (<= oid 51)) (defmethod default-class-id (type (sc postmodern-store-controller)) (defmethod default-class-id (type (sc postmodern-store-controller)) (ecase type (ecase type ('pm-btree 1) ('pm-btree 1) Loading src/elephant/classes.lisp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -52,7 +52,7 @@ (register-instance sc class instance)) (register-instance sc class instance)) (defun check-valid-store-controller (sc) (defun check-valid-store-controller (sc) (unless (subtypep (type-of sc) 'store-controller) (ifret (subtypep (type-of sc) 'store-controller) (error "This function requires a valid store controller"))) (error "This function requires a valid store controller"))) (defclass persistent-object (persistent) () (defclass persistent-object (persistent) () Loading src/elephant/collections.lisp +19 −0 Original line number Original line Diff line number Diff line Loading @@ -59,6 +59,12 @@ (defmethod optimize-layout ((bt t) &key &allow-other-keys) (defmethod optimize-layout ((bt t) &key &allow-other-keys) t) t) (defmethod drop-instance ((bt btree)) "The standard method for reclaiming storage of persistent objects" (ensure-transaction (:store-controller *store-controller*) (drop-btree bt) (call-next-method))) (defgeneric drop-btree (bt) (defgeneric drop-btree (bt) (:documentation "Delete all key-value pairs from the btree and (:documentation "Delete all key-value pairs from the btree and render it an invalid object in the data store")) render it an invalid object in the data store")) Loading Loading @@ -112,6 +118,13 @@ existing primary entries (may be expensive!)")) (ifret (get-index ibt idxname) (ifret (get-index ibt idxname) (add-index ibt :index-name idxname :key-form key-form :populate populate))) (add-index ibt :index-name idxname :key-form key-form :populate populate))) (defmethod drop-btree ((bt indexed-btree)) (map-indices (lambda (name index) (declare (ignore index)) (remove-index bt name)) bt) (call-next-method)) ;; ;; ;; Secondary Indices ;; Secondary Indices ;; ;; Loading @@ -127,6 +140,11 @@ existing primary entries (may be expensive!)")) (:metaclass persistent-metaclass) (:metaclass persistent-metaclass) (:documentation "Secondary index to an indexed-btree.")) (:documentation "Secondary index to an indexed-btree.")) (defmethod drop-btree ((index btree-index)) "Btree indices don't need to have values removed, this happens on the primary when remove-kv is called" nil) (define-condition invalid-keyform (error) (define-condition invalid-keyform (error) ((key-form :reader key-form-of :initarg :key-form)) ((key-form :reader key-form-of :initarg :key-form)) (:report (lambda (c s) (:report (lambda (c s) Loading Loading @@ -577,6 +595,7 @@ not), evaluates the forms, then closes the cursor." (defmethod map-btree (fn (btree btree) &rest args &key start end (value nil value-set-p) (defmethod map-btree (fn (btree btree) &rest args &key start end (value nil value-set-p) from-end collect &allow-other-keys) from-end collect &allow-other-keys) (declare (ignorable args)) (validate-map-call start end) (validate-map-call start end) (cond (value-set-p (map-btree-values fn btree value collect)) (cond (value-set-p (map-btree-values fn btree value collect)) (from-end (map-btree-from-end fn btree start end collect)) (from-end (map-btree-from-end fn btree start end collect)) Loading Loading
src/db-bdb/bdb-controller.lisp +5 −3 Original line number Original line Diff line number Diff line Loading @@ -193,7 +193,7 @@ et cetera.")) :auto-commit t :type DB-BTREE :create t :thread thread :auto-commit t :type DB-BTREE :create t :thread thread :multiversion mvcc) :multiversion mvcc) (let ((oid-seq (db-sequence-create db))) (let ((oid-seq (db-sequence-create db))) (db-sequence-set-cachesize oid-seq 100) (db-sequence-set-cachesize oid-seq 50) (db-sequence-set-flags oid-seq :seq-inc t :seq-wrap t) (db-sequence-set-flags oid-seq :seq-inc t :seq-wrap t) (db-sequence-set-range oid-seq 0 most-positive-fixnum) (db-sequence-set-range oid-seq 0 most-positive-fixnum) (db-sequence-initial-value oid-seq 0) (db-sequence-initial-value oid-seq 0) Loading @@ -201,7 +201,7 @@ et cetera.")) (setf (controller-oid-seq sc) oid-seq)) (setf (controller-oid-seq sc) oid-seq)) (let ((cid-seq (db-sequence-create db))) (let ((cid-seq (db-sequence-create db))) (db-sequence-set-cachesize cid-seq 100) (db-sequence-set-cachesize cid-seq 50) (db-sequence-set-flags cid-seq :seq-inc t :seq-wrap t) (db-sequence-set-flags cid-seq :seq-inc t :seq-wrap t) (db-sequence-set-range cid-seq 0 most-positive-fixnum) (db-sequence-set-range cid-seq 0 most-positive-fixnum) (db-sequence-initial-value cid-seq 5) (db-sequence-initial-value cid-seq 5) Loading Loading @@ -318,6 +318,8 @@ et cetera.")) (3 'bdb-indexed-btree) (3 'bdb-indexed-btree) (4 'bdb-btree-index))) (4 'bdb-btree-index))) (defmethod reserved-oid-p ((sc bdb-store-controller) oid) (< oid 2)) ;; ;; ;; Store the database version ;; Store the database version Loading
src/db-clsql/sql-controller.lisp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -508,6 +508,11 @@ ;; ) ;; ) ) ) ) ) (defmethod reserved-oid-p ((sc sql-store-controller) oid) (< oid 3)) (defmethod connection-ok-p ((sc sql-store-controller)) (defmethod connection-ok-p ((sc sql-store-controller)) (connection-ok-p-con (controller-db sc))) (connection-ok-p-con (controller-db sc))) Loading
src/db-postmodern/pm-controller.lisp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -311,6 +311,9 @@ (51 4)) ; instances and schemas (51 4)) ; instances and schemas (call-next-method))) (call-next-method))) (defmethod reserved-oid-p ((sc postmodern-store-controller) oid) (<= oid 51)) (defmethod default-class-id (type (sc postmodern-store-controller)) (defmethod default-class-id (type (sc postmodern-store-controller)) (ecase type (ecase type ('pm-btree 1) ('pm-btree 1) Loading
src/elephant/classes.lisp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -52,7 +52,7 @@ (register-instance sc class instance)) (register-instance sc class instance)) (defun check-valid-store-controller (sc) (defun check-valid-store-controller (sc) (unless (subtypep (type-of sc) 'store-controller) (ifret (subtypep (type-of sc) 'store-controller) (error "This function requires a valid store controller"))) (error "This function requires a valid store controller"))) (defclass persistent-object (persistent) () (defclass persistent-object (persistent) () Loading
src/elephant/collections.lisp +19 −0 Original line number Original line Diff line number Diff line Loading @@ -59,6 +59,12 @@ (defmethod optimize-layout ((bt t) &key &allow-other-keys) (defmethod optimize-layout ((bt t) &key &allow-other-keys) t) t) (defmethod drop-instance ((bt btree)) "The standard method for reclaiming storage of persistent objects" (ensure-transaction (:store-controller *store-controller*) (drop-btree bt) (call-next-method))) (defgeneric drop-btree (bt) (defgeneric drop-btree (bt) (:documentation "Delete all key-value pairs from the btree and (:documentation "Delete all key-value pairs from the btree and render it an invalid object in the data store")) render it an invalid object in the data store")) Loading Loading @@ -112,6 +118,13 @@ existing primary entries (may be expensive!)")) (ifret (get-index ibt idxname) (ifret (get-index ibt idxname) (add-index ibt :index-name idxname :key-form key-form :populate populate))) (add-index ibt :index-name idxname :key-form key-form :populate populate))) (defmethod drop-btree ((bt indexed-btree)) (map-indices (lambda (name index) (declare (ignore index)) (remove-index bt name)) bt) (call-next-method)) ;; ;; ;; Secondary Indices ;; Secondary Indices ;; ;; Loading @@ -127,6 +140,11 @@ existing primary entries (may be expensive!)")) (:metaclass persistent-metaclass) (:metaclass persistent-metaclass) (:documentation "Secondary index to an indexed-btree.")) (:documentation "Secondary index to an indexed-btree.")) (defmethod drop-btree ((index btree-index)) "Btree indices don't need to have values removed, this happens on the primary when remove-kv is called" nil) (define-condition invalid-keyform (error) (define-condition invalid-keyform (error) ((key-form :reader key-form-of :initarg :key-form)) ((key-form :reader key-form-of :initarg :key-form)) (:report (lambda (c s) (:report (lambda (c s) Loading Loading @@ -577,6 +595,7 @@ not), evaluates the forms, then closes the cursor." (defmethod map-btree (fn (btree btree) &rest args &key start end (value nil value-set-p) (defmethod map-btree (fn (btree btree) &rest args &key start end (value nil value-set-p) from-end collect &allow-other-keys) from-end collect &allow-other-keys) (declare (ignorable args)) (validate-map-call start end) (validate-map-call start end) (cond (value-set-p (map-btree-values fn btree value collect)) (cond (value-set-p (map-btree-values fn btree value collect)) (from-end (map-btree-from-end fn btree start end collect)) (from-end (map-btree-from-end fn btree start end collect)) Loading