Shore Interim Snapshots
Shore has made a lot of progress since the so-called 2.0 release.
It has had a lot of performance, reliability, and correctness bugs
and problems fixed.
It also has support for modern compilers, such as gcc-2.95.2,
and real support for newer Unix-like platforms, such as NetBSD
and Linux.
However, we don't have the time or funding to put together a "real"
Shore release.
To make this more recent of Shore available to people,
we've started an Interim Snapshot series of Shore "releases".
They are not real releases with version numbers
and full blown documentation.
But what they ARE is a real working version of Shore
that is far more robust than the latest "released" versions.
You can find this interim snapshot, along with a some text notes
and build instructions
on the ftp server.
Please NOTE
that although an interim snapshot has not been made since
February 2004, that does not mean that shore is not progressing.
What it does mean is that I'm running out of time and am trying to finish
putting together gcc-4 support for shore.
I hoped to make that available in the 4th quarter of 2006.
However, I have lost funding for my work on this project,
and work has stopped as a result.
-- Bolo
Pending Shore Interim Snapshot
This are the feature lists for the possibly upcoming changes.
Uncertain delivery
- visual c++ 7 support (testing is the main problem here, shore apparently
works, but something is broken with tcl and needs to be fixed
to actualy verify that shore works).
- btree variable fill factor - exterior
- btree variable fill factor - interior
Snapshot 4
- gcc-3 support
- gcc-4 support
- c++ correctness fixes
- option to eliminate dependency on deprecated c++ features and classes.
- Shore configuration tool to generate a limited amount of
shore.def
and the dir scheme file
for your local environment.
Shore Interim Snapshots
log seek Performance Patch -- march 2004
This patch to the 3rd Interim Snapshot decreases recovery
and restart times in shore.
This patch has not been applied to the
3rd snapshot.
Why? Because it takes a lot of time to do all the testing for
a snapshot.
Previously the current log segment was read from the
start of the log.
Most of this content was ignored as items that had already been
committed, however the act of reading and ignoring the items
took a lot of time.
Now, the current log segment is read from the last snapshot
of the log -- which guarantees that any log entries up to that
point have been committed to disk.
Interim Snapshot 3 -- February 2004
- Support newer TCL with const arguments.
- Compile with newer gcc compilers -- gcc3 upto but not
including gcc-3.3.
- Correct c++ exception handling with gcc beyond gcc-2.95.
- Fix a null pointer dereference in some transaction
cases. This Bug fix from Adam Welc.
- Enforce per-partition log limit when reading config files.
- Support some "broken" versions of gcc shipped with linux
versions. These versions were grabbed from the gnu tree,
and are not formal gcc releases.
- Number of log partitions and number of pages in an
extent can be specified in shore.def.
- NT builds work with newer Cygwin filename semantics.
- Parameterized shore list classes to eliminate open-coded
offsetof() use. Newer g++/c++ changes the semantics of
offsetof() which breaks code in shore.
- Allow subtracting w_statistics() classes so statistic deltas
can be generated.
- Fix open-coded copied bugs in shore shell that broke 64 bit platforms.
Interim Snapshot 2 -- February 2002
- Add support for 64 bit architectures; Alpha on Digital Unix for now.
- Fixed some performance problems due to lock chain hashing, which affected
btree insert rates.
- Changed on disk structures to be properly aligned for both 32 and 64 bit
architectures.
- Modified the store info to have space for the upcoming change to
allow adjustments in index split factors.
Interim Snapshot 1 -- October 2001
- Shore cooperates with the STL -- the STL preempts some rather common global
names and Shore was using them.
- Support Largefiles on Linux.
Interim Snapshot 0 -- January 2001
- Support for gcc-2.95.2. Previously gcc-2.7.2.3 was the supported compiler.
-
The list of bug fixes, performance improvements and other changes which
have accumulated since the 2.0 releases is just too long to mention --
if they had ever been recorded outside the CVS logs.
Bolo's Notes
Bolo's Home Page
Last Modified:
Mon Nov 13 14:44:46 CST 2006
Bolo (Josef Burger)
<bolo@cs.wisc.edu>