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-02T05:18:23Z
Lists: pgsql-hackers

Attachments

>> 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?
> 
> The NFA executor code looks stable to me at this point. I do have some
> additional optimization ideas around absorption, but I think it's better
> new features should be added more carefully, or deferred until after the
> commit.
> 
> Please go ahead and release v44. Having a fresh patch set will also
> make it easier to proceed with the next round of test modifications
> and improvements.

Your patches look good. Attached are the v44 pathes, with minor fixes
to docs (mention that reluctant quantifiers are supported, exclusion
and empty PATTERN are not supported). Also makes clear the range of n
and m in {n, m} and other regular expression.

---- Major differences from v43 patches ----

- Implement reluctant quantifiers

- Disallow using PREV()/NEXT() in other than the DEFINE caluse

- Reject qualied column references in the DEFINE clause

- Fix explain test failures on 32bit platforms

- Fix and cleanup the NFA engine

- Fix docs that reluctant quantifiers are supported, exclusion and
  empty PATTERN are not supported.

- Some code refactorings

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