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