Fix contrib/postgres_fdw's remote-estimate representation of array Params. We were emitting "(SELECT null::typename)", which is usually interpreted as a scalar subselect, but not so much in the context "x = ANY(...)". This led to remote-side parsing failures when remote_estimate is enabled. A quick and ugly fix is to stick in an extra cast step, "((SELECT null::typename)::typename)". The cast will be thrown away as redundant by parse analysis, but not before it's done its job of making sure the grammar sees the ANY argument as an a_expr rather than a select_with_parens. Per an example from Hannu Krosing.
Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/5b68d81697bcb0d16136bd037e454ee53c521185 Modified Files -------------- contrib/postgres_fdw/deparse.c | 84 +++++++++++++++--------- contrib/postgres_fdw/expected/postgres_fdw.out | 19 ++++++ contrib/postgres_fdw/sql/postgres_fdw.sql | 3 + 3 files changed, 76 insertions(+), 30 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
