[OPEN-ILS-DEV] Evergreen 1.404..Can't search for patrons, or get wierd Postgres error

Hunt, Phil hunt at nelinet.net
Thu Jun 11 16:31:24 EDT 2009


I finally figured out the proglems I was having with postgres 8.2

I added 2 patrons, 1 as a system admin, one as a std patron.  It showed
some relatively minor errors during the add, but I got 'User update
succeeded', the errors seen were like this:

Use of uninitialized value $p[0] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.
Use of uninitialized value $p[0] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.
Use of uninitialized value $p[0] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.
Use of uninitialized value $p[0] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.
Use of uninitialized value $p[0] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.
Use of uninitialized value $p[0] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.
Argument "1244750664.98621995.466378585992" isn't numeric in numeric ne
(!=) at /openils/lib/perl5/OpenILS/Application/Actor.pm line 505,
<STDIN> line 1.
Argument "1244750664.98621995.466378585992" isn't numeric in numeric ne
(!=) at /openils/lib/perl5/OpenILS/Application/Actor.pm line 505,
<STDIN> line 1.
Use of uninitialized value $p[2] in join or string at
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm line 118, <STDIN>
line1.



If I do a search by barcode, they lookup fine.

If I do a search for patron, using any patron fields, I get this in the
error log for actor...

Use of uninitialized value in hash element at
/openils/lib/perl5/OpenILS/Utils/CStoreEditor.pm line 193, <STDIN> line
1.
received error : service=open-ils.storage :
method=open-ils.storage.actor.user.crazy_search : params=$VAR1 =
[{'email' => {'group' => 0,'value' =>
'normal at nowhere.com'}},51,['family_name ASC','first_given_name
ASC','second_given_name ASC','dob DESC'],1,'4','2'];
 Exception: OpenSRF::EX::ERROR 2009-06-11T16:24:35
OpenILS::Application::AppUtils
/openils/lib/perl5/OpenILS/Application/AppUtils.pm:178 System ERROR:
Exception: OpenSRF::DomainObject::oilsMethodException
2009-06-11T16:24:35 OpenSRF::AppRequest
/usr/local/share/perl/5.10.0/OpenSRF/AppSession.pm:1009 <500>   *** Call
to [open-ils.storage.actor.user.crazy_search] failed for session
[1244751875.053172252.2513939484], thread trace [1]:
DBD::Pg::db selectcol_arrayref failed: ERROR:  more than one row
returned by a subquery used as an expression
CONTEXT:  SQL function "org_unit_descendants" statement 1 [for Statement
"              SELECT  DISTINCT LOWER(users.family_name),
LOWER(users.first_given_name), LOWER(users.second_given_name),
LOWER(users.dob), LOWER(users.id)
                  FROM  actor.usr AS users
                        JOIN (SELECT id as id FROM actor.usr u WHERE
LOWER(email) ~ ?) AS search ON (search.id = users.id)
                        JOIN actor.org_unit_descendants(4, 2) d ON (d.id
= users.home_ou)

                  WHERE users.deleted = FALSE
                  ORDER BY LOWER(users.family_name) ASC,
LOWER(users.first_given_name) ASC, LOWER(users.second_given_name) ASC,
LOWER(users.dob) DESC, LOWER(users.id) 
                  LIMIT 51
"] at /openils/lib/perl5/OpenILS/Application/Storage/Publisher/actor.pm
line 572.

Caught error from 'run' method: Exception: OpenSRF::EX::ERROR
2009-06-11T16:24:35 OpenSRF::Application
/usr/local/share/perl/5.10.0/OpenSRF/Application.pm:200 System ERROR:
Call to open-ils.storage for method
open-ils.storage.actor.user.crazy_search 
 failed with exception: Exception: OpenSRF::EX::ERROR
2009-06-11T16:24:35 OpenILS::Application::AppUtils
/openils/lib/perl5/OpenILS/Application/AppUtils.pm:179 System ERROR:
Exception: OpenSRF::DomainObject::oilsMethodException
2009-06-11T16:24:35 OpenSRF::AppRequest
/usr/local/share/perl/5.10.0/OpenSRF/AppSession.pm:1009 <500>   *** Call
to [open-ils.storage.actor.user.crazy_search] failed for session
[1244751875.053172252.2513939484], thread trace [1]:
DBD::Pg::db selectcol_arrayref failed: ERROR:  more than one row
returned by a subquery used as an expression
CONTEXT:  SQL function "org_unit_descendants" statement 1 [for Statement
"              SELECT  DISTINCT LOWER(users.family_name),
LOWER(users.first_given_name), LOWER(users.second_given_name),
LOWER(users.dob), LOWER(users.id)
                  FROM  actor.usr AS users
                        JOIN (SELECT id as id FROM actor.usr u WHERE
LOWER(email) ~ ?) AS search ON (search.id = users.id)
                        JOIN actor.org_unit_descendants(4, 2) d ON (d.id
= users.home_ou)

                  WHERE users.deleted = FALSE
                  ORDER BY LOWER(users.family_name) ASC,
LOWER(users.first_given_name) ASC, LOWER(users.second_given_name) ASC,
LOWER(users.dob) DESC, LOWER(users.id) 
                  LIMIT 51
"] at /openils/lib/perl5/OpenILS/Application/Storage/Publisher/actor.pm
line 572.

========================================
So the questions are, why do I see these errors during an add?

And 2) why does a simple lookup fail so badly....
 
Phil Hunt
Program Director, Information Technology
NELINET, Inc.
 
'   Direct Phone:  (508)597-1924
'    1.508.460.7700 x1924
6     FAX (508)460-9455
* hunt at NELINET.net
 



More information about the Open-ils-dev mailing list