expose_IndexSupportInitialize.patch
text/x-patch
Filename: expose_IndexSupportInitialize.patch
Type: text/x-patch
Part: 1
Message:
Fix for Index Advisor related hooks
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/backend/utils/cache/relcache.c | 1 | 9 |
| src/include/utils/relcache.h | 11 | 0 |
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 43549c2..f78503f 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -233,14 +233,6 @@ static TupleDesc GetPgIndexDescriptor(void); static void AttrDefaultFetch(Relation relation); static void CheckConstraintFetch(Relation relation); static List *insert_ordered_oid(List *list, Oid datum); -static void IndexSupportInitialize(oidvector *indclass, - Oid *indexOperator, - RegProcedure *indexSupport, - Oid *opFamily, - Oid *opcInType, - StrategyNumber maxStrategyNumber, - StrategyNumber maxSupportNumber, - AttrNumber maxAttributeNumber); static OpClassCacheEnt *LookupOpclassInfo(Oid operatorClassOid, StrategyNumber numStrats, StrategyNumber numSupport); @@ -1140,7 +1132,7 @@ RelationInitIndexAccessInfo(Relation relation) * those obtainable from the system catalog entries for the index and * access method. */ -static void +void IndexSupportInitialize(oidvector *indclass, Oid *indexOperator, RegProcedure *indexSupport, diff --git a/src/include/utils/relcache.h b/src/include/utils/relcache.h index 5314fc2..3984296 100644 --- a/src/include/utils/relcache.h +++ b/src/include/utils/relcache.h @@ -14,6 +14,7 @@ #ifndef RELCACHE_H #define RELCACHE_H +#include "access/skey.h" /* for StrategyNumber */ #include "access/tupdesc.h" #include "nodes/bitmapset.h" #include "nodes/pg_list.h" @@ -109,4 +110,14 @@ extern bool criticalRelcachesBuilt; /* should be used only by relcache.c and postinit.c */ extern bool criticalSharedRelcachesBuilt; +/* Exposed as a global for the benefit of Index Advisor. */ +extern void IndexSupportInitialize(oidvector *indclass, + Oid *indexOperator, + RegProcedure *indexSupport, + Oid *opFamily, + Oid *opcInType, + StrategyNumber maxStrategyNumber, + StrategyNumber maxSupportNumber, + AttrNumber maxAttributeNumber); + #endif /* RELCACHE_H */