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

From Tom Lane
Subject Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Date
Msg-id 13140.1284687036@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
List pgsql-bugs
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Sep 8, 2010 at 11:42 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>>  SELECT ROW(10, 'a') INTO b.b2; -- ok in 8.4 but fails in 9.0 [ERROR:
>>>  invalid input syntax for integer: "(10,a)"]

>>>  SELECT 100, 'a' INTO b.b2;   -- ok in 9.0 but fails in 8.4 [ERROR:  cannot assign non-composite value to a row
variable]

> If we know the types of everything, is it possible to make both cases work?

We don't know the types of everything at the point where the decision
needs to be made.  Even if we did, allowing both would be a klugy
unmaintainable mess IMO --- far more work than it's worth.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Robert Haas
Date:
Subject: Re: BUG #5652: Optimizer does wrong thing with partitioned tables
Next
From: Robert Haas
Date:
Subject: Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4