BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4

From: "Valentine Gogichashvili" <valgog(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Date: 2010-09-05 14:48:06
Message-ID: 201009051448.o85Em6WR088322@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5644
Logged by: Valentine Gogichashvili
Email address: valgog(at)gmail(dot)com
PostgreSQL version: 9.0RC1
Operating system: linux
Description: Selecting ROW() in variable with 9.0 not compatible with
8.4
Details:

After migration to 9.0RC1 some stored procedures, working ok in 8.4 does not
work in 9.0.

The problem is that SELECT ROW(a,b,c) INTO var does not work any longer in
9.0.

For example:

BEGIN;

CREATE TYPE ta AS (a1 integer, a2 text);
CREATE TYPE tb AS (b1 integer, b2 ta);

DO $DOIT$

DECLARE
a ta;
b tb;
BEGIN

SELECT 1, 'a' INTO a; -- ok
RAISE INFO 'a is %', a;

SELECT ROW(1, 'a') INTO a; -- ok in 8.4 but fails in 9.0
RAISE INFO 'a is %', a;


SELECT 1, 'a' INTO b.b2; -- ok
RAISE INFO 'b is %', b;

END;

$DOIT$;

ROLLBACK;

With best regards,

-- Valentine Gogichashvili

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2010-09-05 15:27:27 Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Previous Message Michael Meskes 2010-09-05 09:00:23 Re: BUG #5643: ecpg program doesn't process WHENEVER NOT DATA FOUND