BUG #7882: plperl poor error message

Lists: pgsql-bugs
From: jeff(dot)janes(at)gmail(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #7882: plperl poor error message
Date: 2013-02-14 21:45:56
Message-ID: E1U66cu-0004dL-Qg@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 7882
Logged by: Jeff Janes
Email address: jeff(dot)janes(at)gmail(dot)com
PostgreSQL version: 9.2.3
Operating system: Linux
Description:

If plperl.on_init attempts to load a module which does not exist, then
attempts to use plperl give a reasonable error message upon first attempt,
but after that the error message is rather cryptic.

in postgresql.conf:

plperl.on_init='use Nonexistent::Module;'

CREATE OR REPLACE FUNCTION perlfunc(text) RETURNS text AS $BODY$ return
scalar reverse $_[0]; $BODY$ LANGUAGE plperl;

ERROR: Can't locate Nonexistent/Module.pm in @INC (@INC contains: ... .)
at -e line 98.
BEGIN failed--compilation aborted
CONTEXT: while parsing Perl initialization

Upon a second attempt, the error becomes much less useful:

CREATE OR REPLACE FUNCTION perlfunc(text) RETURNS text AS $BODY$ return
scalar reverse $_[0]; $BODY$ LANGUAGE plperl;

ERROR: attempt to redefine parameter "plperl.use_strict"