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)

Reply via email to