[
https://issues.apache.org/jira/browse/IGNITE-29157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18132222#comment-18132222
]
Ignite TC Bot commented on IGNITE-29157:
----------------------------------------
Calcite SQL: Fixed nested ROW, ARRAY, and MAP query results to return external
Java value types.
The Release Note field has been filled with the wording above. Please review it
and edit it if needed.
> SQL Calcite: Convert nested SQL values to external Java types in query results
> ------------------------------------------------------------------------------
>
> Key: IGNITE-29157
> URL: https://issues.apache.org/jira/browse/IGNITE-29157
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladislav Pyatkov
> Assignee: Vladislav Pyatkov
> Priority: Major
> Labels: calcite, ignite-2, sql
> Fix For: 2.19
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> The Calcite query engine converts scalar result columns to external Java
> types, but does not apply equivalent conversions to values nested inside
> {{ROW}}, {{ARRAY}}, and {{MAP}}.
> For example:
> {code:sql}
> SELECT DATE '2026-01-01';
> -- Returns java.sql.Date.
> SELECT ARRAY[DATE '2026-01-01'];
> -- Returns a List containing Integer 20454.
> SELECT ROW(DATE '2026-01-01', 42);
> -- Returns Object[] with Integer 20454 in the first field.
> SELECT MAP['date', DATE '2026-01-01'];
> -- Returns a Map containing Integer 20454 as the value.
> {code}
> The same issue affects time, timestamp, interval, and binary values: internal
> representations are exposed to the caller.
> h3. Definition of done
> * Values inside ROW, ARRAY, and MAP are recursively converted to external
> Java types.
> * NULL values and source containers are preserved.
> * Values requiring no conversion retain the existing fast path.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)