Thread

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix bugs with degenerate window ORDER BY clauses in GROUPS/RANGE mode.

  1. BUG #15262: "unexpected end of tuplestore" error when using new GROUPS window function clause

    PG Bug reporting form <noreply@postgresql.org> — 2018-07-06T09:04:46Z

    The following bug has been logged on the website:
    
    Bug reference:      15262
    Logged by:          Lukas Eder
    Email address:      lukas.eder@gmail.com
    PostgreSQL version: 11beta2
    Operating system:   Debian 6.3.0-18+deb9u1
    Description:        
    
    This error can be reproduced easily as follows
    
      postgres=# SELECT count(*) OVER (GROUPS 1 PRECEDING) FROM (VALUES (1),
    (2), (2)) t(v);
      ERROR:  unexpected end of tuplestore
    
    Notice the missing ORDER BY clause in the window specification. This works
    as expected:
    
      postgres=# SELECT count(*) OVER (ORDER BY v GROUPS 1 PRECEDING) FROM
    (VALUES (1), (2), (2)) t(v);
       count
      -------
           1
           3
           3
      (3 rows)
    
    I used the latest 11 beta 2 version on Docker:
    
      postgres=# select version();
                                                                       version
     
    -----------------------------------------------------------------------------------------------------------------------------------------
       PostgreSQL 11beta2 (Debian 11~beta2-1.pgdg90+1) on x86_64-pc-linux-gnu,
    compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
      (1 row)
    
    
  2. Re: BUG #15262: "unexpected end of tuplestore" error when using new GROUPS window function clause

    Tom Lane <tgl@sss.pgh.pa.us> — 2018-07-09T22:29:34Z

    =?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes:
    > This error can be reproduced easily as follows
    
    >   postgres=# SELECT count(*) OVER (GROUPS 1 PRECEDING) FROM (VALUES (1),
    > (2), (2)) t(v);
    >   ERROR:  unexpected end of tuplestore
    
    In an assert-enabled build I get an assert failure from this.  I think
    this is the same problem Masahiko Sawada noted in
    
    https://www.postgresql.org/message-id/CAD21AoDrWqycq-w_+Bx1cjc+YUhZ11XTj9rfxNiNDojjBx8Fjw@mail.gmail.com
    
    and as in that thread, I think what we really should be doing here is
    giving a parse error.  What would you expect GROUPS mode to do without
    an ORDER BY to define the grouping?
    
    			regards, tom lane
    
    
    
  3. Re: BUG #15262: "unexpected end of tuplestore" error when using new GROUPS window function clause

    Lukas Eder <lukas.eder@gmail.com> — 2018-07-10T07:29:51Z

    Am Di., 10. Juli 2018 um 00:29 Uhr schrieb Tom Lane <tgl@sss.pgh.pa.us>:
    
    > I think what we really should be doing here is giving a parse error.
    
    
    Yes, I agree. That's also what the SQL standard says.
    
    ISO/IEC 9075-2:2016(E)
    7.15 <window clause>
    13 c) If GROUPS is specified, then:
    i) Either WDEF shall contain a <window order clause>, or WDEF shall specify
    an <existing window name> that identifies a window structure descriptor
    that includes a window ordering clause.
    
    
    > What would you expect GROUPS mode to do without an ORDER BY to define the
    > grouping?
    
    
    I had no expectations, was just playing around with the new syntax.