=head1 NAME ObjStore - Perl Extension For C OODBMS =head1 SYNOPSIS Enjoy perl? Sick of SQL? Ready to try something new? =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 & qtposh Like C/C, except that you can I B 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 :-). (Also similar to C/C.) =item * osperlserver Provides remote method invokation, database job scheduling, and server-object collaboration services. Completely generic! =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/ ! =head1 R!CENT CHANGES ** 05-30-98 RELEASE 1.40 - Scrubbed code with Insure++ (Parasoft). Insure++ is a product similar to Purify, except better. Fixed a bug in the os_Dictionary hash representation. - A better effort is made to vivify the @ISA tree when it is (partially) unloadable. This change is aimed towards allowing the creation of databases without any .pm file support (discardible scaffolding). - Relaxed restrictions on comparing index keys of differing type. - & the usual suite of minor bug fixes... - Edit the Makefile.PL to add -DOSP_SAFE_BRIDGE if you still need it!! ** 05-10-98 RELEASE 1.39 - Fixed a long standing problem with transaction memory usage. Memory associated with keeping track of persistent objects is now released as soon as possible (instead of at the end of the transaction). A true checkpoint is now possible (but insufficiently tested). - Optionally, during update transactions reference counts are no longer affected by reads (this was not the case in prior versions!). Efficiency of certain types of updates should be improved. You will need to manually invoke the HOLD method in the rare circumstance that a transient variable is the only reference to a persistent object (or otherwise risk a SEGV/BUS error). Due to the gravity of this change, the optimization is turned off for 1.39 by default. In anticipation of enabling it, a warning is generated to help pinpoint any problems in existing code. Please test your code against 1.39 before upgrading to the next release!! - Lots of tweaks. Reorganized transaction code and osperlserver. All allocators should now accept 'transient' as a valid segment. ObjStore::Serve and ObjStore::Server supercede the jumbled logic initially prototyped in ObjStore::Process. 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" 1. 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. 2. The mailing list is also available for job postings (as long as they relate to this extension. FYI, I am not myself currently looking. :-) ------------------------------------------------------------------------- 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)