Redo postgres_fdw's planner code so it can handle parameterized paths.
I wasn't going to ship this without having at least some example of how
to do that. This version isn't terribly bright; in particular it won't
consider any combinations of multiple join clauses. Given the cost of
executing a remote EXPLAIN, I'm not sure we want to be very aggressive
about doing that, anyway.
In support of this, refactor generate_implied_equalities_for_indexcol
so that it can be used to extract equivalence clauses that aren't
necessarily tied to an index.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/9cbc4b80ddc10b36c64514104caa69747c386dcf
Modified Files
--------------
contrib/postgres_fdw/deparse.c | 399 ++++++----
contrib/postgres_fdw/expected/postgres_fdw.out | 23 +-
contrib/postgres_fdw/postgres_fdw.c | 941 +++++++++++++++---------
contrib/postgres_fdw/postgres_fdw.h | 11 +-
contrib/postgres_fdw/sql/postgres_fdw.sql | 4 +
src/backend/optimizer/path/equivclass.c | 35 +-
src/backend/optimizer/path/indxpath.c | 41 +-
src/include/optimizer/paths.h | 18 +-
8 files changed, 919 insertions(+), 553 deletions(-)