pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Erik Rijkers <er@xs4all.nl>
To: Oliver Ford <ojford@gmail.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Subject: Re: Add RANGE with values and exclusions clauses to the Window Functions
Date: Mon, 27 Nov 2017 17:40:08 +0100
Message-ID: <2c084c1c2bf599ceb2afa87874de8bc1@xs4all.nl> (raw)
In-Reply-To: <bc8a1d397fa81d6ae33c297d0224184b@xs4all.nl>
References: <CAGMVOdu9sivPAxbNN0X+q19Sfv9edEPv=HibOJhB14TJv_RCQg@mail.gmail.com>
	<b2374b9461c349b17b50c77f3a70e1a1@xs4all.nl>
	<CAGMVOdsopg5ZAuJh9+ceq-s0pU2qqZsZn-jbL4A1c=h1iWaZVA@mail.gmail.com>
	<CAGMVOdvrZCwJg0BngM9GMO+LK=j20vhSfdk1gTTBNNH311Vgsw@mail.gmail.com>
	<bc8a1d397fa81d6ae33c297d0224184b@xs4all.nl>

On 2017-11-27 17:34, Erik Rijkers wrote:
> On 2017-11-27 16:01, Oliver Ford wrote:
>> Attached is it in bare diff form.
> 
> [0001-window-frame-v3.patch]
> 
> Thanks, that did indeed fix it:
> 
> make && make check  now  ok.
> 
> There were errors in the doc build (unmatched tags); I fixed them in
> the attached doc-patch (which should go on top of yours).

0001-window-frame-v3-fixtags.diff

now attached, I hope...

Attachments:

0001-window-frame-v3-fixtags.diff (text/x-diff, 4.1K) download --- doc/src/sgml/syntax.sgml.orig 2017-11-27 17:19:30.253810944 +0100 +++ doc/src/sgml/syntax.sgml 2017-11-27 17:20:55.515626931 +0100 @@ -1805,8 +1805,8 @@ and the optional <replaceable class="parameter">frame_clause</replaceable> can be one of <synopsis> -{ RANGE | ROWS } <replaceable>frame_start</> [ <replaceable class="parameter">frame_exclusion_clause</replaceable> ] -{ RANGE | ROWS } BETWEEN <replaceable>frame_start</> AND <replaceable>frame_end</> [ <replaceable class="parameter">frame_exclusion_clause</replaceable> ] +{ RANGE | ROWS } <replaceable>frame_start</replaceable> [ <replaceable class="parameter">frame_exclusion_clause</replaceable> ] +{ RANGE | ROWS } BETWEEN <replaceable>frame_start</replaceable> AND <replaceable>frame_end</replaceable> [ <replaceable class="parameter">frame_exclusion_clause</replaceable> ] </synopsis> where <replaceable>frame_start</replaceable> and <replaceable>frame_end</replaceable> can be one of @@ -1817,7 +1817,7 @@ <replaceable>value</replaceable> FOLLOWING UNBOUNDED FOLLOWING </synopsis> - where the optional <replaceable>frame_exclusion_clause</> can be one of + where the optional <replaceable>frame_exclusion_clause</replaceable> can be one of <synopsis> EXCLUDE CURRENT ROW EXCLUDE TIES @@ -1888,24 +1888,24 @@ <para> The <replaceable>value</replaceable> <literal>PRECEDING</literal> and - <replaceable>value</> <literal>FOLLOWING</> cases, when used - in <literal>ROWS</> mode, indicate that the frame starts or ends the specified - number of rows before or after the current row. In <literal>ROWS</> mode, - <replaceable>value</> must be an integer expression not containing any variables, + <replaceable>value</replaceable> <literal>FOLLOWING</literal> cases, when used + in <literal>ROWS</literal> mode, indicate that the frame starts or ends the specified + number of rows before or after the current row. In <literal>ROWS</literal> mode, + <replaceable>value</replaceable> must be an integer expression not containing any variables, aggregate functions, or window functions. - When used in <literal>RANGE</> mode, they indicate that the frame starts or ends when the value of - each row's ORDER BY column is within the start value and end value bounds. In <literal>RANGE</> mode, - <replaceable>value</> can be either an integer expression or a date/time interval. - In <literal>RANGE</> mode, there must be exactly one ORDER BY column and if the column is an integer column, - then <replaceable>value</> must be an integer. - If it is a date/time column, then <replaceable>value</> must be an interval. In both modes, + When used in <literal>RANGE</literal> mode, they indicate that the frame starts or ends when the value of + each row's ORDER BY column is within the start value and end value bounds. In <literal>RANGE</literal> mode, + <replaceable>value</replaceable> can be either an integer expression or a date/time interval. + In <literal>RANGE</literal> mode, there must be exactly one ORDER BY column and if the column is an integer column, + then <replaceable>value</replaceable> must be an integer. + If it is a date/time column, then <replaceable>value</replaceable> must be an interval. In both modes, the value must not be null or negative; but it can be zero, which just selects the current row. </para> <para> - For the <replaceable class="parameter">frame_exclusion_clause</replaceable>, <literal>EXCLUDE CURRENT ROW</> - excludes the current row from the frame. <literal>EXCLUDE TIES</> excludes any peers of the current row from the - frame. <literal>EXCLUDE NO OTHERS</> does nothing, but is provided in order to optionally document the intention + For the <replaceable class="parameter">frame_exclusion_clause</replaceable>, <literal>EXCLUDE CURRENT ROW</literal> + excludes the current row from the frame. <literal>EXCLUDE TIES</literal> excludes any peers of the current row from the + frame. <literal>EXCLUDE NO OTHERS</literal> does nothing, but is provided in order to optionally document the intention not to exclude any other rows. </para>

view thread (45+ messages)  latest in thread

Message-ID: <2c084c1c2bf599ceb2afa87874de8bc1@xs4all.nl>
Permalink:  ../2c084c1c2bf599ceb2afa87874de8bc1@xs4all.nl/
Also on:    postgresql.org/message-id/2c084c1c2bf599ceb2afa87874de8bc1@xs4all.nl

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: er@xs4all.nl, ojford@gmail.com
  Subject: Re: Add RANGE with values and exclusions clauses to the Window Functions
  In-Reply-To: <2c084c1c2bf599ceb2afa87874de8bc1@xs4all.nl>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox