Revision history for Perl extension DBIx::SearchBuilder.

1.15 Sat Nov 27 13:09:56 EST 2004
    - Fix a testsuite bug when DBD::SQLite isn't there


1.14
    - Silenced warnings about uninitialized warnings when inserting null cols
      into the database.
    - Started adding lowercase method name aliases
    - Minor refactoring of 'id' method for a stupid, tiny perf improvement
    - Refactoring of DBIx::SearchBuilder::Record::Cachable for performance
      improvement
    - Added a FlushCache method to DBIx::SearchBuilder::Record::Cachable.
    - Started to flesh out a...test suite
    - SearchBuilder now truncates strings before inserting them into character
      types in the database as mysql generally does. Additionally, it truncates
      things at utf8 character boundaries...as mysql does not.
    - Fix for an undefined record cache warning on load from Autrijus Tang    
    - Major documentation cleanups --Simon Cavalletto
    - A few tweaks to the ::Record class to eliminate the              
      hard-coding of the name of the id column --Simon Cavalletto

1.12
    - Better error handling for some query build failure cases
    - Corrected query builder for SQLite
    - More refactoring.

1.11

    - When loading an object whose "id" has been altered, as in the case of RT's 
      "Merge" functionality, the wrong object was returned by the caching layer. 
       Special casing for the "id" method was removed.


1.10

    - Identical to 1.10_05


1.10_05

    -   Reworked the _Accessible mechanism in DBIx::SearchBuilder::Record to 
        remove a horribly crufty old caching mechanism that created a copy
        of the accessible hash for each and every object instantiated,
        sometimes quite slowly.


1.10_04 Mon Aug 30 17:33:18 EDT 2004


A query builder fix for an issue that bit RT2: 

 Unsatisfied dependency chain in Joins Users_2 at /usr/local/share/perl/5.8.3/DBIx/SearchBuilder/Handle.pm line 965,  line 69.

Stack:
  [/usr/local/share/perl/5.8.3/DBIx/SearchBuilder/Handle.pm:965]
  [/usr/local/share/perl/5.8.3/DBIx/SearchBuilder.pm:326]
  [/usr/local/share/perl/5.8.3/DBIx/SearchBuilder.pm:119]
  [/usr/local/share/perl/5.8.3/DBIx/SearchBuilder.pm:410]


1.10_03 Mon Aug 30 14:31:10 EDT 2004
        - Cache Sanity fixes from Autrijus Tang <autrijus@autrijus.org>

1.10_02 Thu Aug 26 13:31:13 EDT 2004

1.10_01 Thu Aug 26 00:08:31 EDT 2004
        - Reimplemented DBIx::SearchBuilder:::Record::Cachable
          to use Cache::Simple::TimedExpiry. This should make it faster and more
          memory efficient.


1.02_03 Thu Jul 22 13:29:17 EDT 2004
        - Additional bullet proofing for joins. 
          Now we default to ALIAS1 being "main"  (cubic@acronis.ru)

1.02_02 Tue Jul 20 13:06:06 EDT 2004
        - Fixed a join bug that mostly manifests as a 'Dependency chain'
          error on RT2.

1.02_01 Wed Jul  7 12:28:08 EDT 2004
        - magic _Object instantiation from cubic@acronis.ru
        - make SB::_Handle settable directly  (cubic@acronis.ru)
        - document the above        


1.01    Sun Jun 27 23:35:46 EDT 2004

        - Releasing 1.00_06 as stable

1.00_06 - Pg/Oracle: Don't attempt to do case insensitive comparisons on
          integer values.

1.00_05 - Force utf8 flag on when doing searches for utf8 data; this
          is a workaround for DBDs that don't do it themselves.

1.00_04	- Move Postgres specific join behaviour to the superclass so 
	  everyone gets the benefit.

1.00_03 - Remove "AS" from table name aliases on joins, since Oracle
          doesn't like em.

1.00_02	- Slightly cleaner code in SearchBuilder->GotoPage

1.00_01 - Better handling of case insensitive comparisons on Postgres
	- Proper support for query paging on SQLite
		
0.99	- Bundled changes from 0.98* and released production version
	  Removed duplicate code in cache expiry routines
          Experimental SearchBuilder::Union collection object.

	  Released at the YAPC::Taipei::22004 Release Party

0.98_04 - New mysql/oracle "Join" code that allows more complex bundling of 
	  joins from Linda and Robert

0.98_03 - New test infrastructure from Andy Lester

0.98_02 - Better handling of != clauses on Postgres

0.97_02 - Support for "Group By" clauses.
          Support for delayed load of certain columns from Autrijus Tang.

0.97_01 - Oracle doesn't support binary-safe clobs in a reasonable manner.

0.96    - Releasing 0.96_01 as usable

0.96_01 - Fix a couple of spurious warnings in Record::Cachable
          Records loaded from multiple-record searches were never cached 
          correctly

