From 0332d65ac4a1c843e1812755db1afc1b1109d0ea Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 6 Apr 2002 06:59:25 +0000 Subject: Implement partial-key searching of syscaches, per recent suggestion to pghackers. Use this to do searching for ambiguous functions --- it will get more uses soon. --- src/backend/utils/cache/syscache.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/backend/utils/cache/syscache.c') diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index 84cea0bb632..7e6a95a324e 100644 --- a/src/backend/utils/cache/syscache.c +++ b/src/backend/utils/cache/syscache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.73 2002/04/05 00:31:31 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.74 2002/04/06 06:59:23 tgl Exp $ * * NOTES * These routines allow the parser/planner/executor to perform @@ -626,3 +626,18 @@ SysCacheGetAttr(int cacheId, HeapTuple tup, SysCache[cacheId]->cc_tupdesc, isNull); } + +/* + * List-search interface + */ +struct catclist * +SearchSysCacheList(int cacheId, int nkeys, + Datum key1, Datum key2, Datum key3, Datum key4) +{ + if (cacheId < 0 || cacheId >= SysCacheSize || + ! PointerIsValid(SysCache[cacheId])) + elog(ERROR, "SearchSysCacheList: Bad cache id %d", cacheId); + + return SearchCatCacheList(SysCache[cacheId], nkeys, + key1, key2, key3, key4); +} -- cgit v1.2.3