[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