From: | "Oleg Serov" <serovov(at)gmail(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Bug with FOR ... LOOP and composite types |
Date: | 2008-09-01 12:03:36 |
Message-ID: | cec7c6df0809010503y2d5bd66cua726d4dc853c716d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hello.
Seems there is an error when I try to use a table with one field - composite
type, when SELECT QUERY in FOR ... LOOP instruction returns empty result.
Here are steps to reproduce:
CREATE TYPE "t_type" AS (
"a" BIGINT
);
CREATE TABLE"t_table" (
"id" BIGINT NOT NULL,
"t" "t_type",
CONSTRAINT "t_table_pkey" PRIMARY KEY("id")
) WITH OIDS;
CREATE OR REPLACE FUNCTION "t_func" () RETURNS SETOF "t_table" AS
$body$
DECLARE
rec t_table%ROWTYPE;
BEGIN
FOR rec IN
SELECT *
FROM t_table
WHERE 1=0
LOOP
RETURN NEXT rec;
END LOOP;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
SELECT * FROM t_func()
Result:
ERROR: cannot assign non-composite value to a row variable
CONTEXT: PL/pgSQL function "t_func" line 4 at FOR over SELECT rows
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2008-09-01 12:48:49 | Re: Bug with FOR ... LOOP and composite types |
Previous Message | Russell Smith | 2008-09-01 11:48:30 | Re: libpq does not manage SSL callbacks properly when other libraries are involved. |