forgejo/models
YR Chen 2813425488
Move from max( id ) to max( index ) for latest commit statuses (#30076)
This PR replaces the use of `max( id )`, and instead using ``max(
`index` )`` for determining the latest commit status. Building business
logic over an `auto_increment` primary key like `id` is risky and
there’re already plenty of discussions on the Internet.

There‘s no guarantee for `auto_increment` values to be monotonic,
especially upon failures or with a cluster. In the specific case, we met
the problem of commit statuses being outdated when using TiDB as the
database. As [being
documented](https://docs.pingcap.com/tidb/stable/auto-increment),
`auto_increment` values assigned to an `insert` statement will only be
monotonic on a per server (node) basis.

Closes #30074.

(cherry picked from commit 7443a10fc3d722d3326a0cb7b15b208f907c72d7)
2024-03-30 07:17:31 +01:00
..
actions Cancel previous runs of the same PR automatically (#29961) 2024-03-26 16:51:56 +01:00
activities [Port] gitea#29930: Move notifications to a standalone file 2024-03-28 14:21:42 +01:00
admin
asymkey Fix some pending problems (#29985) 2024-03-26 19:04:26 +01:00
auth remove util.OptionalBool and related functions (#29513) 2024-03-06 12:10:46 +08:00
avatars Replace 10 more gt- classes with tw- (#29945) 2024-03-26 19:04:27 +01:00
db Fix misuse of TxContext (#30061) 2024-03-30 07:17:29 +01:00
dbfs
fixtures Add default board to new projects, remove uncategorized pseudo-board (#29874) 2024-03-30 07:17:31 +01:00
forgejo/semver [SEMVER] store SemVer in ForgejoSemVer after a database upgrade 2024-02-05 14:44:33 +01:00
forgejo_migrations [COSMETIC] unify the wording of the Forgejo migration comments 2024-03-28 12:08:43 +01:00
git Move from max( id ) to max( index ) for latest commit statuses (#30076) 2024-03-30 07:17:31 +01:00
issues Add default board to new projects, remove uncategorized pseudo-board (#29874) 2024-03-30 07:17:31 +01:00
migrations Add default board to new projects, remove uncategorized pseudo-board (#29874) 2024-03-30 07:17:31 +01:00
organization Respect DEFAULT_ORG_MEMBER_VISIBLE setting when adding creator to org (#30013) 2024-03-26 19:04:28 +01:00
packages Fix incorrect relative/absolute URL usages (#29531) 2024-03-06 12:10:46 +08:00
perm Users with read permission of pull requests can be assigned too (#27263) 2024-02-26 22:30:27 +01:00
project Add default board to new projects, remove uncategorized pseudo-board (#29874) 2024-03-30 07:17:31 +01:00
pull [GITEA] GetScheduledMergeByPullID may involve a system user 2024-02-05 16:09:41 +01:00
repo Fix schedule tasks bugs (#28691) 2024-03-25 16:25:02 +01:00
secret Make runs-on support variable expression (#29468) 2024-03-11 23:36:59 +07:00
shared/types Refactor locale&string&template related code (#29165) 2024-02-16 15:20:52 +01:00
system Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
unit Add a direct link from repo header to unit settings 2024-02-13 22:42:09 +01:00
unittest [Windows] prevent ? in testdata path 2024-03-15 13:15:46 +01:00
user [BUG] Don't delete inactive emails explicitly 2024-03-29 15:14:09 +01:00
webhook Merge pull request '[TESTS] fail when log.Error is called' (#2657) from oliverpool/forgejo:fail_test_on_log_error into forgejo 2024-03-24 07:28:31 +00:00
error.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
fixture_generation.go Replace more db.DefaultContext (#27628) 2023-10-15 17:46:06 +02:00
fixture_test.go Replace more db.DefaultContext (#27628) 2023-10-15 17:46:06 +02:00
main_test.go
org.go Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
org_team.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
org_team_test.go
org_test.go Replace more db.DefaultContext (#27628) 2023-10-15 17:46:06 +02:00
repo.go Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
repo_test.go
repo_transfer.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
repo_transfer_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00