diff options
author | Tom Lane | 2008-09-09 18:58:09 +0000 |
---|---|---|
committer | Tom Lane | 2008-09-09 18:58:09 +0000 |
commit | ee33b95d9c2ecec170bc517783d7268a4bd0c793 (patch) | |
tree | 9012453a44799d20b15b2e4dcb1fb5e6784e2a7e /src/backend/utils/misc/superuser.c | |
parent | c06629c72e7e3d435e207c2f80de3aa8a97c1d04 (diff) |
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/utils/misc/superuser.c')
-rw-r--r-- | src/backend/utils/misc/superuser.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/utils/misc/superuser.c b/src/backend/utils/misc/superuser.c index fd6407626a0..fdaa99e1f81 100644 --- a/src/backend/utils/misc/superuser.c +++ b/src/backend/utils/misc/superuser.c @@ -14,7 +14,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/superuser.c,v 1.37 2008/01/01 19:45:54 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/superuser.c,v 1.38 2008/09/09 18:58:08 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -36,7 +36,7 @@ static Oid last_roleid = InvalidOid; /* InvalidOid == cache not valid */ static bool last_roleid_is_super = false; static bool roleid_callback_registered = false; -static void RoleidCallback(Datum arg, Oid relid); +static void RoleidCallback(Datum arg, int cacheid, ItemPointer tuplePtr); /* @@ -102,7 +102,7 @@ superuser_arg(Oid roleid) * Syscache inval callback function */ static void -RoleidCallback(Datum arg, Oid relid) +RoleidCallback(Datum arg, int cacheid, ItemPointer tuplePtr) { /* Invalidate our local cache in case role's superuserness changed */ last_roleid = InvalidOid; |