• Tom Lane's avatar
    Fix contrib/postgres_fdw's remote-estimate representation of array Params. · 5b68d816
    Tom Lane authored
    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.
    5b68d816
postgres_fdw.out 161 KB