Thread: trivial fix in fd.c

trivial fix in fd.c

From
"Qingqing Zhou"
Date:
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? */




Re: trivial fix in fd.c

From
Tom Lane
Date:
"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

Re: trivial fix in fd.c

From
Bruce Momjian
Date:
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. +