Re: Row pattern recognition

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: assam258@gmail.com
Cc: 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-05-02T04:38:28Z
Lists: pgsql-hackers
Hi Henson,

> I know in v47 JIT compilation supports PREV/NEXT. What about
>> FIRST/LAST and compound forms?
>>
> 
> Yes, those are JIT-compiled too in v47.
> 
> The JIT side only deals with two opcodes -- EEOP_RPR_NAV_SET
> and EEOP_RPR_NAV_RESTORE.
> 
> FIRST/LAST and the compound forms differ only in how
> ExecEvalRPRNavSet() computes target_pos for the slot swap;
> the opcode interface and the call into ExecEvalRPRNavSet /
> ExecEvalRPRNavRestore are unchanged.
> 
> So 0018's JIT support carries over to FIRST/LAST and
> compounds without any JIT-side change.

Ok, from user's point of view, PREV/NEXT/FIRST/LAST and compound forms
are all JIT-compiled. I will add it to the "major changes" section in
the v47 patches posting.

Regards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp