diff options
| author | ivan <ivan> | 2002-10-13 01:14:34 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2002-10-13 01:14:34 +0000 | 
| commit | 80b9d734807f0358403c47dfa3d86fb80f75cdd0 (patch) | |
| tree | 52b0af74fef4e2063336c910ac96967dc1cc1d43 | |
| parent | ec8b028d52fea91a4f970c0be377eaccde682997 (diff) | |
change ILIKE into LOWER() for compatibility with non-Pg and Pg before 7.1
| -rw-r--r-- | FS/FS/Record.pm | 22 | 
1 files changed, 14 insertions, 8 deletions
| diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index a23f37a62..ebcbbb497 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -208,34 +208,40 @@ sub qsearch {      $statement .= ' WHERE '. join(' AND ', map {        my $op = '='; +      my $column = $_;        if ( ref($record->{$_}) ) {          $op = $record->{$_}{'op'} if $record->{$_}{'op'}; -        $op = 'LIKE' if $op =~ /^ILIKE$/i && driver_name ne 'Pg'; +        #$op = 'LIKE' if $op =~ /^ILIKE$/i && driver_name ne 'Pg'; +        if ( uc($op) eq 'ILIKE' ) { +          $op = 'LIKE'; +          $record->{$_}{'value'} = lc($record->{$_}{'value'}); +          $column = "LOWER($_)"; +        }          $record->{$_} = $record->{$_}{'value'}        }        if ( ! defined( $record->{$_} ) || $record->{$_} eq '' ) {          if ( $op eq '=' ) {            if ( driver_name eq 'Pg' ) { -            qq-( $_ IS NULL OR $_ = '' )-; +            qq-( $column IS NULL OR $column = '' )-;            } else { -            qq-( $_ IS NULL OR $_ = "" )-; +            qq-( $column IS NULL OR $column = "" )-;            }          } elsif ( $op eq '!=' ) {            if ( driver_name eq 'Pg' ) { -            qq-( $_ IS NOT NULL AND $_ != '' )-; +            qq-( $column IS NOT NULL AND $column != '' )-;            } else { -            qq-( $_ IS NOT NULL AND $_ != "" )-; +            qq-( $column IS NOT NULL AND $column != "" )-;            }          } else {            if ( driver_name eq 'Pg' ) { -            qq-( $_ $op '' )-; +            qq-( $column $op '' )-;            } else { -            qq-( $_ $op "" )-; +            qq-( $column $op "" )-;            }          }        } else { -        "$_ $op ?"; +        "$column $op ?";        }      } @fields );    } | 
