Re: BUG #17994: Invalidating relcache corrupts tupDesc inside ExecEvalFieldStoreDeForm()

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Andrew Dunstan <andrew@dunslane.net>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2023-07-02T21:57:03Z
Lists: pgsql-bugs
Andres Freund <andres@anarazel.de> writes:
> Isn't that going to break the assumption that the key is unique within a
> transaction?

Huh?  "abc" is "abc", no matter what.  At least if Andrew did what
I suggested (I didn't look at the patch yet).

> Separately, will this work correctly with procedures keeping values alive
> across transactions?

That might be an issue.  But couldn't we make this cache just live for
the life of the process?  It's unlikely to get large.

			regards, tom lane



Commits

  1. Cache by-reference missing values in a long lived context

  2. Fix order of operations in ExecEvalFieldStoreDeForm().