Re: Row pattern recognition

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: assam258@gmail.com
Cc: jian.universality@gmail.com, 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, pgsql-hackers@postgresql.org
Date: 2026-06-02T05:20:09Z
Lists: pgsql-hackers
Hi Henson,

> Hi all,
> 
> Resolved since the last post:
> 
>   D1. Single-row frame conformance, Subclause 6.10.2 -- Tatsuo's call [6]
>       was to reject. Both ROWS BETWEEN CURRENT ROW AND CURRENT ROW and
>       AND 0 FOLLOWING are now rejected (nocfbot-0025), which in turn
>       unblocks the held ExecRPRProcessRow change (nocfbot-0026).
> 
> Open decisions (repeated with context at the end):
> 
>   D2. The RPRContext consolidation -- Tatsuo's call as co-author;
>       non-blocking either way [4].
>   D3. The AST "absorption" rename -- Tatsuo's call [2].
> 
>   [1] Jian's review, round 1 (2026-05-26):
> 
> https://postgr.es/m/CACJufxH-DZePhbdJM=8nNYceQiSbbXXLTw54iLhxiynQ+4hbBA@mail.gmail.com
>   [2] my round-1 reply -- AST "absorption" rename deferred to Tatsuo (D3,
> 2026-05-27):
> 
> https://postgr.es/m/CAAAe_zDephfiDA_A3FN0hCymJRogEr=Rt3QoCTf4qMYDLk+xNA@mail.gmail.com
>   [3] Jian's review, round 2 (2026-05-28):
> 
> https://postgr.es/m/CACJufxGX17thWuEOq1tM5xbRHz2HXm1asooZC3GV25MYGmYqLQ@mail.gmail.com
>   [4] my round-2 reply -- RPRContext deferred to Tatsuo (D2, 2026-05-29):
> 
> https://postgr.es/m/CAAAe_zAH0MvP0TBmW3PTLeHjEpiyBz0473zJRM9pwLpseefMNw@mail.gmail.com
>   [5] single-row frame conformance question (D1, 2026-05-29):
> 
> https://postgr.es/m/CAAAe_zCbSU=dd-4qTL2QaBQwQ-cf51N_851a9Y5rOoz0wj0aXw@mail.gmail.com
>   [6] Tatsuo's reply -- reject single-row frames (D1 resolved, 2026-05-30):
> 
> https://postgr.es/m/20260530.114737.1416684464524168377.ishii@postgresql.org
>   [7] Jian's review, round 3 (2026-05-30):
> 
> https://postgr.es/m/CACJufxEsaU8GQ4yeXTWhAO8VjbrZTh5CpvUqz=4a3T0Cwz44pA@mail.gmail.com
> 
> Attached: the v47 feature series (v47-0001..0009) rebased onto current
> master, plus the incremental patch series carried on top of it.
> 
> Base:
> 
>   9a41b34a287  2026-05-26  doc:  add comma to UPDATE docs, for consistency
> 
> Unchanged -- rebase only (already posted; only rebased, no content change).
> Titles for reference:
> 
>   nocfbot-0001  Add DEFINE non-volatile baseline to rpr_integration B9
>   nocfbot-0002  Unify RPR DEFINE walkers and reject volatile callees

While looking into 0002, I noticed some minor ereport calling style
issues.

Recently we start to use the style:

		ereport(ERROR,
				errcode(ERRCODE_FEATURE_NOT_SUPPORTED),

Rather than (old style):

		ereport(ERROR,
				(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),

Grepping patches shows following results that hire the old style.

$ grep -n '(errcode' *|grep '+'
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1243:+				(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1248:+				(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1421:+								(errcode(ERRCODE_SYNTAX_ERROR),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1428:+								(errcode(ERRCODE_SYNTAX_ERROR),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1451:+							(errcode(ERRCODE_SYNTAX_ERROR),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1457:+							(errcode(ERRCODE_SYNTAX_ERROR),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1463:+							(errcode(ERRCODE_SYNTAX_ERROR),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1471:+						(errcode(ERRCODE_SYNTAX_ERROR),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1494:+							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
nocfbot-0002-Unify-RPR-DEFINE-walkers-and-reject-volatile-call.txt:1504:+							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
nocfbot-0025-Reject-single-row-window-frame-in-row-pattern-rec.txt:55:+						(errcode(ERRCODE_WINDOWING_ERROR),

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