gitea/models
zeripath f3fb3c6f56
Open transaction when adding Avatar email-hash pairs to the DB (#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>
2020-08-24 18:39:18 -04:00
..
fixtures
migrations Fix bug on migration 147 (#12565) 2020-08-22 18:12:40 +01:00
access_test.go
access.go
action_list.go
action_test.go
action.go
admin_test.go
admin.go
attachment_test.go
attachment.go
avatar.go Open transaction when adding Avatar email-hash pairs to the DB (#12577) 2020-08-24 18:39:18 -04:00
branches_test.go
branches.go Default empty merger list to those with write permissions (#12535) 2020-08-20 10:48:40 +03:00
commit_status_test.go
commit_status.go
consistency.go
context.go
convert.go
error_oauth2.go
error.go
external_login_user.go
fixture_generation.go
fixture_test.go
gpg_key_test.go Allow addition of gpg keyring with multiple keys (#12487) 2020-08-21 13:45:50 +03:00
gpg_key.go Allow addition of gpg keyring with multiple keys (#12487) 2020-08-21 13:45:50 +03:00
helper_directory.go
helper_environment.go
helper.go
issue_assignees_test.go
issue_assignees.go
issue_comment_list.go
issue_comment_test.go
issue_comment.go
issue_dependency_test.go
issue_dependency.go
issue_label_test.go
issue_label.go
issue_list_test.go
issue_list.go
issue_lock.go
issue_milestone_test.go
issue_milestone.go
issue_reaction_test.go Migrate reactions when migrating repository from github (#9599) 2020-01-15 12:14:07 +01:00
issue_reaction.go
issue_stopwatch_test.go
issue_stopwatch.go
issue_test.go
issue_tracked_time_test.go
issue_tracked_time.go
issue_user_test.go
issue_user.go
issue_watch_test.go
issue_watch.go
issue_xref_test.go
issue_xref.go
issue.go
lfs_lock.go
lfs.go
list_options.go Add cron running API (#12421) 2020-08-24 11:48:15 -04:00
log.go
login_source.go
main_test.go
migrate.go
models_test.go
models.go
notification_test.go
notification.go
oauth2_application_test.go
oauth2_application.go
oauth2.go Changed image of openid-connect logo for better look on arc-green theme (#11312) 2020-05-10 17:55:22 +03:00
org_team_test.go
org_team.go
org_test.go
org.go
project_board.go
project_issue.go
project_test.go
project.go
pull_list.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
pull_sign.go
pull_test.go
pull.go
release.go Add email notify for new release (#12463) 2020-08-23 16:03:18 +01:00
repo_activity.go
repo_branch.go
repo_collaboration_test.go
repo_collaboration.go
repo_generate_test.go
repo_generate.go
repo_indexer.go
repo_issue.go
repo_language_stats.go Increase size of the language column in language_stat (#12396) 2020-08-04 14:54:29 +01:00
repo_list_test.go
repo_list.go
repo_mirror.go
repo_permission_test.go
repo_permission.go
repo_redirect_test.go
repo_redirect.go
repo_sign.go
repo_test.go
repo_unit.go
repo_watch_test.go
repo_watch.go
repo.go OpenGraph: use repo avatar if exist (#12586) 2020-08-24 22:46:56 +03:00
review_test.go
review.go
ssh_key_test.go
ssh_key.go
star_test.go
star.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
task.go Move create/fork repository from models to modules/repository (#9489) 2020-01-12 20:11:17 +08:00
test_fixtures.go
token_test.go Reject duplicate AccessToken names (#10994) 2020-04-13 22:02:48 +03:00
token.go
topic_test.go
topic.go
twofactor.go
u2f_test.go
u2f.go
unit_tests.go
unit.go
update.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
upload.go
user_follow_test.go
user_follow.go
user_heatmap_test.go
user_heatmap.go
user_mail_test.go
user_mail.go
user_openid_test.go
user_openid.go
user_test.go
user.go
userlist_test.go
userlist.go
webhook_test.go Granular webhook events (#9626) 2020-03-06 07:10:48 +02:00
webhook.go
wiki_test.go
wiki.go