Re: Use LOCKMODE in parse_relation.c/.h

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-02-23T20:26:29Z
Lists: pgsql-hackers
On 19.02.26 10:03, Ashutosh Bapat wrote:
> On Wed, Feb 18, 2026 at 3:20 PM Peter Eisentraut <peter@eisentraut.org> wrote:
>>
>> There are a couple of comments in parse_relation.c
>>
>>   > Note: properly, lockmode should be declared LOCKMODE not int, but that
>>   > would require importing storage/lock.h into parse_relation.h.  Since
>>   > LOCKMODE is typedef'd as int anyway, that seems like overkill.
>>
>> but actually LOCKMODE has been in storage/lockdefs.h for a while,
>> which is intentionally a more narrow header.  So we can include that
>> one in parse_relation.h and just use LOCKMODE normally.
> 
> lockdefs.h is much younger (4eda0a64705763854225a29703b606692af50e77)
> than the comment (b153c0920960a6059b67969469166fb29c0105d7) mentioned
> above. The commit changed some #include "lock.h" to use lockdefs.h. I
> guess it didn't notice that parse_relation.h can use it because it
> didn't include lock.h and didn't define LOCKMODE. The change looks
> good to me.

committed




Commits

  1. Use LOCKMODE in parse_relation.c/.h

  2. Don't include low level locking code from frontend code.

  3. Add a bunch of new error location reports to parse-analysis error messages.