Wei D <wei.d.c...@intel.com> wrote:
> +1, > > > > I am fan of checking the constraints in the controller level instead of > relying on FK constraints itself, thanks. Why shouldn’t the storage backends, be they relational or not, be tasked with verifying integrity of data manipulations? If data integrity rules are pushed out to the frontend, the frontend starts implementing parts of the backend. Other front-ends to the same persistence backend might not have the same rule checks, and you are now wide open for invalid data to be persisted. Front-ends should of course be encouraged to report on a potential issue in integrity before proceeding with an operation, but IMO the backend should definitely not allow the operation to proceed if the frontend fails to check for a constraint. Persistence operations in which related objects must also be modified in response to a primary object (e.g. a CASCADE situation), else integrity will fail, should also be part of the backend, not the front end. > Best Regards, > > Dave Chen > > > > From: Morgan Fainberg [mailto:morgan.fainb...@gmail.com] > Sent: Monday, March 09, 2015 2:29 AM > To: David Stanek; OpenStack Development Mailing List (not for usage questions) > Subject: Re: [openstack-dev] [Keystone]ON DELETE RESTRICT VS ON DELETE CASCADE > > > > On March 8, 2015 at 11:24:37 AM, David Stanek (dsta...@dstanek.com) wrote: > > > On Sun, Mar 8, 2015 at 1:37 PM, Mike Bayer <mba...@redhat.com> wrote: > > can you elaborate on your reasoning that FK constraints should be used less > overall? or do you just mean that the client side should be mirroring the > same > rules that would be enforced by the FKs? > > > I don't think he means that we will use them less. Our SQL backends are full > of them. What Keystone can't do is rely on them because not all > implementations of our backends support FKs. > > 100% spot on David. We support implementations that have no real concept of > FK and we cannot assume that a cascade (or restrict) will occur on these > implementations. > > > > —Morga > > > > -- > > David > blog: http://www.traceback.org > twitter: http://twitter.com/dstanek > > www: http://dstanek.com > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev