5 ms·
Sqlite3 is universal, but now your spec is entirely reliant on Sqlite3's format and all the quirks required to support that. If you actually care about the fut
by mmastrac 3y ago
Sqlite3 is universal, but now your spec is entirely reliant on Sqlite3's format and all the quirks required to support that.
If you actually care about the future, spec out your own database format and use that instead. It could even be mostly a copy of Sqlite3, but at least it would be part of the spec itself.
- kevmo314 3y agoOn the other hand, by using Sqlite one can reimplement this format in another language with very little effort.
- KerrAvon 3y agoIt requires the sqlite3 library bindings, which might be a lot of effort.
- 0cf8612b2e1e 3y agoIs there a mainstream language which does not have SQLite bindings?
- remram 3y agoThat's not the usual meaning of "reimplement".
- lordmauve 3y ago> Most popular solutions like Zip, gzip, tar, RAR, or 7-Zip are near or more than three decades old. If I can't extract .pack archives 3 decades from now, the use of SQLite 3 will be the reason.
- rpdillon 3y agoWhat makes you think that? It's a very widely-used and stable format, cited as a great format for archival use. The Library of Congress has a page that goes into some depth with respect to their sustainability analysis for the format. https://www.loc.gov/preservation/digital/formats/fdd/fdd000461.shtml https://www.loc.gov/preservation/digital/formats/fdd/fdd0004...
- hgs3 3y agoYou're not "wrong" but Sqlite isn't your run-of-the-mill project. "The SQLite file format is stable, cross-platform, and backwards compatible and the developers pledge to keep it that way through the year 2050." [1] [1] https://www.sqlite.org/ https://www.sqlite.org/
- orf 3y agoHow different is this to any other run of the mill project with few active developers on a single implementation, with backwards compatibility based entirely on promises? Hot take: SQLite has bugs and quirks.
- paulddraper 3y agoHow many sqlite implementations are there? Do you need to generate sqlite bindings for every language/runtime? E g. Cloudflare workers
- wakawaka28 3y agoI suppose you do need bindings for every language. But sqlite is in C and is extremely popular. If you can't get bindings as one of the first third party libraries your language supports, it's probably a shitty language anyway.
- paulddraper 3y agoBrilliant
- OttoCoddo 3y agoA couple, but simple. No, you will only need Pack, everything is built into it. Pack is built for Windows and Linux, and more will come. You will be able to run it on almost all CPUs.
- sitkack 3y agosqlite should be an implementation detail. The table format should be fully documented and use a sqlite virtual table module.
- OttoCoddo 3y agoGood point, thank you. Note that SQLite format is very simple https://www.sqlite.org/fileformat.html https://www.sqlite.org/fileformat.html