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