Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> 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".
Well, if we were to assign both to type unknown initially, we would
clearly need to resolve that before execution, But I'm not
expecting that such execution would happen before analyzing the rest
of the query. If the above is on the left side of a union with
select 1;
the unknown could then be resolved to integer. I expect that all of
this should happen before any of the unions is *executed*. Perhaps
I'm arguing for the same thing you were, but just have my head
tilted at a different angle?
-Kevin