Обсуждение: ROW or RANGE not optional in range specification

Поиск
Список
Период
Сортировка

ROW or RANGE not optional in range specification

От
"David G. Johnston"
Дата:

Either I'm confused about the syntax description rules or the documentation for this aspect of window definitions is wrong.

The expression:

[ RANGE | ROWS ]  BETWEEN frame_start AND frame_end

means that the specification of range or rows is optional - but that doesn't appear to be the case...

The documentation should read:

{ RANGE | ROWS } BETWEEN frame_start AND frame_end

Same goes for the bare frame_start specification preceding the between version.

The bare version looks funny without tag but "ORDER BY idx BETWEEN 5 PRECEDING AND CURRENT ROW" isn't obviously wrong until you get a syntax error...

David J.

Re: ROW or RANGE not optional in range specification

От
Tom Lane
Дата:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> Either I'm confused about the syntax description rules or the documentation
> for this aspect of window definitions is wrong.

> The expression:

> [ RANGE | ROWS ]  BETWEEN frame_start AND frame_end

> means that the specification of range or rows is optional - but that
> doesn't appear to be the case...

> The documentation should read:

> { RANGE | ROWS } BETWEEN frame_start AND frame_end

Yup, you're right.  Thanks for spotting that!

            regards, tom lane