Allow sibling call optimization in slot_getsomeattrs_int()

David Rowley <drowley@postgresql.org>

Commit: 4deecb52affa4b6f791e8a57f6584610e4dd12f4
Author: David Rowley <drowley@postgresql.org>
Date: 2026-03-14T00:52:09Z
Allow sibling call optimization in slot_getsomeattrs_int()

This changes the TupleTableSlotOps contract to make it so the
getsomeattrs() function is in charge of calling
slot_getmissingattrs().

Since this removes all code from slot_getsomeattrs_int() aside from the
getsomeattrs() call itself, we may as well adjust slot_getsomeattrs() so
that it calls getsomeattrs() directly.  We leave slot_getsomeattrs_int()
intact as this is still called from the JIT code.

Author: David Rowley <dgrowleyml@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Zsolt Parragi <zsolt.parragi@percona.com>
Discussion: https://postgr.es/m/CAApHDvodSVBj3ypOYbYUCJX%2BNWL%3DVZs63RNBQ_FxB_F%2B6QXF-A%40mail.gmail.com

Files

PathChange+/−
src/backend/executor/execTuples.c modified +30 −28
src/include/executor/tuptable.h modified +8 −5

Discussion