From 1b1f005cafcdf785ffe83b852ccaedf5d019d0b4 Mon Sep 17 00:00:00 2001 From: Sreeni Viswanadha Date: Thu, 14 Mar 2024 14:48:58 -0700 Subject: [PATCH] Optimize MapNormalize --- .../presto/operator/scalar/sql/MapNormalizeFunction.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/presto-main/src/main/java/com/facebook/presto/operator/scalar/sql/MapNormalizeFunction.java b/presto-main/src/main/java/com/facebook/presto/operator/scalar/sql/MapNormalizeFunction.java index 19159879ec0c7..8040175aa1143 100644 --- a/presto-main/src/main/java/com/facebook/presto/operator/scalar/sql/MapNormalizeFunction.java +++ b/presto-main/src/main/java/com/facebook/presto/operator/scalar/sql/MapNormalizeFunction.java @@ -28,6 +28,8 @@ private MapNormalizeFunction() {} @SqlType("map") public static String arraySumDouble() { - return "RETURN transform_values(input, (k, v) -> (v / reduce(map_values(input), double '0.0', (s, x) -> (s + coalesce(x, double '0.0')), (s) -> s)))"; + return "RETURN " + + "transform(array[ROW(input, reduce(map_values(input), double '0.0', (s, x) -> (s + coalesce(x, double '0.0')), (s) -> s))], " + + "x->transform_values(x[1], (k, v) -> (v / x[2])))[1]"; } }