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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Andres Freund <andres(at)anarazel(dot)de>, exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17994: Invalidating relcache corrupts tupDesc inside ExecEvalFieldStoreDeForm()
Date: 2023-06-30 12:46:44
Message-ID: 1742513.1688129204@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> On 2023-06-29 Th 18:41, Tom Lane wrote:
>> Why not make the hash key be the value
>> itself? Wrap it in a bytea perhaps to avoid needing a bespoke
>> hash function.

> Not sure I understand.

Say the missingval for a particular column is text 'abc'.
We don't actually care which column it is, all we need is a
copy of that datum that will stay put for the rest of the
transaction. So I'm thinking that the lookup key for the
hash table should actually be the contents of the datum,
and we don't need to store anything else at all. (If we
happen to have two columns with the same missingval, they
can perfectly well share this hash entry.) Then there's
no question of invalidation, or at least the existing
invalidation mechanisms for tupdescs do all we need.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message ess.bee59 2023-06-30 13:19:02 BUG #18005: PSQL Process hangs in parallel mode / complement information
Previous Message Joe Conway 2023-06-30 12:13:10 Re: BUG #17946: LC_MONETARY & DO LANGUAGE plperl - BUG