[elephant-devel] Elephant 0.6.1 Alpha Release available

Ian Eslick eslick at csail.mit.edu
Sun Feb 18 17:10:20 UTC 2007


An alpha release of Elephant 0.6.1 is now available for testing.

Supported platforms:
- SBCL, Allegro, CMU, OpenMCL, Lispworks (build system is not  
automated for Windows)
- CMU, OpenMCL and Lispworks have not been fully tested and may  
require minor bug fixes


DOWNLOAD AND INSTALL:

The alpha release will only be available via CVS

	cvs -z3 -d :pserver:anonymous:anonymous at common-lisp.net:/project/ 
elephant/cvsroot checkout -r ELEPHANT-0-6-1-alpha elephant

This will put the elephant release into the directory: elephant.   
Read the INSTALL, UPGRADE and UPGRADE-BDB files for further  
instructions.


PURPOSE OF THE ALPHA RELEASE:

The primary developers do not have ready access to all supported  
platforms and would like to ask the community to help validate the  
current implementation on other platforms.  We also are using the  
alpha to improve up our test suite.  For more details please see the  
TODO file.  If you have a favorite feature such as multi-threading,  
64-bit, etc., please free to submit a test for the test suite.


NEW FEATURES IN 0.6.1:

Simplified build and site configuration support
- See config.sexp in root directory for site customization (no more  
editing code files)
- Linux and Mac systems should automatically build libraries when  
asdf is called

64-bit lisps are now supported
- 64-bit and 32-bit lisps can read and run off the same database  
files (on the same machine)

Multithreading:
- Elephant should now be thread safe, including sharing a single  
store-controller across threads
- Read comments in src/elephant/transactions.lisp and BDB users  
should read src/db-bdb/bdb-transactions.lisp
- Improved support for mixing transactions and store-controllers

Upgrading:
- Elephant 0.6.1 can open and directly manipulate 0.6.0 databases
- Existing 0.6.0 databases can be upgraded via the 'upgrade' function  
which takes
- Upgrading is required for 64-bit systems
- New serializer-independant metadata should enable future upgrades  
easier
- NOTE: There may be some problems upgrading SQL databases

Berkeley DB backend:
- BDB 4.5 required (see UPGRADE-BDB)
- *auto-commit* is no longer required.  All data access methods auto- 
commit if there is no active transaction.
- store-controller accepts :deadlock-detect keyword (t or nil) which  
will run db_deadlock as a background process to abort deadlocked threads
- optimize-storage is a new store-controller method currently  
supported by BDB backend.  It compacts a whole database or only a  
specific BTree and returns free pages to the free list or to the file  
system.

Minor features:
- Re-organization to the internal structure in this release:
   - Renaming including removing defunct sleepycat naming scheme,  
backend packages, etc.
   - The serializer was modularized to allow future releases to  
change serializer
     strategies or implement custom serializers and to be able to  
open legacy databases
   - Remove various warnings in SBCL build, etc.
   - Separated utilities into their own package and directory
- Serializer improvements
   - 0.6.1 databases can be shared across lisps running on hardware  
of the same endianness
     (i.e. all x86 platforms or PPC/Alpha, etc)
   - Simplified unicode serialization support across all platforms
   - Performance improvements in multi-threading situations
- Feature :elephant-without-optimize will disable optimization  
declarations simplifying debugging
- Other fixes and features documented in the TODO file

Thank you,
Ian Eslick and Robert Read
Elephant Developers





More information about the elephant-devel mailing list