[feature] for an sqlite database with journal mode != WAL, use maximum of 1 open conn (#3428)

This commit is contained in:
kim 2024-10-13 22:19:52 +00:00 committed by GitHub
parent 096767bb3b
commit 2076f7d85f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -401,6 +401,18 @@ func maxOpenConns() int {
if multiplier < 1 { if multiplier < 1 {
return 1 return 1
} }
// Specifically for SQLite databases with
// a journal mode of anything EXCEPT "wal",
// only 1 concurrent connection is supported.
if strings.ToLower(config.GetDbType()) == "sqlite" {
journalMode := config.GetDbSqliteJournalMode()
journalMode = strings.ToLower(journalMode)
if journalMode != "wal" {
return 1
}
}
return multiplier * runtime.GOMAXPROCS(0) return multiplier * runtime.GOMAXPROCS(0)
} }