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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Valentine Gogichashvili <valgog(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Date: 2010-09-17 01:30:36
Message-ID: 13140.1284687036@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Wed, Sep 8, 2010 at 11:42 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2010-09-17 01:31:55 Re: BUG #5644: Selecting ROW() in variable with 9.0 not compatible with 8.4
Previous Message Robert Haas 2010-09-17 01:29:19 Re: BUG #5652: Optimizer does wrong thing with partitioned tables