Re: Effects of GUC settings on automatic replans - Mailing list pgsql-hackers

From Josh Berkus
Subject Re: Effects of GUC settings on automatic replans
Date
Msg-id 4600F0FE.6000300@agliodbs.com
Whole thread Raw
In response to Effects of GUC settings on automatic replans  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Effects of GUC settings on automatic replans  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Now that there's a mechanism in the backend that will automatically replan
> queries whenever anything changes about the referenced tables, we have to
> worry about whether an automatic replan might cause surprising changes in
> the behavior of a query.  I looked through the available GUC settings to
> see what would affect a replan, and came up with just four that would
> potentially affect the semantics of the query:
> 
>     search_path
>     add_missing_from
>     transform_null_equals
>     sql_inheritance
> 
> As I've already mentioned, I think we must address search_path by saving
> the path at time of first plan and using that same path during any replan.

Yes.  I think this is the only secure way to do it.

> However, I'm not excited about adding mechanism to similarly save and
> restore the others.  They're all for legacy-app compatibility and so
> seem unlikely to be changed on-the-fly within a session.  Also,
> add_missing_from and transform_null_equals aren't going to affect sanely
> written queries in the first place.  sql_inheritance is a little bit
> bigger deal, but I wonder whether we shouldn't just remove that variable
> altogether --- it's been default ON since 7.1 and I've not heard anyone
> complain about that in a long time.

Let's do a quick survey on a couple mailing lists.

> 
> There are a boatload of other GUCs that could potentially result in
> changes of planner choices:

I think the only thing we need do about the GUCs is provide the user 
with a command which flushes all plans for the session.  Hmmmm, that's 
not really necessary I suppose; one can easily reconnect.

For that matter, can anyone think why we'd need a command for the 
superuser to flush all plans in the server?  It seems like something we 
ought to have, but I don't have a good case why ...

--Josh Berkus


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Money type todos?
Next
From: db@zigo.dhs.org
Date:
Subject: Re: Money type todos?