forgejo/modules
Lunny Xiao 34283a74e8
Allow detect whether it's in a database transaction for a context.Context (#21756)
Fix #19513

This PR introduce a new db method `InTransaction(context.Context)`,
and also builtin check on `db.TxContext` and `db.WithTx`.
There is also a new method `db.AutoTx` has been introduced but could be used by other PRs.

`WithTx` will always open a new transaction, if a transaction exist in context, return an error.
`AutoTx` will try to open a new transaction if no transaction exist in context.
That means it will always enter a transaction if there is no error.

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: 6543 <6543@obermui.de>
2022-11-12 21:18:50 +01:00
..
activitypub Fix dashboard ignored system setting cache (#21621) 2022-11-10 14:43:53 +08:00
analyze
auth
avatar Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
base Add generic set type (#21408) 2022-10-12 13:18:26 +08:00
cache Fix dashboard ignored system setting cache (#21621) 2022-11-10 14:43:53 +08:00
charset
container Add generic set type (#21408) 2022-10-12 13:18:26 +08:00
context Fix package access for admins and inactive users (#21580) 2022-10-24 22:23:25 +03:00
convert Add Webhook authorization header (#20926) 2022-11-03 20:23:20 +02:00
csv
doctor Merge db.Iterate and IterateObjects (#21641) 2022-10-31 23:51:14 +08:00
emoji
eventsource
generate
git Keep languages defined in .gitattributes (#21403) 2022-10-29 15:04:21 +08:00
gitgraph Refactor git command arguments and make all arguments to be safe to be used (#21535) 2022-10-23 22:44:45 +08:00
graceful Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
hcaptcha
highlight Upgrade chroma to v2.3.0 (#21259) 2022-09-26 13:50:03 +08:00
hostmatcher Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
html Move svg html render to modules/svg (#21716) 2022-11-08 23:13:58 +08:00
httpcache
httplib
indexer Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
issue/template Deal with markdown template without metadata (#21639) 2022-10-31 17:10:33 +02:00
json
lfs
log Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
markup Add attention blocks within quote blocks for Note and Warning (#21711) 2022-11-09 02:11:26 +02:00
mcaptcha Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
metrics
migration
mirror
nosql
notification feat: notify doers of a merge when automerging (#21553) 2022-11-03 23:49:00 +08:00
options Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
packages Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
paginator Remove unnecessary misspell ignore pattern (#21475) 2022-10-18 12:52:25 -04:00
password
pprof
private Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
process
proxy
proxyprotocol
public Add generic set type (#21408) 2022-10-12 13:18:26 +08:00
queue Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
recaptcha Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) (#21551) 2022-10-24 20:29:17 +01:00
references Remove unnecessary misspell ignore pattern (#21475) 2022-10-18 12:52:25 -04:00
regexplru
repository Allow detect whether it's in a database transaction for a context.Context (#21756) 2022-11-12 21:18:50 +01:00
secret
session
setting Add configuration for CORS allowed headers (#21747) 2022-11-11 14:39:27 +08:00
sitemap
ssh
storage
structs Improve valid user name check (#20136) 2022-11-04 17:04:08 +08:00
svg Move svg html render to modules/svg (#21716) 2022-11-08 23:13:58 +08:00
sync Add generic set type (#21408) 2022-10-12 13:18:26 +08:00
system Fix dashboard ignored system setting cache (#21621) 2022-11-10 14:43:53 +08:00
templates Fix dashboard ignored system setting cache (#21621) 2022-11-10 14:43:53 +08:00
test
timeutil Fix Timestamp.IsZero (#21593) 2022-10-26 21:34:44 +08:00
translation Make every not exist error unwrappable to a fs.ErrNotExist (#20891) 2022-10-18 07:50:37 +02:00
typesniffer
updatechecker Add system setting table with cache and also add cache supports for user setting (#18058) 2022-10-17 07:29:26 +08:00
upload
uri
user
util Make every not exist error unwrappable to a fs.ErrNotExist (#20891) 2022-10-18 07:50:37 +02:00
validation Improve valid user name check (#20136) 2022-11-04 17:04:08 +08:00
watcher
web Improve valid user name check (#20136) 2022-11-04 17:04:08 +08:00