[QGIS-Developer] GeoPackages with constraint problems
even.rouault at spatialys.com
Fri Aug 3 11:40:47 PDT 2018
Looking a bit at this, I see from sqlite doc that foreign key constraints are
only enforced if the user runs
PRAGMA foreign_keys = ON
which OGR does no activate by default, hence the easyness to break them.
This can be enabled by defining the configuration option/environment variable
I'm contemplating if the GPKG driver should do that by default (would probably
makes sense since at opening it runs the PRAGMA foreign_key_check)
> Hi everyone,
> I recently gave a course where geopackages were used as datasets. Those
> geopackages had foreign key constraints (among others) activated. While
> editing those files, at least on one machine, someone managed to get it
> into a "corrupted" state (layer disappeared). Trying to load this layer
> later on will result in a bad layer. The only thing we have is a tiny
> message in the message log informing about "pragma foreign_key_check on
> 'file.gpkg' failed. You can disable this check by setting the
> OGR_GPKG_FOREIGN_KEY_CHECK configuration option to NO".
> I think it's quite strange that QGIS/OGR manages to bring a GeoPackage
> into a corrupted state and then denies to open it.
> * It would - I guess - be preferable to prevent a GeoPackage from going
> into such a state
> * Since it appears to be quite easy to bring a dataset into such a state
> (although I'm afraid I can't provide detailed steps) QGIS should by
> default probably rather open (and warn) or warn and give a possibility
> to still open.
> Did others experience this as well and have more ideas what to do?
> Thanks and best wishes
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Spatialys - Geospatial professional services
More information about the QGIS-Developer