Backport r12187 from trunk: Cast LOWER arguments explicitly to text to deal with...
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 1 Mar 2009 01:03:03 +0000 (01:03 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 1 Mar 2009 01:03:03 +0000 (01:03 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4@12329 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm

index 0871160..0fc26f7 100644 (file)
@@ -461,10 +461,10 @@ sub patron_search {
        # group 1 = address
        # group 2 = phone, ident
 
-       my $usr = join ' AND ', map { "LOWER($_) ~ ?" } grep { ''.$$search{$_}{group} eq '0' } keys %$search;
+       my $usr = join ' AND ', map { "LOWER(CAST($_ AS text)) ~ ?" } grep { ''.$$search{$_}{group} eq '0' } keys %$search;
        my @usrv = map { "^$$search{$_}{value}" } grep { ''.$$search{$_}{group} eq '0' } keys %$search;
 
-       my $addr = join ' AND ', map { "LOWER($_) ~ ?" } grep { ''.$$search{$_}{group} eq '1' } keys %$search;
+       my $addr = join ' AND ', map { "LOWER(CAST($_ AS text)) ~ ?" } grep { ''.$$search{$_}{group} eq '1' } keys %$search;
        my @addrv = map { "^$$search{$_}{value}" } grep { ''.$$search{$_}{group} eq '1' } keys %$search;
 
        my $pv = $$search{phone}{value};
@@ -533,8 +533,8 @@ sub patron_search {
                return undef;
        }
 
-       my $order_by = join ', ', map { 'LOWER(users.'. (split / /,$_)[0] . ') ' . (split / /,$_)[1] } @$sort;
-       my $distinct_list = join ', ', map { 'LOWER(users.'. (split / /,$_)[0] . ')' } @$sort;
+       my $order_by = join ', ', map { 'LOWER(CAST(users.'. (split / /,$_)[0] . ' AS text)) ' . (split / /,$_)[1] } @$sort;
+       my $distinct_list = join ', ', map { 'LOWER(CAST(users.'. (split / /,$_)[0] . ' AS text))' } @$sort;
 
        if ($inactive) {
                $inactive = '';