[Jifty-commit] r4542 - in Jifty-DBI/trunk: lib/Jifty/DBI
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Mon Nov 26 14:12:55 EST 2007
Author: alexmv
Date: Mon Nov 26 14:12:54 2007
New Revision: 4542
Modified:
Jifty-DBI/trunk/ (props changed)
Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm
Log:
r25123 at zoq-fot-pik: chmrr | 2007-11-26 14:10:54 -0500
* Fix reverse joins. Broken in multiple ways.
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm Mon Nov 26 14:12:54 2007
@@ -849,34 +849,24 @@
}
if ( $args{'alias2'} ) {
- if ( $args{'collection'}{'joins'}{ $args{alias2} } ) {
+ if ( $args{'collection'}{'joins'}{ $args{alias2} } and lc $args{'collection'}{'joins'}{ $args{alias2} }{type} eq "cross" ) {
my $join = $args{'collection'}{'joins'}{ $args{alias2} };
- if ( lc $join->{type} eq 'cross' ) {
- $args{'table2'} = $join->{table};
- $alias = $join->{alias};
- } else {
- warn "Already joined?";
- return;
- }
+ $args{'table2'} = $join->{table};
+ $alias = $join->{alias};
} else {
# if we can't do that, can we reverse the join and have it work?
- @args{qw/alias1 alias2/} = @args{qw/alias2 $alias2/};
+ @args{qw/alias1 alias2/} = @args{qw/alias2 alias1/};
@args{qw/column1 column2/} = @args{qw/column2 column1/};
- if ( $args{'collection'}{'joins'}{ $args{alias2} } ) {
+ if ( $args{'collection'}{'joins'}{ $args{alias2} } and lc $args{'collection'}{'joins'}{ $args{alias2} }{type} eq "cross" ) {
my $join = $args{'collection'}{'joins'}{ $args{alias2} };
- if ( lc $join->{type} eq 'cross' ) {
- $args{'table2'} = $join->{table};
- $alias = $join->{alias};
- } else {
- warn "Already joined?";
- return;
- }
+ $args{'table2'} = $join->{table};
+ $alias = $join->{alias};
} else {
# Swap back
- @args{qw/alias1 alias2/} = @args{qw/alias2 $alias2/};
+ @args{qw/alias1 alias2/} = @args{qw/alias2 alias1/};
@args{qw/column1 column2/} = @args{qw/column2 column1/};
return $self->Jifty::DBI::Collection::limit(
More information about the Jifty-commit
mailing list