Re: BUG #5974: UNION construct type cast gives poor error message - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5974: UNION construct type cast gives poor error message
Date
Msg-id 11920.1302727156@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #5974: UNION construct type cast gives poor error message  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Responses Re: BUG #5974: UNION construct type cast gives poor error message  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
List pgsql-bugs
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> From my perspective the "right" answer is to be able to resolve two
> unknown types to unknown rather than text in a few places where we
> are currently compelled to assign a concrete type.

Well, it's not so easy as that.  Consider

    select '1' union select '1 ';

How many rows does that produce?  You cannot answer without imputing a
data type to the columns.  "text" will give a different answer than
"integer" or "bpchar".

It's possible that we could make UNION ALL act differently from all
other set-operations, and refrain from resolving a type for the single
case of UNION ALL; but I can't say that I care for that idea, or see any
support for it in the standard.  AFAICS the standard says that output
data types are to be resolved in the same way for all set operations.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: BUG #5974: UNION construct type cast gives poor error message
Next
From: "Paul Deschamps"
Date:
Subject: BUG #5978: Running postgress in a shell script fails