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 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_test.go Fix "access" fixtures and tests (#10247) 2020-02-15 12:29:06 +08:00
access.go Upgrade xorm to v1.0.0 (#10646) 2020-03-22 11:12:55 -04:00
action_list.go
action_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
action.go Make dashboard newsfeed list length a configurable item (#12469) 2020-08-11 10:48:13 -04:00
admin_test.go
admin.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
attachment_test.go Reading pull attachments should depend on read UnitTypePullRequests (#10346) 2020-02-18 21:36:19 -03:00
attachment.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
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 API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
consistency.go Add migration to set IsArchived false if it is null (#11853) 2020-06-11 16:18:11 -04:00
context.go Upgrade xorm to v1.0.2 (#11900) 2020-06-15 16:46:01 -04:00
convert.go
error_oauth2.go
error.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
external_login_user.go
fixture_generation.go Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
fixture_test.go Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
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 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 Move PushUpdateAddDeleteTags to repository module from models (#10106) 2020-02-03 09:47:04 +01:00
helper.go
issue_assignees_test.go
issue_assignees.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
issue_comment_list.go
issue_comment_test.go
issue_comment.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
issue_dependency_test.go
issue_dependency.go
issue_label_test.go BugFix: updateLabel can updated not allowed fields #11242 (#11242) 2020-04-28 19:28:56 -04:00
issue_label.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
issue_list_test.go Add Organization Wide Labels (#10814) 2020-04-01 01:14:46 -03:00
issue_list.go [BugFix] ReviewCount: GetApprovalCounts func sorted wrong (#11086) 2020-04-16 13:44:34 +03:00
issue_lock.go
issue_milestone_test.go Add name filter to API for GetMilestoneList (#12336) 2020-07-28 12:30:40 +01:00
issue_milestone.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
issue_reaction_test.go
issue_reaction.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_stopwatch_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
issue_stopwatch.go When starting new stopwatch stop previous if it is still running (#10533) 2020-07-12 13:01:20 +03:00
issue_test.go issue search on my related repositories (#9758) 2020-02-29 03:52:05 -03:00
issue_tracked_time_test.go
issue_tracked_time.go Fix tracked time issues (#11349) 2020-05-09 11:18:44 -03:00
issue_user_test.go
issue_user.go
issue_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_watch.go Add issue subscription check to API (#10967) 2020-04-21 14:48:53 +01:00
issue_xref_test.go
issue_xref.go
issue.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
lfs_lock.go
lfs.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
list_options.go Add cron running API (#12421) 2020-08-24 11:48:15 -04:00
log.go Upgrade xorm to v1.0.0 (#10646) 2020-03-22 11:12:55 -04:00
login_source.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
main_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
migrate.go [BugFix] remove nil inserts in models (#11096) 2020-04-17 20:42:57 +03:00
models_test.go
models.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
notification_test.go add request review from specific reviewers feature in pull request (#10756) 2020-04-06 19:33:34 +03:00
notification.go Extend Notifications API and return pinned notifications by default (#12164) 2020-07-12 00:46:01 +03:00
oauth2_application_test.go
oauth2_application.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
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 API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
org_team.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
org_test.go Ensure DeleteUser is not allowed to Delete Orgs and visa versa (#10134) 2020-02-04 16:27:18 +02:00
org.go Fix bug preventing transfer to private organization (#12497) 2020-08-16 16:27:08 -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
project.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
pull_list.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
pull_sign.go models: break out of loop (#12386) 2020-07-31 21:26:47 +08:00
pull_test.go Display pull request head branch even the branch deleted or repository deleted (#10413) 2020-03-02 22:31:55 +00:00
pull.go Cache PullRequest Divergence (#10914) 2020-04-14 09:53:34 -04:00
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 API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_collaboration.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
repo_generate_test.go
repo_generate.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_indexer.go Index code and stats only for non-empty repositories (#10251) 2020-02-14 13:42:30 +01:00
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 API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_list.go Fix repo-list private and total count bugs (#11500) 2020-05-20 22:15:30 -03:00
repo_mirror.go
repo_permission_test.go
repo_permission.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
repo_redirect_test.go
repo_redirect.go
repo_sign.go models: break out of loops (#12159) 2020-07-06 13:07:07 +01:00
repo_test.go Decrease the num_stars when deleting a repo (#11954) 2020-07-07 15:16:34 -04:00
repo_unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
repo_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_watch.go Add action feed for new release (#12324) 2020-07-29 15:20:54 -04:00
repo.go OpenGraph: use repo avatar if exist (#12586) 2020-08-24 22:46:56 +03:00
review_test.go Update Octicons to v10 (#12240) 2020-07-17 18:15:12 +03:00
review.go Update Octicons to v10 (#12240) 2020-07-17 18:15:12 +03:00
ssh_key_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
star_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
star.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
task.go
test_fixtures.go upgrade to use testfixtures v3 (#11904) 2020-06-17 22:07:58 +03:00
token_test.go Reject duplicate AccessToken names (#10994) 2020-04-13 22:02:48 +03:00
token.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
topic_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
topic.go Update topics repo count when deleting repository (#10051) 2020-01-31 08:57:19 +02:00
twofactor.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
u2f_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
u2f.go
unit_tests.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
update.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
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_follow_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
user_follow.go
user_heatmap_test.go
user_heatmap.go Add hide activity option (#11353) 2020-06-05 16:01:53 -04:00
user_mail_test.go Admin page for managing user e-mail activation (#10557) 2020-03-02 15:25:36 -03:00
user_mail.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
user_openid_test.go
user_openid.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
user_test.go Ensure DeleteUser is not allowed to Delete Orgs and visa versa (#10134) 2020-02-04 16:27:18 +02:00
user.go Fix bug preventing transfer to private organization (#12497) 2020-08-16 16:27:08 -04:00
userlist_test.go
userlist.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
webhook_test.go Granular webhook events (#9626) 2020-03-06 07:10:48 +02:00
webhook.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
wiki_test.go
wiki.go