Update of /project/elephant/cvsroot/elephant/doc In directory clnet:/tmp/cvs-serv15195/doc
Modified Files: Makefile data-store-reference.texinfo make-ref.lisp reference.texinfo Log Message: Sanitize class indexing option; more documentation stuff
--- /project/elephant/cvsroot/elephant/doc/Makefile 2007/03/24 13:55:15 1.4 +++ /project/elephant/cvsroot/elephant/doc/Makefile 2007/03/30 23:36:52 1.5 @@ -8,3 +8,5 @@ makeinfo -v --html --css-include=style.css --force elephant.texinfo makeinfo -v --html --css-include=style.css --force --no-split elephant.texinfo
+pdf: includes-stuff + texi2dvi --pdf elphant.texinfo --- /project/elephant/cvsroot/elephant/doc/data-store-reference.texinfo 2007/03/30 17:28:50 1.3 +++ /project/elephant/cvsroot/elephant/doc/data-store-reference.texinfo 2007/03/30 23:36:52 1.4 @@ -38,10 +38,10 @@ * Foreign libraries:: Using UFFI and ASDF to build or link foreign libraries @end menu
-@node Registration +@node DSR Registration @comment node-name, next, previous, up @section Registration -@cindex Registration +@cindex Registration and Initialization
Elephant looks at the first element of the specification list to determine which backend code base to use. The master table for this @@ -55,7 +55,13 @@
@include includes/fun-elephant-backend-register-backend-con-init.texinfo
-@node Store Controllers +If the backend requires any special user-specified configuration, +augment the key types in config.sexp with what you need and use the +following function to access. + +@include includes/fun-elephant-backend-get-user-configuration-parameter.texinfo + +@node DSR Store Controllers @comment node-name, next, previous, up @section Store Controllers @cindex Store Controllers @@ -63,9 +69,10 @@ Subclass store-controller and implement store and close controller which are called by open-store and close-store respectively.
-@include includes/class-elephant-backend-store-controller.texinfo +@include includes/class-elephant-store-controller.texinfo @include includes/fun-elephant-backend-open-controller.texinfo @include includes/fun-elephant-backend-close-controller.texinfo +@include includes/fun-elephant-backend-connection-is-indeed-open.texinfo
For upgrading and opening legacy databases it is important that a store be able to indicate which version of elephant was used to create @@ -79,21 +86,24 @@ There are some utilities for serializing simple data without a serializer using the memutil package.
-@include - -These functions are useful utilities for implementing -store-controllers. +@include includes/fun-elephant-backend-serialize-database-version-key.texinfo +@include includes/fun-elephant-backend-serialize-database-version-value.texinfo +@include includes/fun-elephant-backend-deserialize-database-version-value.texinfo
-@include includes/fun-elephant-backend-get-con.texinfo -@include includes/fun-elephant-backend-oid.texinfo -@include includes/fun-elephant-backend-next-oid.texinfo -@include includes/fun-elephant-backend-connection-is-indeed-open.texinfo -@include includes/fun-elephant-get-user-configuration-parameter.texinfo
-@node Slot Access +@node DSR Persistent Objects and Slot Access @comment node-name, next, previous, up @section Slot Access -@cindex Slot Access +@cindex Persistent Objects and Slot Access + +@include includes/class-elephant-persistent.texinfo +@include includes/fun-elephant-backend-get-con.texinfo +@c @include includes/fun-elephant-backend-oid.texinfo + +All objects require a unique id. During new object creation the +backend is asked to produce a unique id. + +@include includes/fun-elephant-backend-next-oid.texinfo
These functions are called by the metaclass protocol to support operations on persistent class slots. @@ -103,7 +113,7 @@ @include includes/fun-elephant-backend-persistent-slot-boundp.texinfo @include includes/fun-elephant-backend-persistent-slot-makunbound.texinfo
-@node Collections +@node DSR Collections @comment node-name, next, previous, up @section Collections @cindex Collections @@ -133,7 +143,12 @@ @include includes/fun-elephant-get-index.texinfo @include includes/fun-elephant-remove-index.texinfo
-@node Cursors +Critical to indexing and queries are the map operators for collections + +@include includes/fun-elephant-map-btree.texinfo +@include includes/fun-elephant-map-index.texinfo + +@node DSR Cursors @comment node-name, next, previous, up @section Cursors @cindex Cursors @@ -143,22 +158,28 @@ @c #:cursor-oid @c #:cursor-initialized-p
-@node Transactions +@node DSR Transactions @comment node-name, next, previous, up @section Transactions @cindex Transactions
-@c #:*current-transaction* -@c #:make-transaction-record -@c #:transaction-store -@c #:transaction-object - -@c #:execute-transaction -@c #:controller-start-transaction -@c #:controller-commit-transaction -@c #:controller-abort-transaction +These functions must be implemented or stubbed in any +backend. + +@include includes/fun-elephant-backend-execute-transaction.texinfo +@include includes/fun-elephant-backend-controller-start-transaction.texinfo +@include includes/fun-elephant-backend-controller-commit-transaction.texinfo +@include includes/fun-elephant-backend-controller-abort-transaction.texinfo + +These are supporting functions and variables for implementing +transactions. + +@include includes/var-elephant-backend-star-current-transaction-star.texinfo +@include includes/fun-elephant-backend-make-transaction-record.texinfo +@include includes/fun-elephant-backend-transaction-store.texinfo +@include includes/fun-elephant-backend-transaction-object.texinfo
-@node Multithreading Considerations +@node DSR Multithreading Considerations @comment node-name, next, previous, up @section Multithreading Considerations @cindex Multithreading @@ -166,7 +187,7 @@ @c utils locks @c utils thread-vars
-@node Handling Serialization +@node DSR Handling Serialization @comment node-name, next, previous, up @section Handling Serialization @cindex Serialization @@ -176,12 +197,12 @@ @c #:deserialize-from-base64-string @c #:serialize-to-base64-string
-@node Memory utilities +@node DSR Memory utilities @comment node-name, next, previous, up @section Memory utilities @cindex Memory utilities
-@node Foreign libraries +@node DSR Foreign libraries @comment node-name, next, previous, up @section Foreign libraries @cindex Foreign libraries --- /project/elephant/cvsroot/elephant/doc/make-ref.lisp 2007/03/30 14:34:34 1.5 +++ /project/elephant/cvsroot/elephant/doc/make-ref.lisp 2007/03/30 23:36:52 1.6 @@ -1,29 +1,39 @@ (require 'asdf) -(asdf:operate 'asdf:load-op 'elephant-tests) +(asdf:operate 'asdf:load-op 'elephant) +(load (merge-pathnames + #p"src/elephant/query" + (asdf:component-pathname (asdf:find-system 'elephant)))) + (defparameter include-dir-path (namestring (merge-pathnames #p"doc/includes/" - (asdf:component-pathname (asdf:find-system 'elephant-tests))))) + (asdf:component-pathname (asdf:find-system 'elephant)))))
(defparameter docstrings-path (namestring (merge-pathnames #p"doc/docstrings.lisp" - (asdf:component-pathname (asdf:find-system 'elephant-tests))))) + (asdf:component-pathname (asdf:find-system 'elephant)))))
(sb-posix:chdir include-dir-path) (load docstrings-path)
+(in-package :elephant) + +(defclass simple-store-controller (store-controller) + ()) + (defun make-docs () - (elephant:open-store elephant-tests::*testbdb-spec*) - (make-instance 'elephant::persistent-collection) - (make-instance 'elephant::secondary-cursor) - (make-instance 'elephant::indexed-btree) - (sb-texinfo:generate-includes #p"/Users/eslick/Work/fsrc/elephant-cvs/doc/includes/" - (find-package :elephant) - (find-package :elephant-backend) - (find-package :elephant-memutil) - (find-package :elephant-system))) + (let ((sc (make-instance 'simple-store-controller))) + (setf (controller-spec sc) nil) + (make-instance 'elephant::persistent-collection :sc sc :from-oid 10) + (make-instance 'elephant::secondary-cursor) + (make-instance 'elephant::indexed-btree :sc sc :from-oid 10) + (sb-texinfo:generate-includes #p"/Users/eslick/Work/fsrc/elephant-cvs/doc/includes/" + (find-package :elephant) + (find-package :elephant-backend) + (find-package :elephant-memutil) + (find-package :elephant-system))))
(make-docs) --- /project/elephant/cvsroot/elephant/doc/reference.texinfo 2007/03/30 14:34:34 1.7 +++ /project/elephant/cvsroot/elephant/doc/reference.texinfo 2007/03/30 23:36:52 1.8 @@ -110,12 +110,15 @@ @include includes/fun-elephant-get-value.texinfo @include includes/fun-elephant-setf-get-value.texinfo @include includes/fun-elephant-remove-kv.texinfo +@include includes/fun-elephant-map-btree.texinfo +@include includes/fun-elephant-map-index.texinfo
@include includes/fun-elephant-add-index.texinfo @include includes/fun-elephant-get-index.texinfo @include includes/fun-elephant-get-primary-key.texinfo @include includes/fun-elephant-remove-index.texinfo
+ @node Cursors @comment node-name, next, previous, up @section Cursors @@ -125,7 +128,6 @@ @include includes/class-elephant-secondary-cursor.texinfo @include includes/fun-elephant-make-cursor.texinfo @include includes/fun-elephant-cursor-close.texinfo -@include includes/fun-elephant-map-btree.texinfo @include includes/macro-elephant-with-btree-cursor.texinfo
@include includes/fun-elephant-cursor-current.texinfo @@ -163,15 +165,10 @@
@include includes/macro-elephant-with-transaction.texinfo
-@include includes/var-elephant-star-auto-commit-star.texinfo -@include includes/var-elephant-star-current-transaction-star.texinfo -@include includes/fun-elephant-start-ele-transaction.texinfo -@include includes/fun-elephant-commit-transaction.texinfo -@include includes/fun-elephant-abort-transaction.texinfo - @node Migration and Upgrading @comment node-name, next, previous, up @section Migration and Upgrading @cindex Migration and Upgrading
@include includes/fun-elephant-migrate.texinfo +@include includes/fun-elephant-upgrade.texinfo