All of the index methods have their own synonyms of the BUFFER_LOCK_*
constants, for example:

#define GIN_SHARE       BUFFER_LOCK_SHARE
#define GIST_SHARE     BUFFER_LOCK_SHARE
#define HASH_READ      BUFFER_LOCK_SHARE
#define BT_READ           BUFFER_LOCK_SHARE

But most of them pass their constants directly to LockBuffer.  So if they
were ever defined to be anything else, things would fall apart pretty
comprehensively.  (Hash index also passes them to LockBuffer, but only
indirectly via some utility functions).

What does this pseudo-encapsulation get us?  It seems like we have a
separation of spelling, but no real separation of concerns.

Cheers,

Jeff

Reply via email to