=head1 NAME

ObjStore - Perl Extension For C<ObjectStore> OODBMS

=head1 SYNOPSIS

Like perl?  Sick of SQL?  Ready to try something new?  This extension
implements databases that look exactly like normal perl.  The same can
also be extended with arbitrary C++ objects (!).

=head1 PREREQUISITES

You will need:

- ObjectStore 5.1 (see http://www.odi.com; evaluations are available!)

- Perl 5.005 (perl 5.004_04 might still work)

- Tree::Fat perl extension

- ExtUtils::ExCxx (only needed on Digital UNIX, HP (5.x), OS/2 (3.x),
  or MS Windows NT/95; send email)

See http://www.perl.com/CPAN/authors/id/JPRIT/ !


=head1 R!CENT CHANGES


** 08-05-98 RELEASE 1.44

- Improved backward compatibility with respect to blessings in old
databases.  (Now that we have old databases...  :-)

- As threatened, new_ref() without arguments now creates a hard
reference instead of a protected reference.

- Fixed a nasty pathexam problem exposed by ObjStore::REP::HashRecord.
Sort comparisons were being botched.


** 07-28-98 RELEASE 1.43

- Fixed index bugs.  The lexicographical ordering logic was broken.
Also there was a potential memory corruption problem.


** 07-27-98 RELEASE 1.42

- ObjectStore 5.1 is required.  Static linkage is no longer supported.
OTOH, it is now easy to create persistent C++ objects that are
seemlessly integrated into perl databases.  Raw C++ performance must
be sacrificed no longer!  As there is no longer any application
schema, APIs to configure it have been removed.  A new environment
variable, OSPERL_SCHEMA_DBDIR, overrides the default schema directory.

Indu Strypundit is quoted as calling this release a tour-de-force of
technical bravada.  "We suspected that the number forty-two in the
version might be significant.  It was."

- Many of the core API classes have been through yet another round of
extensive polishing in preparation for a binary API freeze (or at
least a chill :-).  The pathexam apparatus has been entirely rewritten
and is now available at the perl level as ObjStore::PathExam.

- Various osperlserver enhancements including: a -shutdown <when>
option, an -reload option, and a automatic snapshotting of all
VERSIONs on startup (see ObjStore::Serve).

- Simplified read-only protocol for indices.  Either keys are
indexable just once or they must be read-only.

- A few more problems with exception handling were fixed.  Errors were
not being reported properly in rare circumstances.

- Use the 'methods' command to enquire about available methods in
posh (5.005 only).

- Schema support for non-ObjStore::Index cursors and ObjStore::Set
have been dropped.  sync_INC/get_INC is no longer supported.  The
readonly method is no longer implemented (but you can still check
easily with eval).


see ./INSTALL for hints on installation
see ./UPGRADE to evolve databases from prior releases
see ./TODO for a list of stuff in the queue
see ./CHANGES for a visionary perspective


Perl-ObjectStore mailing list is waiting for your contribution--

- If you're having trouble or if you've run into a bug.

- Any job postings (as long as they relate to this extension.  FYI, I
am not myself currently looking, but you never know...  :-)

majordomo@parallax.co.uk   "subscribe perl-objectstore you@your.domain.org"

-------------------------------------------------------------------------
Copyright © 1997-1998 Joshua Nathaniel Pritikin.  All rights reserved.

This package is free software and is provided "as is" without express
or implied warranty.  It may be used, redistributed and/or modified
under the terms of the Perl Artistic License (see
http://www.perl.com/perl/misc/Artistic.html)