[elephant-cvs] CVS elephant/doc

ieslick ieslick at common-lisp.net
Fri Mar 30 23:36:53 UTC 2007


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
 
- at node Registration
+ at node DSR Registration
 @comment node-name, next, previous, up
 @section Registration
- at cindex Registration
+ at 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
 
- at 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.
+
+ at include includes/fun-elephant-backend-get-user-configuration-parameter.texinfo
+
+ at 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.
 
- at include includes/class-elephant-backend-store-controller.texinfo
+ at include includes/class-elephant-store-controller.texinfo
 @include includes/fun-elephant-backend-open-controller.texinfo
 @include includes/fun-elephant-backend-close-controller.texinfo
+ at 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.
 
- at include 
-
-These functions are useful utilities for implementing
-store-controllers.
+ at include includes/fun-elephant-backend-serialize-database-version-key.texinfo
+ at include includes/fun-elephant-backend-serialize-database-version-value.texinfo
+ at include includes/fun-elephant-backend-deserialize-database-version-value.texinfo
 
- at include includes/fun-elephant-backend-get-con.texinfo
- at include includes/fun-elephant-backend-oid.texinfo
- at include includes/fun-elephant-backend-next-oid.texinfo
- at include includes/fun-elephant-backend-connection-is-indeed-open.texinfo
- at include includes/fun-elephant-get-user-configuration-parameter.texinfo
 
- at node Slot Access
+ at node DSR Persistent Objects and Slot Access
 @comment node-name, next, previous, up
 @section Slot Access
- at cindex Slot Access
+ at cindex Persistent Objects and Slot Access
+
+ at include includes/class-elephant-persistent.texinfo
+ at include includes/fun-elephant-backend-get-con.texinfo
+ at 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.
+
+ at 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
 
- at node Collections
+ at 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
 
- at node Cursors
+Critical to indexing and queries are the map operators for collections
+
+ at include includes/fun-elephant-map-btree.texinfo
+ at include includes/fun-elephant-map-index.texinfo
+
+ at node DSR Cursors
 @comment node-name, next, previous, up
 @section Cursors
 @cindex Cursors
@@ -143,22 +158,28 @@
 @c		#:cursor-oid
 @c		#:cursor-initialized-p
 
- at node Transactions
+ at node DSR Transactions
 @comment node-name, next, previous, up
 @section Transactions
 @cindex Transactions
 
- at c		#:*current-transaction*
- at c		#:make-transaction-record
- at c		#:transaction-store
- at c		#:transaction-object
-
- at c              #:execute-transaction
- at c		#:controller-start-transaction
- at c		#:controller-commit-transaction
- at c		#:controller-abort-transaction
+These functions must be implemented or stubbed in any
+backend.
+
+ at include includes/fun-elephant-backend-execute-transaction.texinfo
+ at include includes/fun-elephant-backend-controller-start-transaction.texinfo
+ at include includes/fun-elephant-backend-controller-commit-transaction.texinfo
+ at include includes/fun-elephant-backend-controller-abort-transaction.texinfo
+
+These are supporting functions and variables for implementing
+transactions.
+
+ at include includes/var-elephant-backend-star-current-transaction-star.texinfo
+ at include includes/fun-elephant-backend-make-transaction-record.texinfo
+ at include includes/fun-elephant-backend-transaction-store.texinfo
+ at include includes/fun-elephant-backend-transaction-object.texinfo
 
- at node Multithreading Considerations
+ at 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
 
- at node Handling Serialization
+ at 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
 
- at node Memory utilities
+ at node DSR Memory utilities
 @comment node-name, next, previous, up
 @section Memory utilities
 @cindex Memory utilities
 
- at node Foreign libraries
+ at 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
+ at include includes/fun-elephant-map-btree.texinfo
+ at 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
- at 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
 
- at include includes/var-elephant-star-auto-commit-star.texinfo
- at include includes/var-elephant-star-current-transaction-star.texinfo
- at include includes/fun-elephant-start-ele-transaction.texinfo
- at include includes/fun-elephant-commit-transaction.texinfo
- at 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
+ at include includes/fun-elephant-upgrade.texinfo




More information about the Elephant-cvs mailing list