Thread: trivial fix in fd.c
Fix a format warning in fd.c when FDDEBUG is on. By the way (to save a thread): What's the rationale of designing resowner APIs like this: ResourceOwnerEnlargeABC(); ResourceOwnerRememberABC(); Is that because sometimes we don't allow any elog in ResourceOwnerRememberABC()? Regards, Qingqing Index: fd.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/backend/storage/file/fd.c,v retrieving revision 1.127 diff -c -r1.127 fd.c *** fd.c 5 Mar 2006 15:58:37 -0000 1.127 --- fd.c 22 May 2006 08:00:42 -0000 *************** *** 649,655 **** Index i; File file; ! DO_DB(elog(LOG, "AllocateVfd. Size %d", SizeVfdCache)); Assert(SizeVfdCache > 0); /* InitFileAccess not called? */ --- 649,655 ---- Index i; File file; ! DO_DB(elog(LOG, "AllocateVfd. Size %lu", SizeVfdCache)); Assert(SizeVfdCache > 0); /* InitFileAccess not called? */
"Qingqing Zhou" <zhouqq@cs.toronto.edu> writes: > What's the rationale of designing resowner > APIs like this: > ResourceOwnerEnlargeABC(); > ResourceOwnerRememberABC(); > Is that because sometimes we don't allow any elog in > ResourceOwnerRememberABC()? Yeah. In a number of cases, ResourceOwnerRememberABC is done after inserting the resource into some data structure, and an elog there would leave the data structure in an inconsistent state. Conversely, we might fail to insert the resource into the other data structure, so just inserting it into the resowner first isn't better. regards, tom lane
Patch applied. Thanks. --------------------------------------------------------------------------- Qingqing Zhou wrote: > Fix a format warning in fd.c when FDDEBUG is on. > > By the way (to save a thread): What's the rationale of designing resowner > APIs like this: > > ResourceOwnerEnlargeABC(); > ResourceOwnerRememberABC(); > > Is that because sometimes we don't allow any elog in > ResourceOwnerRememberABC()? > > Regards, > Qingqing > > > Index: fd.c > =================================================================== > RCS file: /projects/cvsroot/pgsql/src/backend/storage/file/fd.c,v > retrieving revision 1.127 > diff -c -r1.127 fd.c > *** fd.c 5 Mar 2006 15:58:37 -0000 1.127 > --- fd.c 22 May 2006 08:00:42 -0000 > *************** > *** 649,655 **** > Index i; > File file; > > ! DO_DB(elog(LOG, "AllocateVfd. Size %d", SizeVfdCache)); > > Assert(SizeVfdCache > 0); /* InitFileAccess not called? */ > > --- 649,655 ---- > Index i; > File file; > > ! DO_DB(elog(LOG, "AllocateVfd. Size %lu", SizeVfdCache)); > > Assert(SizeVfdCache > 0); /* InitFileAccess not called? */ > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org > -- Bruce Momjian http://candle.pha.pa.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +