sqlitebrowser / sqlitebrowser/sqlitebrowser
The program can't delete or modify columns when the database is over 4GB
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 24.6k
- Forks
- 2.4k
- Avg merge
- 3d 49m
- Merged PRs (30d)
- 3
Description
Details for the issue
What did you do?
- I have a 4.6 GB SQLite database file with 39 columns and 2 million rows.
- I created a new column, which by default was called field40 and was set to INTEGER.
- I tried to rename the column, but the operation failed after hanging for a few minutes.
- I tried to change the column's type, but that operation also failed after hanging for a few minutes.
- The above operations appear to have partially corrupted the database. SQLite Browser can still open it and read to it, but Python's sqlite3 library now reports this error:
sqlite3.DatabaseError: database disk image is malformed
What did you expect to see?
It's understandable that a 4.6 GB file would be very slow to work with, but the operations shouldn't fail entirely.
What did you see instead?
The above operations should succeed, even if they take a while to perform.
Useful extra information
What operating system are you using?
Windows 10 64-bit
What is your DB4S version?
3.11.2
Did you also
- Try out the latest nightly version: https://github.com/sqlitebrowser/sqlitebrowser#nightly-builds
- Search for an existing similar issue: https://github.com/sqlitebrowser/sqlitebrowser/issues?utf8=%E2%9C%93&q=is%3Aissue%20
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by reproducing the rename and type-change operations on a 4.6 GB SQLite database with 39 columns and 2 million rows, then trace the column-modification path. Done means both operations complete without hanging or leaving the database malformed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, sqlite
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100