You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 51ff934
Browse filesBrowse the repository at this point in the historyBrowse files
Record the first wave of Narrow and decimal PRs in the research
Lists the draft PRs and follow-up issues opened on 2026-10-23, and notes in the CD6 brief that it must update the round-trip check that CD2 adds.
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Copy file name to clipboardExpand all lines: research/decimal/04-implementation.md
+26-11Lines changed: 26 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,6 +83,19 @@ Later work: LT1 puts both formats into `core` and decides the end of the seriali
83
83
workaround. LT2 is the max pass in DecimalByteParts decoding (D16). LT3 is the pushdown of sum,
84
84
min and max into the MSP (D19). LT2 and LT3 wait until benchmarks show that they are needed.
85
85
86
+
## Status
87
+
88
+
The first wave opened on 2026-10-23 as draft PRs, all based on `develop` at `3974ee069c`:
89
+
90
+
| ID | PR | Note |
91
+
| --- | --- | --- |
92
+
| FX1 |#10755| Three commits, as planned. Its tests use a new `test_harness::assert_serde_error` helper |
93
+
| FX2 |#10746| As planned |
94
+
| FX3 |#10745| Fixes #10623. Non-nullable codes keep the fast path, because they need no fill code |
95
+
| CD1 |#10752| The compress bench enables the default `core` edition, so the decimal scheme uses its v1 variant |
96
+
| CD2 |#10753| Adds `fixtures_build_canonical_decimal_widths`, and two columns at precisions 1 and 3 |
97
+
| None |#10747| The versioning docs describe the scheme variants that #10076 added |
98
+
86
99
## Graph
87
100
88
101
Each solid arrow is a hard dependency. Some arrows also follow from other arrows. The graph keeps
@@ -203,17 +216,19 @@ publishes the CD2 fixtures also gates CD5 and CD6, so CD2 is worth landing in wa
203
216
204
217
## Follow-up issues
205
218
206
-
These problems came up during planning and are outside the planned PRs. Each one gets its own
207
-
issue.
208
-
209
-
1. Generic structural encodings always sit above other encodings. NR5 does this for `Narrow` only.
210
-
2. The decimal `min_max` aggregate panics on a valid value outside the precision, which a file read
211
-
can produce.
212
-
3. The cast rules of RunEnd, ZigZag, FoR and RLE push nullability casts down without the
213
-
`trivially_cast_nullability` guard that FX2 adds to DecimalByteParts.
214
-
4. The compat harness: no CI job runs `--mode all`, one failing fixture aborts the whole check, and
215
-
the README describes `--git-ref` wrongly.
216
-
5. Stale versioning docs about the decimal scheme and per-edition scheme configuration.
219
+
These problems came up during planning and the first wave of PRs. They are outside the planned
220
+
PRs, and each one has its own issue.
221
+
222
+
| Issue | Problem |
223
+
| --- | --- |
224
+
|#10748| Generic structural encodings always sit above other encodings. NR5 does this for `Narrow` only |
225
+
|#10749| Decimal `scalar_at` and `min_max` panic on a stored value outside the precision, which a file read can produce |
226
+
|#10750| Seven cast rules (RunEnd, ZigZag, FoR, RLE, ALP, ALP-RD, DateTimeParts) push nullability casts without the guard that FX2 adds to DecimalByteParts |
227
+
|#10751| The FoR scheme bit-packs its child outside the allowed schemes, so its child skips the edition filter |
228
+
|#10754| The compat harness: no CI job runs `--mode all`, one failing fixture stops the whole check, and the README describes `--git-ref` wrongly |
229
+
|#10756| Corrupt ALP-RD, RLE and RunEnd metadata can panic a file read |
230
+
231
+
The stale versioning docs needed no issue, because #10747 fixes them.
0 commit comments