[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