turn off defense in ffi to allow modifying table sqlite_master #1058
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.
During an upgrade script I alter the original SQL and add foreign keys to the table and encounter a 'table sqlite_master may not be modified' error.
There was already a known issue (#525) that talked about this and had the workaround mentioned.
This problem was re-discovered when writing unit tests (using sqflite_common_ffi) for the upgrade scripts. Same error popped up again as FFI does not currently have a workaround for this.
This PR turns off the SQLITE_DBCONFIG_DEFENSIVE if the SQL command is to set the db_config_defensive_off.