pgsql: Improve the plan cache invalidation mechanism to make it

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Improve the plan cache invalidation mechanism to make it
Date: 2008-09-09 18:58:09
Message-ID: 20080909185809.2FDC27545A3@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
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.

Modified Files:
--------------
pgsql/src/backend/catalog:
namespace.c (r1.111 -> r1.112)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/namespace.c?r1=1.111&r2=1.112)
pgsql/src/backend/nodes:
copyfuncs.c (r1.404 -> r1.405)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.404&r2=1.405)
outfuncs.c (r1.338 -> r1.339)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.338&r2=1.339)
pgsql/src/backend/optimizer/plan:
planner.c (r1.242 -> r1.243)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c?r1=1.242&r2=1.243)
setrefs.c (r1.143 -> r1.144)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c?r1=1.143&r2=1.144)
pgsql/src/backend/optimizer/util:
clauses.c (r1.266 -> r1.267)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c?r1=1.266&r2=1.267)
pgsql/src/backend/parser:
parse_oper.c (r1.105 -> r1.106)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_oper.c?r1=1.105&r2=1.106)
pgsql/src/backend/utils/adt:
acl.c (r1.141 -> r1.142)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/acl.c?r1=1.141&r2=1.142)
pgsql/src/backend/utils/cache:
inval.c (r1.86 -> r1.87)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/inval.c?r1=1.86&r2=1.87)
plancache.c (r1.20 -> r1.21)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/plancache.c?r1=1.20&r2=1.21)
ts_cache.c (r1.7 -> r1.8)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/ts_cache.c?r1=1.7&r2=1.8)
pgsql/src/backend/utils/misc:
superuser.c (r1.37 -> r1.38)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/superuser.c?r1=1.37&r2=1.38)
pgsql/src/include/nodes:
nodes.h (r1.211 -> r1.212)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h?r1=1.211&r2=1.212)
plannodes.h (r1.102 -> r1.103)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h?r1=1.102&r2=1.103)
relation.h (r1.158 -> r1.159)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h?r1=1.158&r2=1.159)
pgsql/src/include/optimizer:
planmain.h (r1.111 -> r1.112)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h?r1=1.111&r2=1.112)
pgsql/src/include/utils:
inval.h (r1.43 -> r1.44)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/inval.h?r1=1.43&r2=1.44)
plancache.h (r1.12 -> r1.13)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/plancache.h?r1=1.12&r2=1.13)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-09-10 01:09:46 pgsql: Fix a couple of places where the plpgsql grammar would produce an
Previous Message Alvaro Herrera 2008-09-09 15:14:08 pgsql: Improve plpgsql's ability to report tuple incompatibility