Context
The spec (encoding-format/misc.md, vortex.datetimeparts) says validity delegates to the days child only — seconds and subseconds are always non-nullable.
DateTimePartsEncodingDecoder.java:70-82 intersects the validity of all three children. Because seconds and subseconds are decoded as non-nullable, they can never surface as MaskedArray, so the two extra instanceof MaskedArray checks are dead and the result is always equivalent to days-only delegation (matching the spec).
IntelliJ confirms: WEAK WARNING Value 'validity' is always 'null' at line 72 — the seconds branch never fires.
Fix
Drop the dead seconds/subseconds intersect branches. Keep only the days check. Update the comment from "a row is null when ANY component is null" to "delegates to days child per spec" — the current comment is inaccurate.
Reference
Spec: https://github.com/vortex-data/vortex/blob/mp/spec/docs/specification/encoding-format/misc.md
Context
The spec (
encoding-format/misc.md,vortex.datetimeparts) says validity delegates to thedayschild only —secondsandsubsecondsare always non-nullable.DateTimePartsEncodingDecoder.java:70-82intersects the validity of all three children. Becausesecondsandsubsecondsare decoded as non-nullable, they can never surface asMaskedArray, so the two extrainstanceof MaskedArraychecks are dead and the result is always equivalent todays-only delegation (matching the spec).IntelliJ confirms: WEAK WARNING
Value 'validity' is always 'null'at line 72 — thesecondsbranch never fires.Fix
Drop the dead
seconds/subsecondsintersect branches. Keep only thedayscheck. Update the comment from "a row is null when ANY component is null" to "delegates todayschild per spec" — the current comment is inaccurate.Reference
Spec:
https://github.com/vortex-data/vortex/blob/mp/spec/docs/specification/encoding-format/misc.md