[Rt-commit] r4669 - in rt/branches/3.7-EXPERIMENTAL: .

robert at bestpractical.com robert at bestpractical.com
Fri Mar 3 01:09:13 EST 2006


Author: robert
Date: Fri Mar  3 01:09:12 2006
New Revision: 4669

Modified:
   rt/branches/3.7-EXPERIMENTAL/   (props changed)
   rt/branches/3.7-EXPERIMENTAL/lib/RT/Tickets_Overlay_SQL.pm

Log:
 r4698 at bear:  rspier | 2006-03-02 21:56:45 -0800
 OpenParen and CloseParen must trigger a close_bundle, 
 or you end up with bundles being executed _after_ the Paren.
 
 Test Case:
 
 Compare generated SQL from this....
 
 my $s = "Owner = 10 AND (Status = 'new' OR Status = 'open')";
 my $tix = RT::Tickets->new($RT::SystemUser);
 $tix->FromSQL($s);
 print $tix->BuildSelectQuery(),"\n"
 


Modified: rt/branches/3.7-EXPERIMENTAL/lib/RT/Tickets_Overlay_SQL.pm
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/lib/RT/Tickets_Overlay_SQL.pm	(original)
+++ rt/branches/3.7-EXPERIMENTAL/lib/RT/Tickets_Overlay_SQL.pm	Fri Mar  3 01:09:12 2006
@@ -175,8 +175,14 @@
     my $ea = '';
 
     my %callback;
-    $callback{'OpenParen'} = sub {warn "opening paren"; $self->_OpenParen };
-    $callback{'CloseParen'} = sub {warn "closing paren"; $self->_CloseParen };
+    $callback{'OpenParen'} = sub {
+      $self->_close_bundle(@bundle); @bundle = ();
+      $self->_OpenParen
+    };
+    $callback{'CloseParen'} = sub {
+      $self->_close_bundle(@bundle); @bundle = ();
+      $self->_CloseParen;
+    };
     $callback{'EntryAggregator'} = sub { $ea = $_[0] || '' };
     $callback{'Condition'} = sub {
         my ($key, $op, $value) = @_;


More information about the Rt-commit mailing list