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