Обсуждение: trivial fix in fd.c

Поиск
Список
Период
Сортировка

trivial fix in fd.c

От
"Qingqing Zhou"
Дата:
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

От
Tom Lane
Дата:
"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

От
Bruce Momjian
Дата:
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. +