[Jifty-commit] r5853 - Jifty-DBI/branches/tisql/lib/Jifty/DBI
Jifty commits
jifty-commit at lists.jifty.org
Wed Sep 17 17:13:47 EDT 2008
Author: ruz
Date: Wed Sep 17 17:13:46 2008
New Revision: 5853
Modified:
Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm
Log:
* use fsolve instead of filter+solve
Modified: Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm
==============================================================================
--- Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm (original)
+++ Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm Wed Sep 17 17:13:46 2008
@@ -155,20 +155,25 @@
my %tmp;
$tmp{$_}++ foreach map refaddr($_), @$bundle;
my $cur_refaddr = refaddr( $condition );
- my $filtered =
- $self->filter(
- $self->{'tisql'}{'conditions'},
- sub { my $ra = refaddr($_[0]); return $ra == $cur_refaddr || $tmp{ $ra } },
- );
if ( $prefix eq 'has' ) {
- next unless $self->solve(
- $filtered,
- sub { return refaddr($_[0]) != $cur_refaddr },
+ next unless $self->fsolve(
+ $self->{'tisql'}{'conditions'},
+ sub {
+ my $ra = refaddr($_[0]);
+ return 1 if $ra == $cur_refaddr;
+ return 0 if $tmp{ $ra };
+ return undef;
+ },
);
} else {
- next if $self->solve(
- $filtered,
- sub { return refaddr($_[0]) == $cur_refaddr },
+ next if $self->fsolve(
+ $self->{'tisql'}{'conditions'},
+ sub {
+ my $ra = refaddr($_[0]);
+ return 1 if $ra == $cur_refaddr;
+ return 0 if $tmp{ $ra };
+ return undef;
+ },
);
}
$condition->{'lhs'}{'previous'}{'sql_alias'} = $bundle->[-1]{'lhs'}{'previous'}{'sql_alias'};
More information about the Jifty-commit
mailing list