Skip to content

feat(extensions): add large container and date_millis extension types#979

Draft
kadinrabo wants to merge 17 commits intosubstrait-io:mainfrom
kadinrabo:feat/extension-types-containers-temporal
Draft

feat(extensions): add large container and date_millis extension types#979
kadinrabo wants to merge 17 commits intosubstrait-io:mainfrom
kadinrabo:feat/extension-types-containers-temporal

Conversation

@kadinrabo
Copy link
Copy Markdown
Contributor

@kadinrabo kadinrabo commented Feb 27, 2026

Adds type definitions for Arrow types that have a different value range than their Substrait core equivalents. Types only, no functions.

  • large_containers.yaml: large_string, large_binary, large_list (64-bit offsets)
  • fixed_size_list.yaml: fixed_size_list<value_type, dimension>
  • date_millis.yaml: date stored as milliseconds since epoch (64-bit)

Per Arrow's own taxonomy: "if two types have a different range, they are not encodings" and need extension types rather than type variations. https://github.com/apache/arrow/blob/879bbb3677fcde701dfed89c7d9abdf979271fcd/format/substrait/extension_types.yaml#L50-L51

Depends on #953.


This change is Reviewable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant