Re: Open 7.3 items: heap tuple header - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: Open 7.3 items: heap tuple header |
Date | |
Msg-id | 200208161625.g7GGPci21690@candle.pha.pa.us Whole thread Raw |
In response to | Re: Open 7.3 items: heap tuple header (Manfred Koizar <mkoi-pg@aon.at>) |
Responses |
Re: Open 7.3 items: heap tuple header
|
List | pgsql-hackers |
Manfred Koizar wrote: > On Fri, 16 Aug 2002 01:05:07 -0400 (EDT), Bruce Momjian > <pgman@candle.pha.pa.us> wrote: > > > > P O S T G R E S Q L > > > > 7 . 3 O P E N I T E M S > > > >improve macros in new tuple header code (Manfred) > > ISTM there's no consensus about what "improve" means. I tried to > start discussing this after my vacation, but apparently people had > better things to do. OK. > On Wed, 07 Aug 2002 16:16:14 +0200, I wrote ("Heap tuple header > issues"): > :. Transaction and command ids, performance > : > :I offered to provide cheaper versions of GetCmin and GetCmax to be > :used by the tqual routines. These version would reduce additional CPU > :work from two infomask compares to one. Is this still considered an > :issue? > > However, I don't think this would lead to any measurable difference. Yep. > :. Transaction and command ids, robustness > : > :I'm still of the opinion that putting *more* knowledge into the SetXxx > :macros is the way to go. The runaway INSERT bug could as well have > :been fixed by changing SetCmax to do nothing, if HEAP_XMAX_INVALID is > :set, and changing SetXmaxInvalid to set HEAP_XMAX_INVALID. Likewise I > :would change SetXmax to set HEAP_XMAX_INVALID, if xid == > :InvalidTransactionId, or reset it, if != (not sure about this). Same > :for SetXminInvalid and SetXmin. > > This is the main point of disagreement: Tom Lane wants lighter > macros, I want heavier macros. Which direction shall we go? Could you or Tom explain that in a way that others could understand. My guess is that you want the sanity checks in the macros, and Tom wants more of them in the main code? > :Further, I'll try to build a regression test using statement timeout > :to detect runaway INSERT/UPDATE (the so called "halloween" problem). > > This won't hurt anyway. I'll start working on this. > > BTW, my changes have been criticized with words like "vague unease", > "zero confidence", "very obviously not robust", "do not trust the > current code at all" etc., while from day one all my patches have > passed all regression tests. I totally agree with you here. You code has been great, and it did something (reduce tuple size) that no one else thought possible. > This makes me wonder whether there is > something wrong with the regression tests ... However, I should add that the regression tests test only a small subset of how the database has to operate. There are so many bizarre conditions that we can't test them all. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
pgsql-hackers by date: