Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan.
Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>,
Tom Lane <tgl@sss.pgh.pa.us>,
Amit Langote <amitlangote09@gmail.com>,
Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-10-20T09:06:48Z
Lists: pgsql-hackers
On 2016/10/20 16:27, Ashutosh Bapat wrote: I wrote: >>>> Besides >>>> that, I modified add_rte_to_flat_rtable so that the plan's dependencies >>>> are >>>> tracked, but that would lead to tracking the dependencies of unreferenced >>>> foreign tables in dead subqueries or the dependencies of foreign tables >>>> excluded from the plan by eg, constraint exclusion. But I thought that >>>> would be also OK by the same reason as above. You wrote: >>> If those unreferenced relations become references because of the >>> changes in options, we will require those query dependencies to be >>> recorded. So, if we are recording query dependencies, we should record >>> the ones on unreferenced relations as well. I wrote: >> I mean plan dependencies here, not query dependencies. > A query dependency also implies plan dependency since changing query > implies plan changes. So, if query depends upon something, so does the > plan. Right. Sorry, my explanation was not enough, but what I just wanted to mention is: for unreferenced relations in the plan (eg, foreign tables excluded from the plan by constraint exclusion), we don't need to record the dependencies of those relations on FDW-related objects in the plan dependency list (ie, glob->invalItems), because the changes to attributes of the FDW-related objects for those relations wouldn't affect the plan. I wrote: >> Having said that, I like the latest version (v6), so I'd vote for marking >> this as Ready For Committer. > Marked that way. Thanks! Best regards, Etsuro Fujita
Commits
-
Invalidate cached plans on FDW option changes.
- e4380e4cf68a 9.4.11 landed
- c52d37c8b367 10.0 landed
- aaf12e577ee9 9.5.6 landed
- a8191800a6e6 9.3.16 landed
- 4103a2f200d6 9.6.2 landed