Improve the error message given for modifying a window with frame clause.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 3dd13108ac5f16723d87288c8633f8d347823304
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2013-11-06T02:58:23Z
Releases: 9.0.15
Improve the error message given for modifying a window with frame clause.

For rather inscrutable reasons, SQL:2008 disallows copying-and-modifying a
window definition that has any explicit framing clause.  The error message
we gave for this only made sense if the referencing window definition
itself contains an explicit framing clause, which it might well not.
Moreover, in the context of an OVER clause it's not exactly obvious that
"OVER (windowname)" implies copy-and-modify while "OVER windowname" does
not.  This has led to multiple complaints, eg bug #5199 from Iliya
Krapchatov.  Change to a hopefully more intelligible error message, and
in the case where we have just "OVER (windowname)", add a HINT suggesting
that omitting the parentheses will fix it.  Also improve the related
documentation.  Back-patch to all supported branches.

Files

PathChange+/−
doc/src/sgml/syntax.sgml modified +10 −11
src/backend/parser/parse_clause.c modified +26 −5