Skip to content

DX-126900: [Java][Gandiva] Report time64 types as TIME64 in the expression registry - #35

Open
akravchukdremio wants to merge 1 commit into
dremio:dremio_27.0_23_19from
akravchukdremio:DX-126900-gandiva-time64
Open

akravchukdremio wants to merge 1 commit into
dremio:dremio_27.0_23_19from
akravchukdremio:DX-126900-gandiva-time64

Conversation

@akravchukdremio

Copy link
Copy Markdown

Rationale for this change

expression_registry_helper.cc mapped arrow::Type::TIME64 to GandivaType::TIME32. Java therefore saw Time(MICROSECOND, 32) / Time(NANOSECOND, 32) in ExpressionRegistry.getSupportedTypes() and in function signatures. It could never match the real 64-bit TIME(6) / TIME(9) types Dremio uses. This blocks Gandiva pushdown of the new time64 functions from dremio/arrow#146. Jira: https://dremio.atlassian.net/browse/DX-126900

What changes are included in this PR?

Are these changes tested?

Yes. Locally built JNI against dremio/arrow#146: ExpressionRegistryTest (6), ProjectorTest (43) and FilterTest (7) pass.

Are there any user-facing changes?

Time64 types and functions are now reported correctly by the Gandiva expression registry.

Merge after dremio/arrow#146.

🤖 Generated with Claude Code

…ssion registry

ArrowToProtobuf mapped arrow::Type::TIME64 to GandivaType::TIME32, so Java saw
Time(MICROSECOND, 32) / Time(NANOSECOND, 32) instead of the 64-bit types and could
never match Gandiva's time64 function signatures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant