[Rt-commit] rt branch, 3.8-trunk, updated. rt-3.8.7-59-g49cbb8a

Kevin Falcone falcone at bestpractical.com
Tue Dec 22 16:35:33 EST 2009


The branch, 3.8-trunk has been updated
       via  49cbb8ac1933cb5c201e8523d810015214dbfc7c (commit)
      from  e21b26b773026bc1be46aa46263fd0b7064453d0 (commit)

Summary of changes:
 lib/RT/SQL.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

- Log -----------------------------------------------------------------
commit 49cbb8ac1933cb5c201e8523d810015214dbfc7c
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Tue Dec 22 14:06:40 2009 -0500

    Stop infinte looping when you have global custom fields and no Queue restriction
    
    Set up a global custom field on tickets and then search for tickets with
    id < 100 and click on the Spreadsheet link.
    
    If you don't have Queue in your search query, Parse::BooleanLogic is
    going to return [] and we'll _OpenParen and then _CloseParen without
    inserting clauses between them.  DBIx::SearchBuilder::MayBeNull then
    goes into an infinite loop and you never get your tsv.

diff --git a/lib/RT/SQL.pm b/lib/RT/SQL.pm
index 3074328..bf48bda 100644
--- a/lib/RT/SQL.pm
+++ b/lib/RT/SQL.pm
@@ -229,7 +229,7 @@ sub PossibleCustomFields {
             sub { $_[0]->{'key'} =~ /^Queue(?:\z|\.)/ },
         );
     }
-    if ( $tree ) {
+    if ( $tree && @$tree ) {
         my $clause = 'QUEUES';
         my $queue_alias = $cfs->Join(
             TYPE   => 'LEFT',

-----------------------------------------------------------------------


More information about the Rt-commit mailing list