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@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