Nuria has uploaded a new change for review.
https://gerrit.wikimedia.org/r/190130
Change subject: Insertion of duplicate records does not trigger an error if
replace=True
......................................................................
Insertion of duplicate records does not trigger an error if replace=True
Change-Id: I6c2c99d17c4446a21b3a37b9a03058b133faac3c
---
M server/eventlogging/jrm.py
1 file changed, 4 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/EventLogging
refs/changes/30/190130/1
diff --git a/server/eventlogging/jrm.py b/server/eventlogging/jrm.py
index 91a9025..134def3 100644
--- a/server/eventlogging/jrm.py
+++ b/server/eventlogging/jrm.py
@@ -175,11 +175,12 @@
"""Insert events into the database by issuing an INSERT for each one."""
for event in events:
insert = table.insert(values=event)
+ if replace:
+ insert = (insert
+ .prefix_with('IGNORE', dialect='mysql')
+ .prefix_with('OR REPLACE', dialect='sqlite'))
try:
insert.execute()
- except sqlalchemy.exc.IntegrityError as e:
- if not replace or 'unique' not in str(e).lower():
- raise
except sqlalchemy.exc.ProgrammingError:
table.create()
insert.execute()
--
To view, visit https://gerrit.wikimedia.org/r/190130
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6c2c99d17c4446a21b3a37b9a03058b133faac3c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventLogging
Gerrit-Branch: master
Gerrit-Owner: Nuria <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits