Re: get_constraint_index() and conindid

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-12-09T14:50:26Z
Lists: pgsql-hackers
On 2020-12-09 07:37, Michael Paquier wrote:
>>> Only thing I could think of is that it maybe could use a (small)
>>> comment in the message on that/why get_constraint_index is moved to
>>> utils/lsyscache from catalog/dependency, as that took me some time to
>>> understand.
>>
>> commit message could reasonably say that maybe, but I don't think we
>> need to memorialize it in a comment.  lsyscache.c *is* where one
>> would expect to find a simple catalog-field-fetch function like this.
>> The previous implementation was not that, so it didn't belong there.
> 
> Agreed.

Thanks, I committed it with an expanded commit message.

After further inspection, I'm not going to do anything about the nearby 
get_index_constraint() at this item.  The current implementation can use 
an index on pg_depend.  A scan of pg_constraint has no index available.



Commits

  1. Change get_constraint_index() to use pg_constraint.conindid