From: | Christian Schröder <cs(at)deriva(dot)de> |
---|---|
To: | PostgreSQL <pgsql-general(at)postgresql(dot)org> |
Subject: | SPI_ERROR_CONNECT in plperl function |
Date: | 2009-01-04 20:18:27 |
Message-ID: | 49611993.9050605@deriva.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi list,
I have found the following problem: I have declared a domain datatype
with a check constraint. The check constraint uses a plpgsql function:
CREATE FUNCTION domain_ok(value integer) RETURNS boolean AS $$
BEGIN
RETURN value > 0;
END;
$$ LANGUAGE plpgsql;
CREATE DOMAIN testdomain integer CHECK (domain_ok(value));
I then wrote a plperl function that returns a set of this domain type:
CREATE FUNCTION testfunc() RETURNS SETOF testdomain AS $$
return_next(42);
return undef;
$$ LANGUAGE plperl;
When I try to call the function I get the following error message:
test=# select * from testfunc();
ERROR: error from Perl function: SPI_connect failed: SPI_ERROR_CONNECT
at line 2.
The problem goes away if I declare the testfunc to return an integer.
Even a domain with a "normal" check constraint (i.e. without one that
calls another function) does not cause this error.
Is this a known bug? Or do I miss something?
Regards,
Christian
--
Deriva GmbH Tel.: +49 551 489500-42
Financial IT and Consulting Fax: +49 551 489500-91
Hans-Böckler-Straße 2 http://www.deriva.de
D-37079 Göttingen
Deriva CA Certificate: http://www.deriva.de/deriva-ca.cer
From | Date | Subject | |
---|---|---|---|
Next Message | Gregory Stark | 2009-01-04 20:47:30 | Re: What determines the cost of an index scan? |
Previous Message | Martin Gainty | 2009-01-04 16:59:55 | Re: What determines the cost of an index scan? |