[
https://issues.apache.org/jira/browse/IGNITE-29157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko reassigned IGNITE-29157:
----------------------------------------
Assignee: Vladislav Pyatkov (was: Kirill Tkalenko)
> 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
> Time Spent: 1h
> 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)