Bug report #18079
cannot VACUUM from within a transaction
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | DB Manager | ||
Affected QGIS version: | master | Regression?: | Yes |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | Yes | Resolution: | fixed/implemented |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 25975 |
Description
In the current version of QGIS 2.99 it is not possible to run VACUUM on a SQLite database. Error:
"cannot VACUUM from within a transaction"
Related:
https://bugs.python.org/issue28518
https://github.com/ghaering/pysqlite/issues/109 with a workaround
Associated revisions
[dbmanager] Workaround Python error when vacuuming spatialite table
Workaround https://bugs.python.org/issue28518
Fixes #18079
History
#1 Updated by Nyall Dawson over 6 years ago
- Status changed from Open to Feedback
How do you trigger this error in QGIS? I've been unable to reproduce.
#2 Updated by Arjan Mossel over 6 years ago
- Status changed from Feedback to Open
I installed QGIS 2.99 (alongside 2.18) via osgeo4w-setup-x86_64.exe, on Windows 7. Currently at b6ad920404 (updated yesterday).
I can reproduce it by doing "New SpatiaLite layer", creating a new database with a table with just a text field. Then opening this database in the Database Manager and doing "Run Vacuum" results in a popup with "cannot VACUUM from within a transaction".
#3 Updated by Nyall Dawson over 6 years ago
- Regression? changed from No to Yes
#4 Updated by Nyall Dawson over 6 years ago
Confirmed on Windows
#5 Updated by Nyall Dawson over 6 years ago
- Status changed from Open to In Progress
- Pull Request or Patch supplied changed from No to Yes
#6 Updated by Nyall Dawson over 6 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
Applied in changeset qgis|838bde33ab08bcdd9b41d5b8d6f48c9a7a2aa24d.
#7 Updated by Giovanni Manghi over 6 years ago
- Resolution set to fixed/implemented