On Sat, Mar 24, 2018 at 5:27 AM, Robert Haas <robertmh...@gmail.com> wrote: > If it's possible to identify the two OIDs that are supposed to match > and cross-check that the OIDs are the same, then we could just bomb > out with an error if they aren't. That's not lovely, and is basically > a hack, but it's possible that no better fix is possible in the time > we have, and it's wouldn't be any worse than this crock from copy.c: > > if (!list_member_oid(plan->relationOids, queryRelId)) > ereport(ERROR, > (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), > errmsg("relation referenced by COPY statement > has changed")));
That's definitely all we have time for. The only alternative is to rip out support for partitioning, as partitioning is the only thing that necessitates the use of multiple RTEs. I don't think it would make sense to use a second RTE only when needed. -- Peter Geoghegan