From: | Neil Conway <neilc(at)samurai(dot)com> |
---|---|
To: | Joachim Wieland <joe(at)mcknight(dot)de> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Automatic function replanning |
Date: | 2005-12-13 21:49:10 |
Message-ID: | 1134510550.15554.44.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 2005-12-13 at 22:32 +0100, Joachim Wieland wrote:
> there's a topic that comes up from time to time on the lists, the problem
> that pgsql functions get planned only once and thereafter the same query
> plan is used until server shutdown or explicit recreation of the function.
The problem really has nothing to do with functions, per se: whenever a
plan is created and then stored for future use, the assumptions made by
that plan may be invalidated by the time the plan is executed. This
applies to PREPARE, pl/pgsql functions, perhaps the plan caching done by
the RI triggers, and so forth.
I also think that invalidating cached plans on a periodic basis is the
wrong approach -- we can use sinval to invalidate plans as soon as a
dependent database object changes and not before. This thread contains
some ideas on how to do this:
http://archives.postgresql.org/pgsql-hackers/2005-03/msg00426.php
I got somewhat sidetracked by the complexities of the "central plan
caching module" that Tom would like to see, but I'm still hoping to take
a look at this for 8.2.
-Neil
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2005-12-13 22:31:29 | Re: Inherited Constraints |
Previous Message | Dann Corbit | 2005-12-13 21:32:16 | Re: Which qsort is used |