On Mon, Mar 14, 2016 at 1:05 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> On Sun, Mar 13, 2016 at 10:51 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> I'm not really sold on enforcing that people create meaningless user >>> mappings. For one thing, they're likely to be sloppy about it, which >>> could lead to latent security problems if the FDW later acquires a >>> concept that user mappings mean something. > >> I think we should just fix build_simple_rel() so that it doesn't fail >> if there is no user mapping. It can just set rel->umid to InvalidOid >> in that case, and if necessary we can adjust the code elsewhere to >> tolerate that. This wasn't an intentional behavior change, and I >> think we should just put things back to the way they were. > > So, allow rel->umid to be InvalidOid if there's no user mapping, and > when dealing with a join, allow combining when both sides have InvalidOid?
Exactly. And we should make sure (possibly with a regression test) that postgres_fdw handles that case correctly - i.e. with the right error. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company