Bug 284599: Use of REGEXP search is not consistent wrt case sensitivity
Patch By Tomas Kopal <Tomas.Kopal@altap.cz> r=mkanat, a=justdave git-svn-id: svn://10.0.0.236/trunk@172462 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
d1fa0293a2
commit
b483941cbf
@ -1199,7 +1199,8 @@ formatted SQL command have prefix C<sql_>. All other methods have prefix C<bz_>.
|
||||
=item C<sql_regexp>
|
||||
|
||||
Description: Outputs SQL regular expression operator for POSIX regex
|
||||
searches in format suitable for a given database.
|
||||
searches (case insensitive) in format suitable for a given
|
||||
database.
|
||||
Abstract method, should be overriden by database specific code.
|
||||
Params: none
|
||||
Returns: formatted SQL for regular expression search (e.g. REGEXP)
|
||||
@ -1208,7 +1209,8 @@ formatted SQL command have prefix C<sql_>. All other methods have prefix C<bz_>.
|
||||
=item C<sql_not_regexp>
|
||||
|
||||
Description: Outputs SQL regular expression operator for negative POSIX
|
||||
regex searches in format suitable for a given database.
|
||||
regex searches (case insensitive) in format suitable for a given
|
||||
database.
|
||||
Abstract method, should be overriden by database specific code.
|
||||
Params: none
|
||||
Returns: formatted SQL for negative regular expression search
|
||||
|
||||
@ -87,11 +87,11 @@ sub bz_last_key {
|
||||
}
|
||||
|
||||
sub sql_regexp {
|
||||
return "~";
|
||||
return "~*";
|
||||
}
|
||||
|
||||
sub sql_not_regexp {
|
||||
return "!~"
|
||||
return "!~*"
|
||||
}
|
||||
|
||||
sub sql_limit {
|
||||
|
||||
@ -1000,10 +1000,10 @@ sub init {
|
||||
$term = $dbh->sql_position(lc($q), "LOWER($ff)") . " = 0";
|
||||
},
|
||||
",regexp" => sub {
|
||||
$term = "LOWER($ff) " . $dbh->sql_regexp() . " $q";
|
||||
$term = "$ff " . $dbh->sql_regexp() . " $q";
|
||||
},
|
||||
",notregexp" => sub {
|
||||
$term = "LOWER($ff) " . $dbh->sql_not_regexp() . " $q";
|
||||
$term = "$ff " . $dbh->sql_not_regexp() . " $q";
|
||||
},
|
||||
",lessthan" => sub {
|
||||
$term = "$ff < $q";
|
||||
@ -1506,7 +1506,7 @@ sub GetByWordList {
|
||||
$word =~ s/^'//;
|
||||
$word =~ s/'$//;
|
||||
$word = '(^|[^a-z0-9])' . $word . '($|[^a-z0-9])';
|
||||
push(@list, "lower($field) " . $dbh->sql_regexp() . " '$word'");
|
||||
push(@list, "$field " . $dbh->sql_regexp() . " '$word'");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user