=head1 NAME

ObjStore - Perl Extension For C<ObjectStore> OODBMS

=head1 SYNOPSIS

The new C<SQL> and the sunset of relational databases.

=head1 DESCRIPTION

ObjectStore is the market leader in object-oriented databases
http://www.odi.com (NASDAQ: ODIS).  They use a unique Cache-Forward
Architecture to make persistent data available in literally the most
efficient manner possible.

Prior to this joining of forces: ObjectStore was too radical a design
decision for many applications; and perl5 did not have a simple way of
storing complex data persistently.

Now there is an easy way to build database applications, especially if
you are concerned about preserving your ideals of encapsulation.

=head2 INCLUDED TOOLS

=over 4

=item * ospeek

Prints out databases in Data::Dumper style.

=item * posh

Like C<sh>/C<csh>, except that you can I<change directory> B<into>
your database and walk around the data from the inside.  You can also
invoke methods on your objects or write custom reports (in perl, of
course :-).

=item * osperlserver

Run it against any database that inherits C<ObjStore::ServerDB> and it
will provide a remote method invokation service.

=back

=head1 PREREQUISITES

You will need:

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

- Perl 5.004_04 (or perl 5.005, once released)

- Tree::Fat & Test perl extensions

- 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/ !


##################
# RECENT CHAN@ES #
##################


** 03-21-98 RELEASE 1.32

- Major improvements to serverization code.  See osperlserver,
ObjStore::ServerDB, and ObjStore::Process.  It is likely that not all
changes are backward compatible to 1.30 (but I'm pretty sure
improvements will outweigh breakage :-).

- ObjStore::AV::Set now checks for duplicates.


** 03-13-98 RELEASE 1.31

- Posh will move directly to a database specified on the command line.
Also, the default is now mvcc mode.  Fixed a problem with persisting
command history.

- Changed the behavior ObjStore::AV::Set::exists(...) to be more
consistent.

- Fixed a problem in the is_evolved() method.

- $ObjStore::TRANSACTION_PRIORITY is now a tied scalar.

- Replaced (get|set)_(read|write)lock_timeout (yikes!) with a single
perl-style lock_timeout API.

- Reorganized the BOOT section to meet the requirements of the perl
compiler.  ObjStore::shutdown is now called in an END block to insure
proper clean up (abort pending transactions, etc.) and initialization
is now delayed until run-time (vs. compile-time).


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:

majordomo@parallax.co.uk   "subscribe perl-objectstore you@your.company.com"

(If you think you've run into a bug, try running your script with
"perl -MObjStore=PANIC" and mail the output to the mailing list.)

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