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

PG Bug reporting form <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: lukas.eder@gmail.com
Date: 2018-07-06T09:04:46Z
Lists: pgsql-bugs

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.

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)