0.95_03 - Allow case-insensitive loading by columns in SearchBuilder::Record
        - Record::LoadByCols now lets you specify operator and values 

0.95_01 
        - Removed historical escaping for non-ascii searche queries

0.94-   - Fix for multiple handles in one app from Autrijus Tang

0.93 
        - Added ODBC database driver from Autrijus Tang
        - Added the ability to sort on functions of columns from Autrijus Tang
        - Improved case-insensitve searching behavior for PostgreSQL
        - Added support for multiple handles in one app from Autrijus Tang (#4167)
        - Added initial Informix database driver from Oliver Tappe

0.92    Sept 4, 2003
        - Fixed a bug that caused certain types of pre-canned table aliases to fail to work on join

0.90    Aug 8, 2003
        - Disable Class::ReturnValue's stack trace feature as it interacted poorly with a stack containing lots of data 

0.89_02 July 19, 2003
	- Patch from Grant DeGraw to allow ordering by multiple columns.

0.89_01 July 18 2003
	- Patch from Brook for:
	-	better oracle support
	-   	remove "SELECT DISTINCT" when it's not necessary

0.88 June 23 2003
        - More correct generation of "Distinct" keyword on counts for queries with left joins

0.87 June 16 2003
        - Changed DBIx::SB::Record::Cachable to expire cached object when a "deeper" method call changes their values

0.86 June 7 2003
        - Doing conditional connections was failing on postgres, because the handle was defined, but not connected

0.85 June 7 2003
        - Stan's destroy fix was actually badly breaking RT
        - It's now an optional parameter.

0.84 June 4 2003
        - Bumped the version for release

0.83_05 June 2 2003
        - Provide support for blowing away nested transactions that aren't yet committed.

0.83_04 June 2 2003
        - Fixed how values of returned hashes are downcased. 
        - Should be a minor perf improvement

0.83_03 May 30 2003
        - Moved Stan's destryo fix to the right file

0.83_02 May 27 2003
        - Better oracle support for unique ids on indexes from Brook

0.83_01 May 27 2003
        - Stan's DESTROY fix
        -  Mathieu Arnold's patch to make function naming for 
           autoloaded functions a bit more flexible

0.82	May 19 2003
	- Query builder changes to improve some join performance
	- Fixes to a tight loop for cache expiry

0.81_04 April 14 2003
        - Fixed a bug in "Distinct" logic introduced in 0.81_01

0.81_03 April 13 2003
        - Patches for Oracle BLOB support from Brook Schofield

0.81_02 April 13 2003
        -  Rebuilt Postgres query generator.

0.81_01 Mar 27 2003
        - Select Distinct altered to support oracle

0.80 Mar 08 2003
        - Count method enhanced to ignore "LIMIT"s
        - LIMIT behaviour changed to be handle specific


0.79 Jan 19 2003
        - ReadableAttributes and WritableAttributes added as methods to Record.pm

0.78 Jan 16 2003
        - SB->Count should return no results unless the search is limited
        - Eliminate a warning on empty searches

0.77 Jan 15 2003

        - No longer attempt to cache (and fail) objects that haven't been database-loaded

0.76 Dec 30 2002
        - Extra checking for cache misses in DBIx::SearchBuilder::Record::Cachable
        - The start of support for checking database version, so that we can do 
          version-specific SQL
        - A patch from Autrijus Tang that allows utf-8 safe searching

0.75 Dec 06 2002
        - Applying a patch from Rob Spier <rspier@pobox.com> which enables
          arbitrarily complex grouping clauses. It's a hack, but we love it 
          anyway....at least until SB gets redone with proper arbitrarily 
          complex query generation.

0.74 Oct 11 2002
        - Adding support for mysqlPP

0.73 Sep 10 2002
        - More class-returnvalue ification
        - Fixed a caching bug that caused multiple copies of an object in memory to not 
          be kept in sync

0.72  Aug 28 2002
        - Fixed bug in setting a column to the value of an SQL statement.

0.70  Aug 27 2002
        - Better support for Postgres 7.2 and transactions.

0.62  Jul 5 2002
        - Support for Class::ReturnValue to channel errors up when expected
        - Dependency on Class::ReturnValue
        - Minor cleanups and refactorings to allow percolation of errors on create

0.34  May 23 2001
	- SearchBuilder.pm - refactored to allow LEFT joins.

0.31  Say May 12 14:45:00 EDT 2001
	- SearchBuilder::Record::Cachable now constructs cache keys in a way
	  that doesn't lose when records in different tables have the same keys.


0.30  Fri May 11 14:59:17 EDT 2001
        - Added DBIx::SearchBuilder::Record::Cachable from <mhat@netlag.com>
        - Changed SearchBuilder->Count to do the right thing if no 
          query has been performed
        - No longer specify a sort order if no sort order was specified ;)

0.01  Tue Aug 29 16:08:54 2000
	- original version; created by h2xs 1.19

