Re: Row pattern recognition

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: assam258@gmail.com
Cc: vik@postgresfriends.org, er@xs4all.nl, jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, peter@eisentraut.org, pgsql-hackers@postgresql.org
Date: 2026-03-02T00:46:32Z
Lists: pgsql-hackers
Hi Henson,

> Hi Tatsuo,
> 
> Attached are two more incremental patches (nocfbot-0011, nocfbot-0012)
> on top of v43, continuing the nocfbot-0001..0010 series.
> 
> nocfbot-0011: Add RPR DEFINE expression cost to WindowAgg cost estimation
> 
>   Revised version of your cost estimation patch [1].  Fixes the
>   `(char *)` cast and moves DEFINE cost outside the windowFuncs loop.
> 
> nocfbot-0012: Reject qualified column references in RPR DEFINE clause
> 
>   Revised version of your qualified column reference patch [2].
>   Exposes `patternVarNames` via `ParseState.p_rpr_pattern_vars` to
>   distinguish pattern variable qualifiers ("not supported") from
>   FROM-clause range variable qualifiers ("not allowed").
> 
>   Variables appearing only in DEFINE (not in PATTERN) are also
>   collected into `p_rpr_pattern_vars` so they get the "not supported"
>   message, but the RPR_VARID_MAX count check still applies only to
>   PATTERN variables.
> 
> [1]
> https://www.postgresql.org/message-id/20260227.225456.33226875991025537.ishii@postgresql.org
> [2]
> https://www.postgresql.org/message-id/20260227.145539.1921177948671828231.ishii@postgresql.org
> 
> Attachment:
>   nocfbot-0011-define-cost.txt
>   nocfbot-0012-qualified-refs.txt

Thanks. I will try them out. Once they look good, shall I release v44
patch sets? Or do you have a plan to add more patches?

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