Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-bugs by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group