Cast LOWER arguments explicitly to text to deal with LOWER(id) - throws an exception...
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 15 Feb 2009 18:53:56 +0000 (18:53 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 15 Feb 2009 18:53:56 +0000 (18:53 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12187 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index 4aa8539..1d28e18 100644 (file)
@@ -484,10 +484,10 @@ sub patron_search {
        # group 2 = phone, ident
        # group 3 = barcode
 
-       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};
@@ -563,8 +563,8 @@ sub patron_search {
 
        return undef if (!$select && !$card);
 
-       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 = '';