Next: , Up: Data Store API Reference


8.1 Registration

Elephant looks at the first element of the specification list to determine which data store module to use. The master table for this information is *elephant-data-stores* in elephant/controller.lisp. This will need to be augmented for every data store with the specification keyword tag to be used (such as :BDB or :CLSQL) and the required asdf dependencies.

In addition, the data store source should use an eval-when statement to call the following function:

— Function: elephant-data-store:register-data-store-con-init name controller-init-fn

Data stores must call this function during the loading/compilation process to register their initialization function for the tag name in *elephant-data-stores*. The initialization function returns a fresh instance of the data stores store-controller subclass

If the data store requires any special user-specified configuration, augment the key types in config.sexp with what you need and use the following function to access.

— Function: elephant-data-store:get-user-configuration-parameter name

This function pulls a value from the key-value pairs stored in my-config.sexp so data stores can have their own pairs for appropriate customization after loading.