Skip to content

Commit d0f9faf

Browse files
dfa1claude
andcommitted
docs: add CODECS.md with codec and fixture coverage status
11/35 S3 fixtures decodable. Lists implemented codecs, missing codecs with effort estimates, and per-fixture status with blockers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 8927a7f commit d0f9faf

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

CODECS.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Codec Coverage
2+
3+
## Implemented
4+
5+
| Codec ID | Class | Dtypes supported |
6+
|------------------------|---------------------|-----------------------------------------|
7+
| `vortex.primitive` | `PrimitiveCodec` | all `PType` (I8–I64, U8–U64, F32, F64) |
8+
| `vortex.bool` | `BoolCodec` | Bool (bit-packed) |
9+
| `vortex.struct` | `StructCodec` | Struct (single-field unwrap + multi-field → StructArray) |
10+
| `vortex.constant` | `ConstantCodec` | Primitive, Utf8, Binary, Bool, Null, Decimal, Extension |
11+
| `vortex.dict` | `DictCodec` | Utf8/Binary values (VarBin only; VarBinView blocks dict.vortex) |
12+
| `vortex.sparse` | `SparseCodec` | Primitive (VarBinView blocks sparse.vortex) |
13+
| `vortex.varbin` | `VarBinCodec` | Utf8, Binary |
14+
| `vortex.fsst` | `FsstCodec` | Utf8, Binary |
15+
| `vortex.runend` | `RunEndCodec` | Primitive, Utf8/Binary, Bool |
16+
| `vortex.sequence` | `SequenceCodec` | Primitive |
17+
| `vortex.alp` | `AlpCodec` | F64, F32 |
18+
| `fastlanes.bitpacked` | `BitpackedCodec` | unsigned integer PTypes |
19+
| `fastlanes.for` | `FrameOfReferenceCodec` | integer PTypes |
20+
| `fastlanes.delta` | `DeltaCodec` | integer PTypes |
21+
| `vortex.pco` | `PcoCodec` | stub — throws (ANS + bin tokenization not ported) |
22+
23+
## Missing
24+
25+
| Codec ID | Effort | Unblocks |
26+
|----------------------------|---------|-------------------------------------------------|
27+
| `vortex.null` | trivial | `null.vortex` |
28+
| `vortex.bytebool` | low | `bytebool.vortex` |
29+
| `vortex.zigzag` | low | `zigzag.vortex` |
30+
| `vortex.ext` | low | `datetime.vortex` (transparent storage wrapper) |
31+
| `vortex.varbinview` | medium | `varbinview.vortex`, `dict.vortex`, `sparse.vortex` |
32+
| `vortex.chunked` | medium | `chunked.vortex` (segment-level chunked array) |
33+
| `fastlanes.rle` | medium | `rle.vortex` |
34+
| `vortex.alprd` | medium | `alprd.vortex` |
35+
| `vortex.decimal` | medium | `decimal.vortex` |
36+
| `vortex.decimal_byte_parts`| medium | `decimal_byte_parts.vortex` |
37+
| `vortex.datetimeparts` | medium | `datetimeparts.vortex` |
38+
| `vortex.list` | hard | `list.vortex` (needs list array model) |
39+
| `vortex.listview` | hard | `listview.vortex` |
40+
| `vortex.fixed_size_list` | hard | `fixed_size_list.vortex` |
41+
| `vortex.zstd` | hard | `zstd.vortex` (needs zstd native lib) |
42+
| `vortex.pco` (full) | very hard | `pco.vortex`, `tpch_*.vortex`, `clickbench_*.vortex` |
43+
44+
## S3 Fixture Status (`v0.72.0/arrays/`)
45+
46+
| Fixture | Status | Blocker |
47+
|----------------------------------|--------|-------------------------------|
48+
| `primitives.vortex` || |
49+
| `alp.vortex` || |
50+
| `bitpacked.vortex` || |
51+
| `booleans.vortex` || |
52+
| `constant.vortex` || |
53+
| `for.vortex` || |
54+
| `fsst.vortex` || |
55+
| `runend.vortex` || |
56+
| `sequence.vortex` || |
57+
| `varbin.vortex` || |
58+
| `struct_nested.vortex` || |
59+
| `null.vortex` || `vortex.null` not registered |
60+
| `bytebool.vortex` || `vortex.bytebool` missing |
61+
| `zigzag.vortex` || `vortex.zigzag` missing |
62+
| `datetime.vortex` || `vortex.ext` missing |
63+
| `dict.vortex` || `vortex.varbinview` missing |
64+
| `sparse.vortex` || `vortex.varbinview` missing |
65+
| `varbinview.vortex` || `vortex.varbinview` missing |
66+
| `chunked.vortex` || `vortex.chunked` at segment level |
67+
| `rle.vortex` || `fastlanes.rle` missing |
68+
| `alprd.vortex` || `vortex.alprd` missing |
69+
| `decimal.vortex` || `vortex.decimal` missing |
70+
| `decimal_byte_parts.vortex` || `vortex.decimal_byte_parts` missing |
71+
| `datetimeparts.vortex` || `vortex.datetimeparts` missing |
72+
| `list.vortex` || `vortex.list` + list array model |
73+
| `listview.vortex` || `vortex.listview` missing |
74+
| `fixed_size_list.vortex` || `vortex.fixed_size_list` missing |
75+
| `zstd.vortex` || needs zstd native library |
76+
| `tpch_lineitem.compact.vortex` || `vortex.pco` |
77+
| `tpch_lineitem.regular.vortex` || `vortex.pco` |
78+
| `tpch_orders.compact.vortex` || `vortex.pco` |
79+
| `tpch_orders.regular.vortex` || `vortex.pco` |
80+
| `pco.vortex` || `vortex.pco` |
81+
| `clickbench_hits_5k.compact.vortex` || `vortex.pco` |
82+
| `clickbench_hits_5k.regular.vortex` || `vortex.pco` |
83+
84+
**Score: 11/35** (including `for.vortex` scanned separately from `scan_fixture_decodesAllRows`)

0 commit comments

Comments
 (0)