diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-09-09 18:58:09 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-09-09 18:58:09 +0000 |
commit | ee33b95d9c2ecec170bc517783d7268a4bd0c793 (patch) | |
tree | 9012453a44799d20b15b2e4dcb1fb5e6784e2a7e /src/backend/parser/parse_oper.c | |
parent | c06629c72e7e3d435e207c2f80de3aa8a97c1d04 (diff) | |
download | postgresql-ee33b95d9c2ecec170bc517783d7268a4bd0c793.tar.gz postgresql-ee33b95d9c2ecec170bc517783d7268a4bd0c793.zip |
Improve the plan cache invalidation mechanism to make it invalidate plans
when user-defined functions used in a plan are modified. Also invalidate
plans when schemas, operators, or operator classes are modified; but for these
cases we just invalidate everything rather than tracking exact dependencies,
since these types of objects seldom change in a production database.
Tom Lane; loosely based on a patch by Martin Pihlak.
Diffstat (limited to 'src/backend/parser/parse_oper.c')
-rw-r--r-- | src/backend/parser/parse_oper.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/parser/parse_oper.c b/src/backend/parser/parse_oper.c index 0ff5b59d00f..51114f7b466 100644 --- a/src/backend/parser/parse_oper.c +++ b/src/backend/parser/parse_oper.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/parse_oper.c,v 1.105 2008/08/28 23:09:47 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/parser/parse_oper.c,v 1.106 2008/09/09 18:58:08 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -79,7 +79,7 @@ static bool make_oper_cache_key(OprCacheKey *key, List *opname, Oid ltypeId, Oid rtypeId); static Oid find_oper_cache_entry(OprCacheKey *key); static void make_oper_cache_entry(OprCacheKey *key, Oid opr_oid); -static void InvalidateOprCacheCallBack(Datum arg, Oid relid); +static void InvalidateOprCacheCallBack(Datum arg, int cacheid, ItemPointer tuplePtr); /* @@ -1130,7 +1130,7 @@ make_oper_cache_entry(OprCacheKey *key, Oid opr_oid) * Callback for pg_operator and pg_cast inval events */ static void -InvalidateOprCacheCallBack(Datum arg, Oid relid) +InvalidateOprCacheCallBack(Datum arg, int cacheid, ItemPointer tuplePtr) { HASH_SEQ_STATUS status; OprCacheEntry *hentry; |