1
0
Fork 0
forgejo/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 Kanban board (#8346) 2020-08-16 23:07:38 -04:00
migrations Fix bug on migration 147 (#12565) 2020-08-22 18:12:40 +01:00
access.go
access_test.go
action.go
action_list.go
action_test.go
admin.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
admin_test.go
attachment.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
attachment_test.go
avatar.go Open transaction when adding Avatar email-hash pairs to the DB (#12577) 2020-08-24 18:39:18 -04:00
branches.go Default empty merger list to those with write permissions (#12535) 2020-08-20 10:48:40 +03:00
branches_test.go
commit_status.go
commit_status_test.go
consistency.go
context.go
convert.go
error.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
error_oauth2.go
external_login_user.go
fixture_generation.go
fixture_test.go
gpg_key.go Allow addition of gpg keyring with multiple keys (#12487) 2020-08-21 13:45:50 +03:00
gpg_key_test.go Allow addition of gpg keyring with multiple keys (#12487) 2020-08-21 13:45:50 +03:00
helper.go
helper_directory.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
helper_environment.go
issue.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
issue_assignees.go
issue_assignees_test.go
issue_comment.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
issue_comment_list.go
issue_comment_test.go
issue_dependency.go
issue_dependency_test.go
issue_label.go
issue_label_test.go
issue_list.go
issue_list_test.go
issue_lock.go
issue_milestone.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
issue_milestone_test.go
issue_reaction.go
issue_reaction_test.go
issue_stopwatch.go
issue_stopwatch_test.go
issue_test.go
issue_tracked_time.go
issue_tracked_time_test.go
issue_user.go
issue_user_test.go
issue_watch.go
issue_watch_test.go
issue_xref.go
issue_xref_test.go
lfs.go
lfs_lock.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.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
models_test.go
notification.go
notification_test.go
oauth2.go
oauth2_application.go
oauth2_application_test.go
org.go Fix bug preventing transfer to private organization (#12497) 2020-08-16 16:27:08 -04:00
org_team.go
org_team_test.go
org_test.go
project.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_board.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_issue.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_test.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
pull.go
pull_list.go
pull_sign.go
pull_test.go
release.go Add email notify for new release (#12463) 2020-08-23 16:03:18 +01:00
repo.go OpenGraph: use repo avatar if exist (#12586) 2020-08-24 22:46:56 +03:00
repo_activity.go
repo_branch.go
repo_collaboration.go
repo_collaboration_test.go
repo_generate.go
repo_generate_test.go
repo_indexer.go
repo_issue.go
repo_language_stats.go
repo_list.go
repo_list_test.go
repo_mirror.go
repo_permission.go
repo_permission_test.go
repo_redirect.go
repo_redirect_test.go
repo_sign.go
repo_test.go
repo_unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
repo_watch.go
repo_watch_test.go
review.go
review_test.go
ssh_key.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
ssh_key_test.go
star.go
star_test.go
task.go
test_fixtures.go
token.go
token_test.go
topic.go
topic_test.go
twofactor.go
u2f.go
u2f_test.go
unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
unit_tests.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
update.go
upload.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
user.go Fix bug preventing transfer to private organization (#12497) 2020-08-16 16:27:08 -04:00
user_follow.go
user_follow_test.go
user_heatmap.go
user_heatmap_test.go
user_mail.go
user_mail_test.go
user_openid.go
user_openid_test.go
user_test.go
userlist.go
userlist_test.go
webhook.go
webhook_test.go
wiki.go
wiki_test.go