mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-24 03:21:49 +01:00
2813425488
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) |
||
---|---|---|
.. | ||
branch.go | ||
branch_list.go | ||
branch_test.go | ||
commit_status.go | ||
commit_status_test.go | ||
lfs.go | ||
lfs_lock.go | ||
main_test.go | ||
protected_banch_list_test.go | ||
protected_branch.go | ||
protected_branch_list.go | ||
protected_branch_test.go | ||
protected_tag.go | ||
protected_tag_test.go |