Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR continues the job of moving some RxGRDB features back to GRDB, so that we can share code between reactive engines (and even not use any reactive engine at all).
DatabaseRegionObservation
is like ValueObservation, except that it does not notify fresh values on every change. Instead, it notifies all impactful transactions right after they have been committed, and before any other thread had any opportunity to perform further changes:DatabaseRegionObservation is not a tool that should be used frequently. The intended use cases are all pretty advanced:
One needs to write in the database after an impactful transaction.
One needs to synchronize the content of the database file with some external resources, like other files, or system sensors like CLRegion monitoring.
On iOS, one needs to process a database transaction before the operating system had any opportunity to put the application in the suspended state.
One want to build a database snapshot with a guaranteed snapshot content.