Changes for version 1.46 - 2007-02-25

  • when doing a union, we need to actually search, rather than just doing a count
  • add support for testing with Oracle backend
  • Use CROSS JOIN instead of ',' as SQL parsers in Pg and some mysql are buggy and cannot parse "FROM X, Y JOIN Z ON Z.f = X.f"
  • deprecate DEBUG method, it's still there but produce warning
  • fix CleanSlate method that was missing several keys
  • fix a long standing bug we had, we didn't write depends_on data about a join, so we could build queries with incorrect parens around join conditions
  • fix default values for ALIAS1 argument in the Join method, istead of defaulting FIELD1 to 'main' value
  • fix a TODO test
  • internal refactoring of a storage for query's conditions, instead of building query strings right after the limit or join, we now build a perl structure
  • don't clone attributes that don't exists in the Clone method
  • we use Encode module without perl version check for a long time, so we can get rid of all checks for the version and load the module at compile time everywhere we need it
  • implement MayBeNull method in the handler that checks if applied conditions allow NULLs in the result set
  • implement cascaded LEFT JOINs optimization
  • additional tests for CleanSlate and Clone methods, ENTRY_AGGREGATOR argument, different types of joins and LEFT JOIN optimizer

Modules

Encapsulate SQL queries and rows in simple perl objects
Perl extension which is a generic DBI handle
An Informix specific Handle object
An ODBC specific Handle object
An oracle specific Handle object
A Postgres specific Handle object
A SQLite specific Handle object
a Sybase specific Handle object
A mysql specific Handle object
A mysql specific Handle object
Superclass for records loaded by SearchBuilder
Records with caching behavior
Generate table schemas from DBIx::SearchBuilder records
Deal with multiple SearchBuilder result sets as one
Ensure uniqueness of records in a collection

Provides

in ex/Example/Model/Address.pm
in ex/Example/Model/Employee.pm