"Merlin Moncure" <mmoncure@gmail.com> writes:
> sure no problem. the prototypes you suggested are imo the way to go,
> with two small considerations:
> is it worth considering using the oid type instead of int4 since the
> 'locktag' fields are unsigned?
Hmm ... I was thinking it didn't matter, but on closer look, the
int4->oid cast is implicit while the oid->int4 one is only assignment.
So you'd need to write a cast to pass an OID if we declare the functions
as taking int4. But you'll need a cast anyway if you want to pass a
single OID to the int8-taking version (that's an assignment cast too).
The downside of declaring the functions to take OID is that people might
think they could *only* use OIDs, which isn't so, they can use any
int4-sized key they feel like.
Not seeing a strong reason one way or the other ... what do you think?
> also, the userlocks raised a warning if you tried to release a
> non-existing lock. should that stay or go?
That's in the core code I think, so it won't change.
regards, tom lane