From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Manfred Koizar <mkoi-pg(at)aon(dot)at> |
Cc: | pgsql-patches(at)postgresql(dot)org |
Subject: | Re: Minor lmgr code cleanup |
Date: | 2003-12-01 21:59:32 |
Message-ID: | 200312012159.hB1LxWw25499@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Patch applied. Thanks. That lock manager code really needed the cleanup.
---------------------------------------------------------------------------
Manfred Koizar wrote:
> On Mon, 8 Sep 2003 13:02:11 -0400 (EDT), Bruce Momjian
> <pgman(at)candle(dot)pha(dot)pa(dot)us> wrote:
> >
> >Manfred, can I get a description for this patch? Thanks.
>
> Try to reduce confusion about what is a lock method identifier, a lock
> method control structure, or a table of control structures.
>
> . Use type LOCKMASK where an int is not a counter.
>
> . Get rid of INVALID_TABLEID, use INVALID_LOCKMETHOD instead.
>
> . Use INVALID_LOCKMETHOD instead of (LOCKMETHOD) NULL, because
> LOCKMETHOD is not a pointer.
>
> . Define and use macro LockMethodIsValid.
>
> . Rename LOCKMETHOD to LOCKMETHODID.
>
> . Remove global variable LongTermTableId in lmgr.c, because it is
> never used.
>
> . Make LockTableId static in lmgr.c, because it is used nowhere else.
> Why not remove it and use DEFAULT_LOCKMETHOD?
>
> . Rename the lock method control structure from LOCKMETHODTABLE to
> LockMethodData. Introduce a pointer type named LockMethod.
>
> . Remove elog(FATAL) after InitLockTable() call in
> CreateSharedMemoryAndSemaphores(), because if something goes wrong,
> there is elog(FATAL) in LockMethodTableInit(), and if this doesn't
> help, an elog(ERROR) in InitLockTable() is promoted to FATAL.
>
> . Make InitLockTable() void, because its only caller does not use its
> return value any more.
>
> . Rename variables in lock.c to avoid statements like
> LockMethodTable[NumLockMethods] = lockMethodTable;
> lockMethodTable = LockMethodTable[lockmethod];
>
> . Change LOCKMETHODID type to uint16 to fit into struct LOCKTAG.
>
> . Remove static variables BITS_OFF and BITS_ON from lock.c, because
> I agree to this doubt:
> * XXX is a fetch from a static array really faster than a shift?
>
> . Define and use macros LOCKBIT_ON/OFF.
>
> ======================
> All 93 tests passed.
> ======================
>
> Servus
> Manfred
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2003-12-01 22:07:40 | Re: introduce "default_use_oids" |
Previous Message | Bruce Momjian | 2003-12-01 21:54:28 | Re: [PATCHES] Numeric version of factorial() |