> The problem appears to be in the sorting of nulls, which is used by
> UNION ALL:
> test=> select null order by 1;
> ERROR: type id lookup of 0 failed
Hmm. And I've got trouble with the following when I assigned the type
"UNKNOWNOID" to the null fields:
postgres=> select null union select null;
ERROR: Unable to find an ordering operator '<' for type unknown.
Use an explicit ordering operator or modify the query.
With "UNION ALL" it works, since no sorting needs to happen:
postgres=> select null union all select null;
?column?
--------
(2 rows)
An additional problem is that the UNION parsing is done recursively, so
the routine which does the type matching does not see a list of all the
clauses all at once.
Any ideas?
- Tom