Skip to main content

COL_ENC

Constant COL_ENC 

Source
pub const COL_ENC: &str = "enc";
Expand description

oid | object_type | mode | path | payload.

oid_len is a parameter because this engine serves both sha1 (20 bytes) and sha256 (32); a hardcoded 20 would silently truncate every sha256 key. How each row’s payload is stored — ENC_RAW or ENC_ZLIB. Lever 3 (2026-09-04): the eager pool was 1.67 GB of inflated commits and trees, 61 % of everything the store kept above the pack. Arrow IPC’s own body compression is per BUFFER, so a point read could not lift one row out of a compressed batch and the pread extent fast path — the whole reason the pool is fast — would have died with it (payload_data_offset refuses compressed batches for exactly that reason; MEASURED 200 000× read amplification without the extent). So the compression is per ROW: the extent pread returns one compressed payload and inflates just that one. zlib, because the crate already has it (flate2, zlib-rs — pure Rust), and because it is the codec git itself uses per object, so the ratios are known ground.