Package cubicweb :: Package hooks :: Module integrity
[hide private]
[frames] | no frames]

Module integrity

source code

Core hooks: check for data integrity according to the instance'schema validity
Classes [hide private]
  _ReleaseUniqueConstraintsOperation
  _CheckRequiredRelationOperation
checking relation cardinality has to be done after commit in case the relation is being replaced
  _CheckSRelationOp
check required subject relation
  _CheckORelationOp
check required object relation
  IntegrityHook
  CheckCardinalityHook
check cardinalities are satisfied
  _CheckConstraintsOp
check a new relation satisfy its constraints
  CheckConstraintHook
check the relation satisfy its constraints
  CheckAttributeConstraintHook
check the attribute relation satisfy its constraints
  CheckUniqueHook
  DontRemoveOwnersGroupHook
delete the composed of a composite relation when this relation is deleted
  TidyHtmlFields
tidy HTML in rich text strings
  StripCWUserLoginHook
ensure user logins are stripped
  _DelayedDeleteOp
delete the object of composite relation except if the relation has actually been redirected to another composite
  _DelayedDeleteSEntityOp
delete orphan subject entity of a composite relation
  _DelayedDeleteOEntityOp
check required object relation
  DeleteCompositeOrphanHook
delete the composed of a composite relation when this relation is deleted
Functions [hide private]
 
_acquire_unique_cstr_lock(session)
acquire the _UNIQUE_CONSTRAINTS_LOCK for the session.
source code
 
_release_unique_cstr_lock(session) source code
Variables [hide private]
  DONT_CHECK_RTYPES_ON_ADD = META_RTYPES | WORKFLOW_RTYPES
  DONT_CHECK_RTYPES_ON_DEL = META_RTYPES | WORKFLOW_RTYPES
  _UNIQUE_CONSTRAINTS_LOCK = Lock()
  _UNIQUE_CONSTRAINTS_HOLDER = None
Simple <textarea>, will return an unicode string.
Function Details [hide private]

_acquire_unique_cstr_lock(session)

source code 

acquire the _UNIQUE_CONSTRAINTS_LOCK for the session.

This lock used to avoid potential integrity pb when checking RQLUniqueConstraint in two different transactions, as explained in http://intranet.logilab.fr/jpl/ticket/36564