backporting critical SQL fix for patron search
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 3 Oct 2007 17:22:26 +0000 (17:22 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 3 Oct 2007 17:22:26 +0000 (17:22 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@7856 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index 2234a27..cc1d3ec 100644 (file)
@@ -508,7 +508,7 @@ sub patron_search {
        my $clone_select = '';
        $clone_select = "JOIN (SELECT cu.id as id FROM $a_table ca ".
                           "JOIN $u_table cu ON (cu.mailing_address = ca.id OR cu.billing_address = ca.id) ".
-                          "WHERE $addr_where) AS clone USING (id)" if ($addr_where);
+                          "WHERE $addr_where) AS clone ON (clone.id = users.id)" if ($addr_where);
 
        my $select = '';
        if ($usr_where) {
@@ -533,7 +533,7 @@ sub patron_search {
        }
 
        if (!$ws_ou) {  # XXX This should be required!!
-               $ws_ou = actor::org_unit->search( { parent_ou => undef } )->[0]->id;
+               $ws_ou = actor::org_unit->search( { parent_ou => undef } )->next->id;
        }
 
        my $opt_in_join = '';
@@ -548,7 +548,7 @@ sub patron_search {
        $select = <<"   SQL";
                SELECT  DISTINCT $distinct_list
                  FROM  $u_table AS users
-                       JOIN ($select) AS search USING (id)
+                       JOIN ($select) AS search ON (search.id = users.id)
                        JOIN $descendants d ON (d.id = users.home_ou)
                        $opt_in_join
                        $clone_select