Re: generate syscache info automatically

John Naylor <john.naylor@enterprisedb.com>

From: John Naylor <john.naylor@enterprisedb.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-09-01T11:31:14Z
Lists: pgsql-hackers

Attachments

On Thu, Aug 31, 2023 at 6:23 PM Peter Eisentraut <peter@eisentraut.org>
wrote:

> Attached is an updated patch set.
>
> One win here is that the ObjectProperty lookup now uses a hash function
> instead of a linear search.  So hopefully the performance is better (to
> be confirmed) and it could now be used for things like [0].

+ # XXX This one neither, but if I add it to @skip, PerfectHash will fail.
(???)
+ #FIXME: AttributeRelationId

I took a quick look at this, and attached is the least invasive way to get
it working for now, which is to bump the table size slightly. The comment
says doing this isn't reliable, but it happens to work in this case.
Playing around with the functions is hit-or-miss, and when that fails,
somehow the larger table saves the day.

--
John Naylor
EDB: http://www.enterprisedb.com

Commits

  1. Generate syscache info from catalog files

  2. Fill in more of ObjectProperty

  3. Correct ObjectProperty entry for transforms

  4. genbki.pl: Factor out boilerplate generation

  5. Restructure DECLARE_INDEX arguments

  6. Update DECLARE_INDEX documentation

  7. Replace hardcoded switch in object_exists() with a lookup table.