Ignore:
Timestamp:
03/03/10 22:41:54 (2 years ago)
Author:
karpet
Message:

fix op bugs

File:
1 edited

Legend:

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

    r2570 r2574  
    174174    # normalize operator 
    175175    my $op = $clause->{op} || ":"; 
    176     if ( $op eq '=' ) { 
    177         $op = ':'; 
    178     } 
     176    $op =~ s/=/:/g; 
    179177    if ( $prefix eq '-' ) { 
    180         $op = '!' . $op; 
    181     } 
    182     if ( $value =~ m/\%/ ) { 
    183         $op = $prefix eq '-' ? '!~' : '~'; 
     178        $op = '!' . $op unless $op =~ m/^!/; 
     179    } 
     180    if ( $value =~ m/\*/ ) { 
     181        $op =~ s/:/~/g; 
    184182    } 
    185183 
     
    201199            $value .= $wildcard unless $value =~ m/\Q$wildcard/; 
    202200            push( @buf, 
    203                 join( '', 'NOT ', $name, '=', qq/$quote$value$quote/ ) ); 
     201                join( '', 'NOT ', $name, ':', qq/$quote$value$quote/ ) ); 
    204202        } 
    205203 
     
    207205        elsif ( $op eq '~' ) { 
    208206            $value .= $wildcard unless $value =~ m/\Q$wildcard/; 
    209             push( @buf, join( '', $name, '=', qq/$quote$value$quote/ ) ); 
     207            push( @buf, join( '', $name, ':', qq/$quote$value$quote/ ) ); 
    210208        } 
    211209 
Note: See TracChangeset for help on using the changeset viewer.