Revision history for Perl extension Tangram.

0.01  Sun Mar 21 10:46:45 1999
	- original version; created by h2xs 1.18

0.03  Stardate: unknown
	- first public alpha release

0.08  Stardate: unknown
	- second public alpha release

0.09  Stardate: unknown

   - split Tangram.pm into several modules
   - replaced @ISA with 'use base'
   - replaced default typetags with automounting
   - prefetch now takes either class or remote
   - implemented prefetch for IntrArray and IntrSet
      *::prefetch still need real-life testing,
      especially when class(coll) <> class(item)

1.00  Nov 07 1999 - first mature release version
	- deploy() now also works directly on DBI handles
	- deploy() allows specification of SQL types via the schema hash
	- intrusive collections allow element-to-container navigation
	- improve speed of read_object
	- fixed various bugs
	- rewrote part of, and expanded documentation

1.01  Nov 12 1999 - interim version
	- added (raw) mapping between Perl strings and date/time SQL types

1.02  Nov 14 1999 - interim version
	- added support for aggregated refs, arrays and sets

1.03  Dec 28 1999 - interim version
	- added support for customizing object & class id types, etc
	- as a consequence Tangram should now work with PostgreSql
	- fixed bug: erase() failed in presence of stateless leaf classes
	- temporarily removed RawDate and RawTime tests because M$ SQL
	  cannot handle them; those modules are still present though

1.04  Jan 03 2000 - interim version
	- fixed two bugs related to explicit tables

1.05  Jan 03 2000 - interim version
	- fixed: Storage::prefetch now works with inherited members
	- fixed: _insert() ignored collections in stateless classes

1.06  Feb 29 2000 - higly experimental interim version
	- added typechecks on collection members
	- started cleaning up autovivification of colls upon save
	- documented like()
	- documented extended select options retrieve, order & filter
	- changed _limit into the Limit in test suite
	- added temporary hack in Makefile.PL to support Access
	- added mapping for flat arrays
	- factorized code common to Array & FlatArray

1.07  Feb 29 2000 - interim version
	- adapted test suite for Sybase and other NULL-picky databases
	- added experimental support for vendor extensions (Dialect)
	- added skeleton Dialect::Sybase with support for datepart
	- did extensive rework on Expr instantiation
	- began documenting Type
	- added Storage::reload()

1.08  Mar 26 2000 - interim version
	- batch allocation of object ids
	- support for Lobs contributed by marian.kelc@ruhr-uni-bochum.de
	- Storage::reset()

1.09  ? - interim version
	- String calls DBI for correct quoting, as Marian Kelc suggested
	- fixed Array problem when removing elements from middle of collection
	- (?)

1.10  Apr 19 2000 - interim version
	- changed reset() into unload() and added support for partial unloading
	- tx_do() can now propagate arguments to closure/anon-sub;
	  insert(), update() and erase() pass anon-subs to tx_do to prevent
	  leaks (thanks Radu Greab)

1.11  May 29 2000 - public version
	- ordering result set by descending order is now supported
	- die() on attempt to load from an invalid id
	- removed silly table id allocation limit (t1000) in Coll.pm

1.13  Jul 11 2000 - interim version
	- new FlatHash and DMDateTime mappings contributed by Gabor Herr
          <herr@iti.informatik.tu-darmstadt.de>
	- some more doc in Type.pod
	- date & time doc moved to DateTime.pod
	- deploy() puts \n between instructions in trace

1.15  Jul 21 2000 - interim version
	- new PerlDump mapping contributed by Gabor Herr
          <herr@iti.informatik.tu-darmstadt.de>

1.16  Jul 25 2000 - interim version
	- fixed deploy() bug: didn't take col names into account for Array, Set and Hash
	- fixed query_expr bug in Scalar and Ref: used field name instead of col name

1.17  Jul 28 2000 - interim version
	- Gabor's patches on deep updates

1.18  Jul 28 2000 - stable version
	- weakrefs!
	- tuples
	- mysql tx acquired lock regardless of tx nesting

1.19  Jul 28 2000 - stable version
	- improved id allocation for mysql
	- bitwise operators for mysql
	- manual class id allocation
	- install now works in the absence of DBI and Set::Object
	- Makefile.PL prerequisites work now
	- Guided Tour is now generated & can be run
	- added support for LIMIT in selects
	- deploy() didn't take explicit oid/cid type into account; fixed
	- deploy() wrongly defaulted to NULLable types; fixed
	- class id can now be specified
	- oid and cid now default to INTEGER
	- fixed error in Expr.pod but I don't remember what it was	
	- minor improvement to Schema.pod
	- added Springfield.pm for users to play with
	- added support for SELECT SUM

2.00  Feb ?? 2001 - first S.O.L. release
	- added copyright notices
	- added a copy of the GPL
	- implemented inlined exports
	- INSERT and UPDATE now make use of prepared statements when available
	- re-executable Cursors
	- changed database layout, Class Table is gone and 'control' table in there
	- object ids are no longer allocated on a class basis
	- introduced Tangram::Relational
	- dialect are now done via derivation
	- stored object id no longer contains type id
	- introduced Relational::Engine
	- flexible mapping

2.05pre1 May 2003 - SamV - first "not the momma" release

	- Patches from lots of people, don't know who 'coz the honourable
	  grand master JLL applied a lot of them, I'll try to summarize
	  here:
	
		- back-porting pieces for 5.00503 (that was me)
		- a more elegant solution for the
		  Tangram::AbstractArray/AbstractHash corner case than
		  the one I submitted :-)
		- code that (possibly) completes Tangram::Hash support (I
		  haven't written a test case to confirm this yet)
		- A fix to Tangram::AbstractSet that again caters to some
		  very strange corner cases (this was me too)
		- Working implementation of the Tangram::DMDateTime type
		  mapping, a good thing that running a persistent
		  application server offsets the huge time it takes to
		  load in Date::Manip :-)
		- A bug fix to Tangram::FlatArray mapping type that
		  affects deleting members (don't know whose)
		- Tangram::IntrSet::get_intrusions (? can anyone claim
		  or explain this one?)
		- Minor Tangram::PerlDump fix (a simple one)
		- Deep, deep magic in Tangram::Relational::Engine;
		  new function get_heterogeneity (anyone?)
		- Use of uninitialised variable in Tangram::Engine...
		- Other large changes to Tangram::Schema (? - get_bases,
		  get_specs, is_root, etc)
		- A problem with merging schemas when you used a
		  `back-ref' to a class that is later on in the schema
		  (me)
		- Scattered showers of changes in Tangram::Storage
		  (get_insert_statements etc, lots of `off by one'
		  (reference nesting level that is) changes)
	
	- All I can say is that there have been some very smart people
	  looking at this code and submitting patches.

2.05pre2 Jun 2003 - SamV
	- Minor Tangram::Expr defined vs logically-false fix
	  (Aaron Mackey)
	- explicitly select all ORDER BY columns (Aaron Mackey)
	- normalise default "slot" and "coll" column names in
	  Tangram::Intr* types (SamV)

2.05 Jul 2003 - SamV
	- Tangram::Scalar and Tangram::Ref column names are now passed
	  through $schema->{normalize}->()
