From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | 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-07-03 02:15:02 |
Message-ID: | 2649715f-eff4-efe3-6a8d-7126a8624bc3@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On 2023-07-02 Su 18:13, Andres Freund wrote:
> Hi,
>
> On 2023-07-02 17:57:03 -0400, Tom Lane wrote:
>> Andres Freund<andres(at)anarazel(dot)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).
> Yea, I think that was a brainfart after too briefly skimming the code.
>
>
>>> 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.
> I don't have a good handle about how big it'd end up being in some of the less
> common workloads. I can imagine workloads with temp tables or such churning
> through a lot of default values - often the "keyed by value" approach will
> save the day, but I imagine not always.
The maximum number of entries in the table is the number of pg_attribute
rows with atthasmissing = true and attbyval = false. In practice I
suspect that's mostly going to be fairly low.
>
> .oO(Perhaps we need to add a boehm style GC ... No.)
>
> Perhaps we could defer resetting the cache to when we're not inside a
> procedure?
I'm kinda leaning towards Tom's suggestion to just make it
session-persistent.
>
> I kinda wonder if this isn't basically the start of a "string interning" style
> infrastructure, except for more types than just strings... I've wondered about
> having that quite a few times.
maybe.
cheers
andrew
--
Andrew Dunstan
EDB:https://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2023-07-03 02:26:12 | Re: BUG #18000: Access method used by matview can be dropped leaving broken matview |
Previous Message | Peter Geoghegan | 2023-07-03 01:06:56 | Re: BUG #18002: Duplicate entries of row possible even after having primary key |