From: | marko(at)joh(dot)to |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #8870: PL/PgSQL, SELECT .. INTO and the number of result columns |
Date: | 2014-01-18 23:25:09 |
Message-ID: | 20140118232509.26700.59523@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 8870
Logged by: Marko Tiikkaja
Email address: marko(at)joh(dot)to
PostgreSQL version: 9.3.2
Operating system: OS X
Description:
I looked more closely into a gripe from Stephen Frost, which lead me into
discovering this behaviour:
=# create function f() returns void as
-# $$declare
$# f1 int;
$# begin
$# select 1, 2 into f1;
$# end
$# $$ language plpgsql;
CREATE FUNCTION
=# select f();
f
---
(1 row)
Which directly contradicts this statement in the docs
(http://www.postgresql.org/docs/9.3/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-ONEROW)
"If a row or a variable list is used as target, the query's result columns
must exactly match the structure of the target as to number and data types,
or else a run-time error occurs."
This seems to have been broken by commit
8bb3c8fe5413103c30ba8d1bcb3a1f8e46bddf3d. I strongly believe the
documentation is right in this case, and the behaviour ought to change.
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2014-01-18 23:37:43 | Re: BUG #8870: PL/PgSQL, SELECT .. INTO and the number of result columns |
Previous Message | deadhead | 2014-01-18 23:08:59 | BUG #8869: ip4r93-1.05-3.rhel6 syntax error in ip4r.sql - LANGUAGE 'C' instead of LANGUAGE 'c' |