-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sqlite3: fix parser #661
base: master
Are you sure you want to change the base?
sqlite3: fix parser #661
Conversation
- Make all database page types parseable - Add cell content overflow handling - Add UTF-16 text encoding support - Make free page list and overflow page lists accessible
This reverts commit 59110ce. kaitai-struct-compiler still generates an eager array
I tried to get kaitai struct working in lua and ended up here. It seems PR640 started work on fixing some of the problems but it was never merged. In any case I was able to parse my example db to some extent. It should be mentioned more clearly that since the pages are lazy loaded you will never see any actual pages, just the In any case, I am having issues with overflow pages. My example DB has page size of 4096 and page 2 is of type how to I access this offset content? I stepped through the parser and I my crude understanding is that there should be a When I look at page 6 it has 99 cells and each contains one property What's the state of this PR, can I do anything to help it along? edit: in fact, I would be happy to contribute a Lua tutorial, if I can get it working. |
abandoned
add example code (python, lua, ...) i needed this sqlite parser for my pysqlite3 to parse a partially-downloaded sqlite database kaitai does not support such lazy parsers kaitai is just a code-generator
overflow means, data is stored on multiple pages
cell.ofs_content is also used in connection._row_locations |
Yeah, I am trying to parse 'app size' sqlite dbs on limited hardware so lazy parsing isn't an issue. That's an interesting application you have, thanks for the pointers, I will have a look. |
continue #640
lazy pages based on #640 (comment)
rename fields from
*_index
toidx_*
vaguely based on style guide via #640 (comment)these are not physical offsets, so im not using
ofs_*
migration script:
will squash commits later