Changeset 2590


Ignore:
Timestamp:
03/09/10 16:39:14 (2 years ago)
Author:
karpet
Message:

preserve range queries as ranges

Location:
Search-Query-Dialect-KSx/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Search-Query-Dialect-KSx/trunk/lib/Search/Query/Dialect/KSx.pm

    r2586 r2590  
    223223            } 
    224224 
    225             # we support only numbers at this point 
    226             for my $v (@$value) { 
    227                 if ( $v =~ m/\D/ ) { 
    228                     croak "non-numeric range values are not supported: $v"; 
    229                 } 
    230             } 
    231  
    232             my @range = ( $value->[0] .. $value->[1] ); 
    233             push( @buf, 
    234                 join( '', $name, ':', '(', join( ' OR ', @range ), ')' ) ); 
     225            push( 
     226                @buf, 
     227                join( '', 
     228                    $name, ':', '(', $value->[0], '..', $value->[1], ')' ) 
     229            ); 
    235230 
    236231        } 
     
    242237            } 
    243238 
    244             # we support only numbers at this point 
    245             for my $v (@$value) { 
    246                 if ( $v =~ m/\D/ ) { 
    247                     croak "non-numeric range values are not supported: $v"; 
    248                 } 
    249             } 
    250  
    251             my @range = ( $value->[0] .. $value->[1] ); 
    252             push( @buf, 
    253                 join( '', '-', $name, ':', '( ', join( ' ', @range ), ' )' ) 
     239            push( 
     240                @buf, 
     241                join( '', 
     242                    $name, '!:', '(', $value->[0], '..', $value->[1], ')' ) 
    254243            ); 
    255244        } 
  • Search-Query-Dialect-KSx/trunk/t/01-parser.t

    r2580 r2590  
    143143#dump $range_query; 
    144144 
    145 is( $range_query, 
    146     qq/date:(1 OR 2 OR 3 OR 4 OR 5 OR 6 OR 7 OR 8 OR 9 OR 10)/, 
    147     "range expanded" 
    148 ); 
     145is( $range_query, qq/date:(1..10)/, "range expanded" ); 
    149146 
    150147ok( my $range_not_query = $range_parser->parse("date!=( 1..3 )"), 
     
    152149 
    153150#dump $range_not_query; 
    154 is( $range_not_query, qq/-date:( 1 2 3 )/, "!range exanded" ); 
     151is( $range_not_query, qq/date!:(1..3)/, "!range expanded" ); 
    155152 
    156153# operators 
Note: See TracChangeset for help on using the changeset viewer.