Comments (2)
Hello @leotumwattana,
This is a warning about sub-optimal use of threads. Check Apple documentation Diagnosing performance issues early in order to understand what this warning is about.
There are already a few GRDB issues opened about priority inversion warnings. Take care that some applications instruct GRDB to perform the wrong actions: it's important that you understand the above Apple documentation. By default, all database operations run with the userInitiated
quality of service (see Configuration.qos
).
Finally, check if your application performs any synchronous database access from an asynchronous Task
:
// WRONG APPLICATION PATTERN
// An async function...
func asyncFunction() async throws {
try performSyncDatabaseAccess()
}
func performSyncDatabaseAccess() throws {
// ...should not call a synchronous database access method.
try dbPool.read { db in... } // sync
}
If this happens, refactor your app so that all database accesses performed from a Task
are asynchronous:
// CORRECT APPLICATION PATTERN
// An async function...
func asyncFunction() async throws {
try await performAsyncDatabaseAccess()
}
func performAsyncDatabaseAccess() async throws {
// ...can call asynchronous database access methods.
try await dbPool.read { db in... } // async
}
from grdb.swift.
Thanks @groue!
from grdb.swift.
Related Issues (20)
- Catch a `recordNotFound` error when using `MutablePersistableRecord.save(db)` to update or insert. HOT 4
- GRDB migrator and previous FMDB database HOT 3
- GRDB called a `Not implemented` function while inserting. HOT 2
- Issue with having in fetch query HOT 5
- `databaseDateEncodingStrategy` not wok when update a existing record HOT 1
- Throwing subscript Row value HOT 4
- Linker error when building for watchOS with Address Sanitizer enabled HOT 7
- Conflicting Database.logError ? HOT 3
- “database disk image is malformed” when deleting some datas HOT 1
- Setting a default value for a date time column HOT 3
- Pool.get got "priority inversions" warnings in concurrent visit. HOT 6
- Debugging no longer possible after installing Custom SQLite build HOT 3
- Privacy manifest file HOT 11
- Recommend the IMMEDIATE transaction type in the Sharing a Database guide
- @CodedBy and ValueCoder Issues HOT 3
- Reconsider sync/async overloads? HOT 4
- Privacy Manifest HOT 4
- Add date time column with default as current date HOT 2
- GRDB/Spatialite ? HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grdb.swift.