Re: Phantom command ids again
От | Heikki Linnakangas |
---|---|
Тема | Re: Phantom command ids again |
Дата | |
Msg-id | 45BE1886.9090103@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Phantom command ids again (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Tom Lane wrote: > Heikki Linnakangas <heikki@enterprisedb.com> writes: >> I was about to resubmit the phantom command ids patch for review, as I >> noticed a little problem. > >> In fmgr.c in record_C_func, we cache the xmin and cmin, and later in >> lookup_C_func we check that they match to determine if the cached >> information is still valid. With phantom command ids, the cmin is not >> valid outside the inserting transaction, which makes it unusable for >> that purpose. > > I think that actually that's just belt-and-suspenders programming; > it should be sufficient to compare tuple TID and xmin. AFAICS a single > transaction cannot fill the same TID twice, since VACUUM would never > dare remove a tuple entered by a still-in-progress transaction. So the > cmin check doesn't seem necessary. We don't currently use tid in the up-to-dateness check. Just Oid, xmin and cmin. Good point, tid would work. I'll change it do that in the patch. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: