11.125. Release 0.116
Cast between JSON and VARCHAR
Casts of both directions between JSON and VARCHAR have been removed. If youhave such casts in your scripts or views, they will fail with a message whenyou move to release 0.116. To get the semantics of the current casts, use:
- JSON_PARSE(x) instead of CAST(x as JSON)
- JSON_FORMAT(x) instead of CAST(x as VARCHAR)In a future release, we intend to reintroduce casts between JSON and VARCHARalong with other casts involving JSON. The semantics of the new JSON andVARCHAR cast will be consistent with the other casts being introduced. But itwill be different from the semantics in 0.115 and before. When that comes,cast between JSON and VARCHAR in old scripts and views will produce unexpectedresult.
Cluster Memory Manager Improvements
The cluster memory manager now has a low memory killer. If the cluster runs lowon memory, the killer will kill queries to improve throughput. It can be enabledwith the query.low-memory-killer.enabled
config flag, and the delay betweenwhen the cluster runs low on memory and when the killer will be invoked can beconfigured with the query.low-memory-killer.delay
option.
General Changes
- Add
multimap_agg()
function. - Add
checksum()
function. - Add
max()
andmin()
that takes a second argument and producesn
largest orn
smallest values. - Add
query_max_run_time
session property andquery.max-run-time
config. Queries are failed after the specified duration. - Removed
experimental.cluster-memory-manager-enabled
config. The clustermemory manager is now always enabled. - Removed
task.max-memory
config. optimizer.optimize-hash-generation
anddistributed-joins-enabled
areboth enabled by default now.- Add optimization for
IF
on a constant condition.