Re: Minor lmgr code cleanup - Mailing list pgsql-patches

From Manfred Koizar
Subject Re: Minor lmgr code cleanup
Date
Msg-id p3drlv00pghjgilm46r9l8q84jbfc8neot@email.aon.at
Whole thread Raw
In response to Re: Minor lmgr code cleanup  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Minor lmgr code cleanup
Re: Minor lmgr code cleanup
List pgsql-patches
On Mon, 8 Sep 2003 13:02:11 -0400 (EDT), Bruce Momjian
<pgman@candle.pha.pa.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

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: ISO 8601 "Time Intervals" of the "format with time-unit deignators"
Next
From: Bruce Momjian
Date:
Subject: Re: Minor lmgr code cleanup