Re: Row pattern recognition

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: assam258@gmail.com
Cc: jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, vik@postgresfriends.org, er@xs4all.nl, peter@eisentraut.org, pgsql-hackers@postgresql.org
Date: 2026-01-15T08:25:52Z
Lists: pgsql-hackers
Hi Henson,

The merged v38 patch passed CI check:
https://cirrus-ci.com/github/postgresql-cfbot/postgresql/cf%2F4460

Congratulations!

>> Summary of changes:
> 
> Will check.

I have one question regaring your patch.

In update_reduced_frame():
+	hasLimitedFrame = (frameOptions & FRAMEOPTION_ROWS) &&
+					  !(frameOptions & FRAMEOPTION_END_UNBOUNDED_FOLLOWING);
+	if (hasLimitedFrame && winstate->endOffsetValue != 0)
+		frameOffset = DatumGetInt64(winstate->endOffsetValue);

frameOffset is a offset value n from "ROWS BETWEEN CURRENT ROW AND n FOLLOWING".
Later you use this here:

+	ctxFrameEnd = ctx->matchStartRow + frameOffset + 1;

So my question is, how do you ensure that ctxFrameEnd does not go
beyond the full window frame end?

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