DBIx-SearchBuilder
view release on metacpan or search on metacpan
- 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
1.45 2006-09-26
- Postgres: fix "$rec->Create();"
- Postgres: fix "$rec->Create( IntegerColumn => '' );"
- Postgres: fix "$rec->SetIntegerColumn( '' );"
- Postgres: add test
- cleanup ::Record::Cachable
- use cache in: $a->LoadByCols(...); $b->LoadById( $a->id );
t/02searches_joins.t view on Meta::CPAN
FIELD2 => 'UserId',
),
"joined table"
);
$users_obj->Limit( ALIAS => $g2u_alias, FIELD => 'GroupId', VALUE => "$groups_alias.id", QUOTEVALUE => 0);
$users_obj->Limit( ALIAS => $groups_alias, FIELD => 'Name', VALUE => 'Developers' );
#diag $users_obj->BuildSelectQuery;
is( $users_obj->Count, 3, "three members" );
}
diag "cascaded LEFT JOIN optimization" if $ENV{'TEST_VERBOSE'};
{
$users_obj->CleanSlate;
is_deeply( $users_obj, $clean_obj, 'after CleanSlate looks like new object');
ok( !$users_obj->_isJoined, "new object isn't joined");
my $alias = $users_obj->Join(
TYPE => 'LEFT',
FIELD1 => 'id',
TABLE2 => 'UsersToGroups',
FIELD2 => 'UserId'
);
( run in 0.508 second using v1.01-cache-2.11-cpan-49f99fa48dc )