Re: Row pattern recognition

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: assam258@gmail.com
Cc: jian.universality@gmail.com, pgsql-hackers@postgresql.org, zsolt.parragi@percona.com, sjjang112233@gmail.com, vik@postgresfriends.org, er@xs4all.nl, jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, peter@eisentraut.org, li.evan.chao@gmail.com
Date: 2026-06-26T02:32:16Z
Lists: pgsql-hackers
Hi Henson,

> Hi all,
> 
> A quick heads-up for this thread, cross-referenced from another one.
> 
> Haibo Yan has a patch series adding DISTINCT support to plain aggregate
> window functions [1]. As it touches window-aggregate frame handling, I
> applied it on top of the current RPR patch set and built the two together.
> They combine cleanly today: no rebase conflict, and the regression tests
> pass with no change to code or tests.
> 
> This is structural, not luck. RPR requires the frame to start at CURRENT
> ROW, while that feature requires UNBOUNDED PRECEDING, so a single window can
> satisfy at most one of them -- no overlap.
> 
> That said, the DISTINCT roadmap plans to relax its UNBOUNDED-PRECEDING
> restriction (the sliding-frame patches), while RPR's CURRENT-ROW requirement
> is fixed by the standard. So as those frame restrictions are lifted the two
> could start to overlap, and at that point we'd likely need to review the
> related frame-handling changes together. Nothing to act on now -- just
> flagging it so we keep an eye on it.
> 
> Full review of the DISTINCT series is in the other thread [1].
> 
> [1]
> https://www.postgresql.org/message-id/CAAAe_zCfVbNrOUF5FaE38EcwYbtXacThR9xdVe2UJJPeDSL2KA@mail.gmail.com

Thanks for letting know us!
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Adjust cross-version upgrade tests for seg_out() fix

  2. Rationalize error comments in partition split/merge tests

  3. Add fast path for foreign key constraint checks

  4. Fix assorted pretty-trivial memory leaks in the backend.

  5. Add temporal FOREIGN KEY contraints

  6. Add trailing commas to enum definitions

  7. Remove obsolete executor cleanup code