Vladislav Pyatkov created IGNITE-29157:
------------------------------------------
Summary: 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
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
(v8.20.10#820010)