Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.
|Comment:||Update the README.md file to talk about the difference between the zlib compression format and the raw deflate compression format and why SQLAR uses the zlib format.|
|Downloads:||Tarball | ZIP archive | SQL archive|
|Timelines:||family | ancestors | trunk|
|Files:||files | file ages | folders|
|User & Date:||drh 2018-01-07 19:37:12|
|19:37||Update the README.md file to talk about the difference between the zlib compression format and the raw deflate compression format and why SQLAR uses the zlib format. Leaf check-in: 4824e73896 user: drh tags: trunk|
|16:24||Update README.md to describe how symbolic links are stored in an archive. check-in: ef2844a7e0 user: dan tags: trunk|
Changes to README.md.
1 1 <h1 align="center">SQLAR - SQLite Archiver</h1> 2 2 3 -This repository contains sources for a proof-of-concept "SQLite Archiver" 3 +This repository contains sources for the "SQLite Archiver" 4 4 program. This program (named "sqlar") operates much like "zip", except that 5 5 the compressed archive it builds is stored in an SQLite database instead 6 6 of a ZIP archive. 7 7 8 8 The motivation for this is to see how much larger an SQLite database file 9 9 is compared to a ZIP archive containing the same content. The answer depends 10 10 on the filenames, but 2% seems to be a reasonable guess. In other words, ................................................................................ 64 64 Both directories and empty files have sqlar.sz==0. Directories can be 65 65 distinguished from empty files because directories have sqlar.data IS NULL. 66 66 The file is compressed if length(sqlar.blob)<sqlar.sz and is stored 67 67 as plaintext if length(sqlar.blob)==sqlar.sz. 68 68 69 69 Symbolic links have sqlar.sz set to -1, and the link target stored as 70 70 a text value in the sqlar.data field. 71 + 72 +SQLAR uses the "zlib format" for compression. ZIP uses the raw deflate format. 73 +The difference is that the zlib format contains a two byte compression-type 74 +indentification header (0x78 0x9c) and a 4-byte checksum at the end. Thus 75 +the "data" for SQLAR is always 6 bytes larger than the equivalent data for 76 +ZIP. The SQLAR program uses the zlib format rather than the slightly smaller 77 +raw deflate format because that is what the 78 +[zlib documentation](https://www.zlib.net/manual.html) recommends. 79 + 80 +SQLAR might someday be extended to support additional compression formats 81 +other than deflate. If so, the data field will contain new header values to 82 +identify entries compressed using the new formats. 71 83 72 84 ## Fuse Filesystem 73 85 74 86 An SQLite Archive file can be mounted as a 75 87 [Fuse Filesystem](http://fuse.sourceforge.net) using the "sqlarfs" 76 88 utility, including with this project. 77 89