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)
commit636fa3cd5c575f43621a2cd1b89ced89f98f2f77
treef5603aa9aabc0b7b6600616d95fa2dd4218d616a
parent0eee51b8921554018b870b185f6ffeb3ac93f4ba
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