Release Date: April 30, 2025
Improvements
- Routine Load and Stream Load support the use of Lambda expressions in the
columnsparameter for complex column data extraction.array_filter/map_filtercan be used to filter and extract ARRAY/MAP data. Complex filtering and extraction of JSON data can be achieved by combining thecastfunction to convert JSON array/JSON object to ARRAY and MAP types. For example,COLUMNS (js, col=array_filter(i -> json_query(i, '$.type')=='t1', cast(js as Array<JSON>))[1])can extract the first JSON object from the JSON arrayjswheretypeist1. #58149 - Supports converting JSON objects to MAP type using the
castfunction, combined withmap_filterto extract items from the JSON object that meet specific conditions. For example,map_filter((k, v) -> json_query(v, '$.type') == 't1', cast(js AS MAP<String, JSON>))can extract the JSON object fromjswheretypeist1. #58045 - LIMIT is now supported when querying the
information_schema.task_runsview. #57404
Bug Fixes
The following issues have been fixed:
- Queries against ORC format Hive tables are returned with an error
OrcChunkReader::lazy_seek_to failed. reason = bad read in RleDecoderV2: :readByte. #57454 - RuntimeFilter from the upper layer could not be pushed down when querying Iceberg tables that contain Equality Delete files. #57651
- Enabling the spill-to-disk pre-aggregation strategy causes queries to fail. #58022
- Queries are returned with an error
ConstantRef-cmp-ConstantRef not supported here, null != 111 should be eliminated earlier. #57735 - Query timeout with the
query_queue_pending_timeout_secondparameter while the Query Queue feature is not enabled. #57719