Re: BUG #17994: Invalidating relcache corrupts tupDesc inside ExecEvalFieldStoreDeForm()
От | Tom Lane |
---|---|
Тема | Re: BUG #17994: Invalidating relcache corrupts tupDesc inside ExecEvalFieldStoreDeForm() |
Дата | |
Msg-id | 1509402.1688048784@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: BUG #17994: Invalidating relcache corrupts tupDesc inside ExecEvalFieldStoreDeForm() (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: BUG #17994: Invalidating relcache corrupts tupDesc inside ExecEvalFieldStoreDeForm()
|
Список | pgsql-bugs |
Andrew Dunstan <andrew@dunslane.net> writes: > After (not) sleeping on this overnight, and discussing it with a > colleague this morning, here's a suggestion. We have a hash table, keyed > by (tdtypeid, attnum) where we store a datumCopy'd version of the value. > If it's present just return the value instead of getting it from the > tupdesc. The hash table is blown away at the end of the transaction. > Assuming that's workable I think it would not be a large patch. That sounds possibly workable. I'm a bit concerned about added overhead, and about whether the hashtable needs invalidation support. It might be better to key it off (relfilenode, attnum). > My colleague did ask if we had live reproducible case. I have not attempted to build one, but it'd probably be fairly easy to do if you turn on debug_discard_caches. regards, tom lane
В списке pgsql-bugs по дате отправления: