https://bugzilla.wikimedia.org/show_bug.cgi?id=42957
Web browser: ---
Bug ID: 42957
Summary: Ensure transactional integrity of uniqueness
constraints
Product: MediaWiki extensions
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: Unprioritized
Component: WikidataRepo
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected],
[email protected]
Classification: Unclassified
Mobile Platform: ---
Wikibase imposes some hard constraints on entities, by requiring some of their
properties to be unique - for instance, only one item can have a link to a
given site and title, and only one property can have a given name in a given
language.
We must ensure that these constraints are enforced in the same transaction that
performs the primary data save. Not only have the constraints to be checked in
that transaction, any updates of reference tables for the unique properties
also have to be done in that transaction. This is currently not the case, it
seems.
Note: prepareSave() is called within that transaction, before the primary data
is saved. doEditUpdates is called after the primary save, but outside the
transaction. doDeleteUpdates is called after a page is deleted, but within the
primary transaction. We may need an afterSave() method that is called after the
primary save, but inside the transaction.
Beware lock retention times: doing more things in the primary transaction
increases the likelyhood of timeouts/deadlocks.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l