]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Minor code review for tuple slot rewrite.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 6 Nov 2019 17:00:17 +0000 (12:00 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 6 Nov 2019 17:00:17 +0000 (12:00 -0500)
commit22e44e8dbcfe4b9f3c4189f07a2361c951d72514
tree09c1cded46155126cc09dbefa2788d23ff004e10
parentff43b3e88eceb94b3a2b2579e8510e4f3aedbe09
Minor code review for tuple slot rewrite.

Avoid creating transiently-inconsistent slot states where possible,
by not setting TTS_FLAG_SHOULDFREE until after the slot actually has
a free'able tuple pointer, and by making sure that we reset tts_nvalid
and related derived state before we replace the tuple contents.  This
would only matter if something were to examine the slot after we'd
suffered some kind of error (e.g. out of memory) while manipulating
the slot.  We typically don't do that, so these changes might just be
cosmetic --- but even if so, it seems like good future-proofing.

Also remove some redundant Asserts, and add a couple for consistency.

Back-patch to v12 where all this code was rewritten.

Discussion: https://postgr.es/m/16095-c3ff2e5283b8dba5@postgresql.org
src/backend/executor/execTuples.c
src/include/executor/tuptable.h