BUG #2539: PL/PgSQL doesn't disallow COPY commands on compile, even though it disallows them.

Started by David Fetterover 19 years ago3 messagesbugs
Jump to latest
#1David Fetter
david@fetter.org

The following bug has been logged online:

Bug reference: 2539
Logged by: David Fetter
Email address: david@fetter.org
PostgreSQL version: All
Operating system: Linux and OSX that I've tested
Description: PL/PgSQL doesn't disallow COPY commands on compile, even
though it disallows them.
Details:

Here's a repro:

davidfetter=> SHOW check_function_bodies ;
check_function_bodies
-----------------------
on
(1 row)

davidfetter=> CREATE OR REPLACE FUNCTION bad_func()
RETURNS VOID
LANGUAGE plpgsql
AS $$
BEGIN
CREATE TEMPORARY TABLE bad(i INTEGER) ON COMMIT DROP;
INSERT INTO bad
SELECT s.i FROM generate_series(1,10) AS s(i);
COPY bad TO stdout;
END;
$$;
CREATE FUNCTION
davidfetter=> select bad_func();
ERROR: SPI_execute_plan failed executing query "COPY bad TO stdout":
SPI_ERROR_COPY
CONTEXT: PL/pgSQL function "bad_func" line 5 at SQL statement

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: David Fetter (#1)
Re: BUG #2539: PL/PgSQL doesn't disallow COPY commands on compile, even though it disallows them.

"David Fetter" <david@fetter.org> writes:

Description: PL/PgSQL doesn't disallow COPY commands on compile, even
though it disallows them.

There are many many things that won't be checked until execution.
I can't get excited about this one.

regards, tom lane

#3David Fetter
david@fetter.org
In reply to: Tom Lane (#2)
Re: BUG #2539: PL/PgSQL doesn't disallow COPY commands on compile, even though it disallows them.

On Wed, Jul 19, 2006 at 07:02:15PM -0400, Tom Lane wrote:

"David Fetter" <david@fetter.org> writes:

Description: PL/PgSQL doesn't disallow COPY commands on
compile, even though it disallows them.

There are many many things that won't be checked until execution. I
can't get excited about this one.

I just wanted to get it in the queue, wherever it should be. :)

Cheers,
D
--
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!