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-09-08 23:32:54
Message-ID: 20260909.083254.1114820008821748010.ishii@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Attached is v52 RPR patches. The v52 is basically just a rebased
version of v51, due to recent large revert[1], except some minor fixes
to resolve some compiler errors/warnings pointed out by CI.
v52 has been created against 86f7c82cf10.

[1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b1f106c80cbeb18d3a0219994d98a51a6eca8ede

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

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
v52-0001-Row-pattern-recognition-patch-for-raw-parser-v52.patch application/octet-stream 42.2 KB
v52-0002-Row-pattern-recognition-patch-parse-analysis.patch application/octet-stream 55.0 KB
v52-0003-Row-pattern-recognition-patch-rewriter.patch application/octet-stream 15.4 KB
v52-0004-Row-pattern-recognition-patch-planner.patch application/octet-stream 100.6 KB
v52-0005-Row-pattern-recognition-patch-executor-and-comma.patch application/octet-stream 184.9 KB
v52-0006-Row-pattern-recognition-patch-docs.patch application/octet-stream 105.4 KB
v52-0007-Row-pattern-recognition-patch-tests-SQL-data.patch application/octet-stream 669.6 KB
v52-0008-Row-pattern-recognition-patch-tests-expected.patch application/octet-stream 1.0 MB
v52-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 Michael Paquier 2026-09-08 23:35:03 Re: Improve error handling in test modules: test_extensible, test_bitmapset
Previous Message Michael Paquier 2026-09-08 23:28:06 Re: [PATCH] Report userid to PgBackendStatus for standalone backends