Alvaro Herrera wrote:
> Bruce Momjian wrote:
>
> > Here the column result is an expression, and you reference that.
> > Updated wording:
> >
> > test=> select * from test union select * from test order by x is null;
> > ERROR: A UNION/INTERSECT/EXCEPT ORDER BY cannot use expressions or
> > functions, only result column names
>
> This seems at odds with our message style guidelines. I'd suggest
> putting the actual error message in errmsg() and the rest as a errhint,
> maybe
>
> (errmsg("invalid UNION/INTERSECT/EXCEPT ORDER BY clause"),
> errhint("You may specify only output result column names in the ORDER BY
> clauses."))
>
> or something like that.
Updated wording:
test=> SELECT * FROM test UNION SELECT * FROM test ORDER BY X IS NULL;
ERROR: invalid UNION/INTERSECT/EXCEPT ORDER BY clause
DETAIL: Only result column names can be used, not expressions or functions.
HINT: Add the expression/function to every SELECT, or move the UNION into a
FROM clause.
--
Bruce Momjian [EMAIL PROTECTED]
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster