BUG #4710: Bug with sql functions, when using INSERT.. RETURNING .. statment
The following bug has been logged online:
Bug reference: 4710
Logged by: Oleg
Email address: serovOv@gmail.com
PostgreSQL version: last stable
Operating system: CentOS
Description: Bug with sql functions, when using INSERT.. RETURNING ..
statment
Details:
Example:
CREATE TABLE test (id BIGINT);
CREATE OR REPLACE FUNCTION test(in_row test) RETURNS bigint AS
$body$
INSERT INTO test (SELECT $1.*) RETURNING id;
$body$
LANGUAGE 'sql';
WILL THROW:
ERROR: return type mismatch in function declared to return bigint
DETAIL: Function's final statement must be a SELECT.
CONTEXT: SQL function "test"
It is okey ?
"Oleg" <serovOv@gmail.com> writes:
CREATE TABLE test (id BIGINT);
CREATE OR REPLACE FUNCTION test(in_row test) RETURNS bigint AS
$body$
INSERT INTO test (SELECT $1.*) RETURNING id;
$body$
LANGUAGE 'sql';
WILL THROW:
ERROR: return type mismatch in function declared to return bigint
This is improved for 8.4.
http://archives.postgresql.org/pgsql-committers/2008-10/msg00295.php
regards, tom lane