You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Chris Johnson (Jira)" <ji...@apache.org> on 2026/08/24 19:36:00 UTC

[jira] [Created] (FLINK-40463) Widen JSON_VALUE and JSON_QUERY RETURNING type support

Chris Johnson created FLINK-40463:
-------------------------------------

             Summary: Widen JSON_VALUE and JSON_QUERY RETURNING type support
                 Key: FLINK-40463
                 URL: https://issues.apache.org/jira/browse/FLINK-40463
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / Planner
            Reporter: Chris Johnson


JSON_VALUE and JSON_QUERY both let users specify a return type with the RETURNING clause, but many common types are not supported.

JSON_VALUE only allows VARCHAR, BOOLEAN, INTEGER, and DOUBLE as return types. It should also support TINYINT, SMALLINT, BIGINT, FLOAT, and DECIMAL.

There are also two existing bugs in how INTEGER and DOUBLE results are converted. The code assumes the JSON library always returns the exact Java type it expects, but that is not the case -- for example, large numbers come back as Long instead of Integer, which causes a runtime error. The fix is to convert through java.lang.Number, which handles all numeric types correctly.

JSON_QUERY only allows RETURNING ARRAY<VARCHAR>. Other array types like ARRAY<INT> or ARRAY<BOOLEAN> are rejected, even though the underlying JSON data is perfectly valid. This forces users to extract as ARRAY<VARCHAR> and then convert each element themselves.

This ticket covers:
 # Adding the missing numeric return types to JSON_VALUE, and fixing the INTEGER/DOUBLE conversion bugs
 # Adding ARRAY<BOOLEAN> and ARRAY<numeric> support to JSON_QUERY
 # Fixing a copy-paste error where a JSON_QUERY error message incorrectly says "JSON_VALUE"



--
This message was sent by Atlassian Jira
(v8.20.10#820010)