Re: Row pattern recognition

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: assam258(at)gmail(dot)com, jian(dot)universality(at)gmail(dot)com
Cc: zsolt(dot)parragi(at)percona(dot)com, sjjang112233(at)gmail(dot)com, vik(at)postgresfriends(dot)org, er(at)xs4all(dot)nl, jacob(dot)champion(at)enterprisedb(dot)com, david(dot)g(dot)johnston(at)gmail(dot)com, peter(at)eisentraut(dot)org, li(dot)evan(dot)chao(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Row pattern recognition
Date: 2026-08-29 23:59:16
Message-ID: 20260830.085916.766912411854237650.ishii@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Attached is the v51 RPR patches. I created v51 based on v50[1] plus
nocfbot-[0-2]* patches in [2].

The series of patches are to implement the row pattern recognition
(SQL/RPR) feature. At present the implementation is a subset of
SQL/RPR (ISO/IEC 19075-2:2016). Namely, implementation of some
features of R020 (WINDOW clause). R010 (MATCH_RECOGNIZE) is out of the
scope of the patches.

Currently following features are implemented in the patches.

- PATTERN
- PATTERN regular expressions (+, *, ?)
alternation (|), grouping () , {n}, {n,}, {n,m}, {,m}
reluctant quantifiers (*? etc.),
Empty pattern ("PATTERN ()") are not permitted by the standard
Anchors (^, $) are not permitted in R020 by the standard
- DEFINE
- INITIAL
- AFTER MATCH SKIP TO PAST LAST ROW
- AFTER MATCH SKIP TO NEXT ROW
- Row pattern navigation (FIRST, LAST, PREV, NEXT and their compound forms)

Currently following features are not implemented in the patches.

- MEASURES
- Pattern variable name qualified column reference (e.g. A.price)
- SUBSET
- SEEK
- AFTER MATCH SKIP TO
- AFTER MATCH SKIP TO FIRST
- AFTER MATCH SKIP TO LAST
- PATTERN regular expression {- and -}
- PERMUTE
- CLASSIFIER

From v51 I have added Jian He as one of the authors. He has been
contributing tons of fixes and enhancements to the RPR patch code.
Thank you!

I also added SeongJun Shin as a reviewer. The credit should have
appeared in v50.

Author: Tatsuo Ishii <ishii(at)postgresql(dot)org>
Author: Henson Choi <assam258(at)gmail(dot)com>
Author: jian he <jian(dot)universality(at)gmail(dot)com>
Reviewed-by: Vik Fearing <vik(at)postgresfriends(dot)org>
Reviewed-by: Jacob Champion <jchampion(at)timescale(dot)com>
Reviewed-by: Peter Eisentraut <peter(at)eisentraut(dot)org>
Reviewed-by: NINGWEI CHEN <chen(at)sraoss(dot)co(dot)jp>
Reviewed-by: "David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Reviewed-by: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Reviewed-by: SungJun Jang <sjjang112233(at)gmail(dot)com>
Reviewed-by: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
Reviewed-by: SeongJun Shin <<shinsj4653(at)gmail(dot)com>

Discussion: https://postgr.es/m/20230625.210509.1276733411677577841.t-ishii%40sranhm.sra.co.jp

[1] https://www.postgresql.org/message-id/20260728.114746.1464988776774515403.ishii%40postgresql.org
[2] https://www.postgresql.org/message-id/CAAAe_zBEMn5DaqmCPZ-br51%3DorAJ3_HTOR%3DbHGmVDTggpMUYwA%40mail.gmail.com

Regards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp

Attachment Content-Type Size
v51-0001-Row-pattern-recognition-patch-for-raw-parser-v51.patch application/octet-stream 40.3 KB
v51-0002-Row-pattern-recognition-patch-parse-analysis.patch application/octet-stream 55.1 KB
v51-0003-Row-pattern-recognition-patch-rewriter.patch application/octet-stream 15.4 KB
v51-0004-Row-pattern-recognition-patch-planner.patch application/octet-stream 100.6 KB
v51-0005-Row-pattern-recognition-patch-executor-and-comma.patch application/octet-stream 184.9 KB
v51-0006-Row-pattern-recognition-patch-docs.patch application/octet-stream 105.4 KB
v51-0007-Row-pattern-recognition-patch-tests-SQL-data.patch application/octet-stream 669.7 KB
v51-0008-Row-pattern-recognition-patch-tests-expected.patch application/octet-stream 1.0 MB
v51-0009-Row-pattern-recognition-patch-typedefs.list.patch application/octet-stream 1.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sami Imseih 2026-08-30 01:02:53 Re: WAIT FOR command should do some query jumbling
Previous Message Zsolt Parragi 2026-08-29 21:36:14 Re: Offline data checksum changes can cause incorrect checksum state on standbys