Re: Row pattern recognition

Henson Choi <assam258@gmail.com>

From: Henson Choi <assam258@gmail.com>
To: Tatsuo Ishii <ishii@postgresql.org>, andres@anarazel.de
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-04T23:24:05Z
Lists: pgsql-hackers
> Henson,
> Do you have any idea?

Let me be honest about this one.

I think the root issue is that none of us working on the patch has
enough confidence -- enough real control -- over the tuple slot and JIT
side of it. I wrote the code, it ran fine for me, and I assumed that
meant it was fine; but I have never felt that I fully understand and
control that area. So I cannot point to a specific cause with confidence
yet, and I would rather say that plainly than guess.

One practical note: there have been no tuple slot or JIT changes in the
patch since v47, and none are planned. So that part has been stable, and
reviewing the tuple slot / JIT code against v47 is perfectly viable --
there is no need to wait for a newer revision to look at that area.

What I think would genuinely harden the patch is for someone who knows
tuple slots and JIT well to review -- or rewrite -- that part. I would
very much welcome that, and I am happy to provide the design direction
behind the current code, or any other information a reviewer would need.

To be fair, the same caveat applies to the existing planner code the
patch builds on. I feel I have a reasonable grip on the rest of the
patch, but not on those two areas.

I will keep digging on my side (trying to reproduce the JIT crash with
JIT forced on against the current versions), and report back with
anything concrete I find.

Regards,
Henson

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