Open DavidBuchanan314 opened 6 months ago
Sure. For the time being, checking the reference code and emailing me can be helpful.
I took a stab at implementing this in Rust. It was a very interesting endeavor, but ultimately unsuccessful due to it being too slow. In the README I describe the basic file format: https://github.com/nlfiedler/pack-rs
Interesting work, @nlfiedler. Thank you for taking the time. Here are some notes out of respect for your work:
ZSTD_isFrame()
.On your notes:
If you want to continue discussing this subject or more clarification on the file format, you can email me, o at pack.ac.
Thank you for the suggestion about re-using the byte buffer, that helped significantly.
Welcome.
@OttoCoddo
Are there any place where table structure is defined/documented? I've seen it somewhere, but having it officially documented would be great. Documentation on pack.ac is barebones. Having something like this https://github.com/nlfiedler/pack-rs?tab=readme-ov-file#item would be fantastic. Maybe keep it in GitHub repo and embed into website somehow? Either link, iframe or fetching on build step
As far as I've seen the format, everything makes sense. Well, keeping original magic byte would be very useful on practice, and defining sqlite application format instead. Which means integrating Pack becomes walk in the park, by using existing tooling for whatever language you need.
--activate-other-options --transform-to-sqlite3
parameter to transform a Pack file to SQLite3, and use the --activate-other-options --transform-to-pack
to go back.
Please specify the file format.