Home > Archive > PostgreSQL Bugs > June 2005 > BUG #1702: Function returning nested composite types









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author BUG #1702: Function returning nested composite types
Jan Behrens

2005-06-05, 11:23 am


The following bug has been logged online:

Bug reference: 1702
Logged by: Jan Behrens
Email address: jan@monso.de
PostgreSQL version: 8.0.3
Operating system: NetBSD
Description: Function returning nested composite types
Details:

Following input:

CREATE TYPE test1 AS (a text, b text);
CREATE TYPE test2 AS (c test1, d test1);

CREATE FUNCTION test3 () RETURNS test2
LANGUAGE 'plpgsql' AS $$
DECLARE
result test2;
BEGIN
result := ROW (ROW ('1', '2'), ROW ('3', '4'));
RETURN result;
END; $$;

SELECT * FROM test3();


generates the following error:

ERROR: row not compatible with its own tupdesc
CONTEXT: PL/pgSQL function "test3" line 5 at return


I assume this is a bug, because the source code says:

if (estate->retval == (Datum) NULL)
/* should not happen */
elog(ERROR,
"row not compatible with its own tupdesc");
[...]
if (tup == NULL) /* should not happen */
elog(ERROR,
"row not compatible with its own tupdesc");

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com