Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix use of SQLite authorizers #585

Merged
merged 11 commits into from
Aug 3, 2019
Merged

Fix use of SQLite authorizers #585

merged 11 commits into from
Aug 3, 2019

Conversation

groue
Copy link
Owner

@groue groue commented Aug 1, 2019

This pull request fixes an SQLite error 516 (SQLITE_ABORT_ROLLBACK) that can happen during the iteration of some database cursors, if other database statements are compiled during iteration steps. See #583 for a detailed description.

The issue does not affect all cursors, but only some of them. It actually looks like an issue in SQLite itself (see bug report).

@groue groue added this to the GRDB 5 milestone Aug 1, 2019
@groue
Copy link
Owner Author

groue commented Aug 1, 2019

After D. Richard Hipp has found where the issue lies, I better understand that the way GRDB often changes SQLite authorizers errs on the side of the misuse. A better fix would be to refactor GRDB around the use of a single authorizer per connection.

@groue groue modified the milestones: GRDB 5, GRDB 4.2.0 Aug 3, 2019
@groue
Copy link
Owner Author

groue commented Aug 3, 2019

Forced-pushed with a single authorizer per connection.

@groue groue changed the title Fix issue #583 Fix use of SQLite authorizers Aug 3, 2019
@groue groue added the bug label Aug 3, 2019
@groue groue merged commit 8d5cddd into development Aug 3, 2019
@groue groue deleted the dev/issue-583 branch August 3, 2019 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant