On Fri, 05 Nov 2010 10:43:45 -0400 Tom Lane <t...@sss.pgh.pa.us> wrote: > Shigeru HANADA <han...@metrosystems.co.jp> writes: > > Thanks, now I see your point. Current FdwRoutine has no appropriate > > function because Open is called from ExecutorStart which is used by > > EXPLAIN too. > > > But then we have mismatch between executor node interface and FDW > > interface about BeginScan. Should we add new function such as > > ExecBeginNode and call ExecBeginXXX for each plan node? > > That seems like a massive amount of new code, and wasted cycles during > every query startup, to fix a very small problem.
Agreed. > There's a flag EXEC_FLAG_EXPLAIN_ONLY that tells node Init functions > whether the query is going to be run "for real" or only EXPLAINed. > Use that to decide whether to do any real work. I missed that flag. That flag would make ExecInitForeignScan be able to skip calling FdwRoutine.BeginScan when the query was an EXPLAIN without ANALYZE. Thanks for the suggestion. Regards, -- Shigeru Hanada -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers