Please sign in to comment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[OGR provider] [FEATURE] Add support for transactions on GPKG databases
For complete support, it requires two GDAL fixes: - One to avoid feature count to be invalid when using ROLLBACK TO SAVEPOINT OSGeo/gdal@f73ec8c - Another one to avoid nasty issues, at least on Linux, with the POSIX advisory locks used by libsqlite that could be invalidated due to how GDAL could open files behind the back of libsqlite. The consequence of this could be the deletion of -wal and -shm files, which caused issues in QGIS (non working iterators when the edit is finished, and later edits in the same session not working). Those issues could appear for example if doing ogrinfo on the .gpkg opened by QGIS, or if opening two QGIS session on the .gpkg Both fixes are queued for GDAL 2.3.1
- Loading branch information
Showing with 562 additions and 57 deletions.
- +1 −0 python/core/auto_generated/qgstransaction.sip.in
- +48 −7 src/core/qgstransaction.cpp
- +7 −0 src/core/qgstransaction.h
- +3 −2 src/core/qgstransactiongroup.cpp
- +2 −0 src/providers/ogr/CMakeLists.txt
- +58 −21 src/providers/ogr/qgsogrfeatureiterator.cpp
- +6 −0 src/providers/ogr/qgsogrfeatureiterator.h
- +174 −25 src/providers/ogr/qgsogrprovider.cpp
- +55 −2 src/providers/ogr/qgsogrprovider.h
- +85 −0 src/providers/ogr/qgsogrtransaction.cpp
- +53 −0 src/providers/ogr/qgsogrtransaction.h
- +70 −0 tests/src/python/test_provider_ogr_gpkg.py
Oops, something went wrong.