Patch applied. Thanks. ---------------------------------------------------------------------------
Qingqing Zhou wrote: > > "Tom Lane" <[EMAIL PROTECTED]> writes > > > > WARNING: relation "t1" page 196 is uninitialized --- fixing > > TRAP: FailedAssertion("!((((PageHeader) ((PageHeader) > pageHeader))->pd_upper == 0))", File: "hio.c", Line: 263) > > LOG: server process (PID 11296) was terminated by signal 6 > > > > Inspired by this, can we put an asseration here: > > --- > /* > * lookup the buffer. IO_IN_PROGRESS is set if the requested > * block is not currently in memory. > */ > bufHdr = BufferAlloc(reln, blockNum, &found); > > + /* we are guaranted that nobody else has touched this will-be-new block */ > + Assert(!(found && isExtend)); > > if (found) > BufferHitCount++; > --- > > BufferAlloc() consists of two parts, one is looking for the blockNum, the > other is allocating a free buffer. If the asseration is good, then for > "isExtend", we just need the second part. This could bring marginal > performance benefits. > > > Regards, > Qingqing > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org > -- 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, Pennsylvania 19073
Index: src/backend/storage/buffer/bufmgr.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v retrieving revision 1.193 diff -c -c -r1.193 bufmgr.c *** src/backend/storage/buffer/bufmgr.c 12 Aug 2005 05:05:50 -0000 1.193 --- src/backend/storage/buffer/bufmgr.c 12 Aug 2005 21:40:41 -0000 *************** *** 153,158 **** --- 153,160 ---- * block is not currently in memory. */ bufHdr = BufferAlloc(reln, blockNum, &found); + /* we are guaranted that nobody else has touched this will-be-new block */ + Assert(!(found && isExtend)); if (found) BufferHitCount++; }
---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend