cubicweb #5154406 move constraint checking to the backend [validation pending]

A number of constraint types are currently checked in python code, whereas they could be implemented entirely in sql. IMO it would make sense to do so, if nothing else:

  • it's likely to be more efficient
  • it's likely to be more reliable

A side effect will be that integrity (or at least those bits) will no longer be "optional", because disabling integrity hooks will no longer have any effect for those constraints. I think that's a nice bonus, not a downside, but it's probably worth mentioning.

prioritynormal
typeenhancement
done in3.21.0
load1.000
load left0.000
closed by#d309c020d9fb [schema] neuter check method for constraints we implement in sql
patch[migration] add sql constraints on upgrade [applied][schema2sql] support NOW and TODAY in check constraints [applied][schema] neuter check method for constraints we implement in sql [applied]add IUserFriendlyError adapter for violation of check constraints [applied][hooks/syncschema] drop/add check constraints as appropriate [applied][schema2sql] insert some constraints into the backend [applied]