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

Поиск
Список
Период
Сортировка
От Valentine Gogichashvili
Тема BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Дата
Msg-id 201009051448.o85Em6WR088322@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Michael Meskes
Дата:
Сообщение: Re: BUG #5643: ecpg program doesn't process WHENEVER NOT DATA FOUND
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4