On Wed, Oct 4, 2017 at 5:32 PM, Robert Haas <robertmh...@gmail.com> wrote: > On Wed, Oct 4, 2017 at 6:40 AM, Ashutosh Bapat > <ashutosh.ba...@enterprisedb.com> wrote: >> Just like the local constraints on a foreign table are not ensured on >> remote table (unless user takes steps to make that sure), WCO defined >> locally need not be (and probably can not be) ensured remotely. We can >> check whether a row being sent from the local server to the foreign >> server obeys WCO, but what foreign server does to that row is beyond >> local server's scope. > > But I think right now we're not checking the row being sent from the > local server, either.
Didn't 7086be6e3627c1ad797e32ebbdd232905b5f577f fix that? > The WCO that is being ignored isn't a > constraint on the foreign table; it's a constraint on a view which > happens to reference the foreign table. It seems quite odd for the > "assume constraints are valid" property of the foreign table to > propagate back up into the view that references it. > The view with WCO is local but the modification which violates WCO is being made on remote server by a trigger on remote table. Trying to control that doesn't seem to be a good idea, just like we can't control what rows get inserted on the foreign server when they violate local constraints. I am using local constraints as an example of precedence where we ignore what's happening on remote side and enforce whatever we could enforce locally. Local server should make sure that any rows sent from local server to the remote server do not violate any local WCO. But once it's handed over to the foreign server, we shouldn't worry about what happens there. That behaviour is ensured by the above commit, isn't it? I am not suggesting that we use local constraints to enforce WCO or something like that. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers