=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
- ObjectStore 5.1 (see http://www.odi.com; evaluations are available!)
- Perl 5.005 (5.004_04 might still work too)
- 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 IS THIS PERL ONLY?
On Mon, 21 Sep 1998 tp@mccall.com wrote:
> I was sort of hoping I'd be able to use perl to write quick-and-dirty data
> manipulation scripts to mess around with my databases that are used by my
> C++ applications. I don't know if I'd ever need that, but it sounded like
> a useful thing to have in the toolbox, so to speak.
My experience with ObjectStore is that it is very low-level. This is
an advantage for applications that require the highest level of
performance. However, there is nothing that I do with databases that
needs such extreme degrees of optimization.
Rather, I value ease of use and ease of change slightly above raw
performance. When I designed the perl interface, I was always trying
to optimize for these priorities. For example, I decided to start
with a generic schema. This gained some big advantages: All perl
databases are compatible. All perl databases will never I<require>
schema evolution. All perl databases can be edited with a standard
perl shell.
Even so, ObjectStore's recent support of DLL schemas allows the
seemless integration of application specific C++ objects. For
example, a code generator is available (L<ObjStore-REP-HashRecord>)
that creates optimized records (ordered, typed list of fields like a C
structure). Recently, I also got PDL properly integrated
(L<ObjStore-Lib-PDL>). PDL is a perl extension for matrix
mathematics.
I believe the uncommon ability to integrate with everything at the
lowest level (C) while still remaining maximally generic is unique
among database architectures.
=head1 R!CENT CHANGES
** 11-23-98 RELEASE 1.51
- Added more assertions to the API. A new (transient) memory leak
debugging mode is available. See ObjStore::MakeMaker.
- os_smart_object tweaks for ObjStore-Lib-PDL.
- Fixed a bug that caused the save-stack to become corrupted during
exceptions. Yikes!
- Fixed transient memory leak trigger when an SV holding a persistent
object has non-transaction scope.
- Minor fixes to qtposh.
** 11-05-98 RELEASE 1.50
- Fixed order of PUTBACK/POPSTACK.
** 11-04-98 RELEASE 1.49
- Stargate reengineering for ObjStore::Lib::PDL.
- MIN_PERL_DEFINE clean up for 5.005_53.
- Various API improvements. Safer safe_rv(). osp_pathexam fixes.
- Safer typemap code. Added debugging mode for dynacasts. Resolved
serious name conflict by renaming ObjStore::Server to
ObjStore::ServerInfo (Gack!!).
- Various tweaks & fixes.
see ./INSTALL for hints on installation
see ./UPGRADE if you are starting from a prior releases
see ./TODO for a list of stuff in the tuit queue
see ./CHANGES for a visionary perspective
Send any questions or comments to perl-objectstore@parallax.co.uk.
If you'd like to subscribe to the mailing list, send email to
majordomo@parallax.co.uk. Thanks!
-------------------------------------------------------------------------
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)