]> granicus.if.org Git - postgresql/commit
Improve the plan cache invalidation mechanism to make it invalidate plans
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Sep 2008 18:58:09 +0000 (18:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Sep 2008 18:58:09 +0000 (18:58 +0000)
commitee33b95d9c2ecec170bc517783d7268a4bd0c793
tree9012453a44799d20b15b2e4dcb1fb5e6784e2a7e
parentc06629c72e7e3d435e207c2f80de3aa8a97c1d04
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.
18 files changed:
src/backend/catalog/namespace.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/setrefs.c
src/backend/optimizer/util/clauses.c
src/backend/parser/parse_oper.c
src/backend/utils/adt/acl.c
src/backend/utils/cache/inval.c
src/backend/utils/cache/plancache.c
src/backend/utils/cache/ts_cache.c
src/backend/utils/misc/superuser.c
src/include/nodes/nodes.h
src/include/nodes/plannodes.h
src/include/nodes/relation.h
src/include/optimizer/planmain.h
src/include/utils/inval.h
src/include/utils/plancache.h