Changeset 1903

Show
Ignore:
Timestamp:
31-05-11 11:01:23 (3 years ago)
Author:
robert@…
Message:

Bugfix for searches in 'complex' fields with no results (#446)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/groovy/dbnp/query/Search.groovy

    r1902 r1903  
    339339                         
    340340                        // If there are entities matching these criteria, put a where clause in the full HQL query  
    341                         if( entities && entities.findAll { it } ) { 
     341                        if( entities ) { 
    342342                                // Find criteria that match one or more 'complex' fields 
    343343                                // These criteria must be checked extra, since they are not correctly handled 
     
    346346                                entities = filterForComplexCriteria( entities, entityCriteria ); 
    347347                                 
    348                                 def paramName = from.replaceAll( /\W/, '' ); 
    349                                 fullHQL.where << sprintf( entityClause( entityName ), from, alias, paramName ); 
    350                                 fullHQL.parameters[ paramName ] = entities 
    351                                 return true; 
    352                         } else { 
    353                                 results = []; 
    354                                 return false 
    355                         } 
     348                                if( entities ) { 
     349                                        def paramName = from.replaceAll( /\W/, '' ); 
     350                                        fullHQL.where << sprintf( entityClause( entityName ), from, alias, paramName ); 
     351                                        fullHQL.parameters[ paramName ] = entities 
     352                                        return true; 
     353                                }  
     354                        } 
     355                         
     356                        // No results are found. 
     357                        results = []; 
     358                        return false 
    356359                } 
    357360