Re: Row pattern recognition

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: assam258@gmail.com
Cc: david.g.johnston@gmail.com, vik@postgresfriends.org, jacob.champion@enterprisedb.com, er@xs4all.nl, peter@eisentraut.org, pgsql-hackers@postgresql.org
Date: 2026-01-04T12:28:25Z
Lists: pgsql-hackers
Hi Henson,

>> Here do you have "ONE ROW PER MATCH" option of RPR in your mind? In my
>> understanding it's in MATCH_RECOGNIZE clause, but not in RPR in Window
>> clause. (ALL ROWS PER MATCH is not applicable either in RPR in
>> Window clause).
>>
>>
> You're absolutely right - thank you for the correction!
> 
> I'm currently exploring what this NFA structure could theoretically
> support, rather than strictly binding to the spec yet. Since I'm
> still learning from Oracle manuals and your code without access to
> the full SQL:2016 standard, I mixed up MATCH_RECOGNIZE syntax with
> Window clause RPR - sorry for the confusion!

No problem at all. MATCH_RECOGNIZE and Window clause RPR are quite
similar. In the mean time "Trino" manual maybe useful for you if you
don't have access to the SQL standard.
https://trino.io/docs/current/sql/pattern-recognition-in-window.html

Best regards,
--
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