BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4 - Mailing list pgsql-bugs

From Valentine Gogichashvili
Subject BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Date
Msg-id 201009051448.o85Em6WR088322@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5644
Logged by:          Valentine Gogichashvili
Email address:      valgog@gmail.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

pgsql-bugs by date:

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