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

Reply via email to