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
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера