zeripath b62e13a001
Open transaction when adding Avatar email-hash pairs to the DB (#12577) (#12940)
Backport #12577

When adding Avatar email-hash pairs we simply want the DB table to
represent a Set. We don't care if the hash-pair is already present,
so we just simply Insert and ignore the error.

Unfortunately this seems to cause some DBs to log the duplicate
insert to their logs - looking like a bug a in Gitea.

Now, there is no standard way in SQL to say Insert but if there's
an error ignore it. MySQL has INSERT IGNORE, PostgreSQL >= 9.5 has
INSERT ... ON CONFLICT DO NOTHING, but I do not believe that SQLite
or MSSQL have variants.

This PR places the insert in a transaction which we are happy to fail
if there is an error - hopefully this will stop the unnecessary
logging.

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: techknowlogick <techknowlogick@gitea.io>

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-09-24 18:36:26 -04:00
..
2020-09-16 10:37:04 +03:00
2020-03-22 11:12:55 -04:00
2020-04-05 07:20:50 +01:00
2020-02-27 20:10:27 -03:00
2020-04-05 07:20:50 +01:00
2019-12-15 16:57:34 -05:00
2020-04-05 07:20:50 +01:00
2020-03-22 11:12:55 -04:00
2020-04-05 07:20:50 +01:00
2020-04-14 09:53:34 -04:00
2020-03-22 11:12:55 -04:00
2020-09-16 10:37:04 +03:00
2020-01-24 14:00:29 -05:00
2020-04-05 07:20:50 +01:00
2020-03-22 11:12:55 -04:00
2020-03-02 00:05:44 +02:00
2020-04-05 07:20:50 +01:00
2020-01-13 18:33:46 +01:00