From 2385e08d62b7ea1db1692bc6c968ba527d88b287 Mon Sep 17 00:00:00 2001 From: Ge Gao Date: Wed, 5 Nov 2025 16:02:58 -0800 Subject: [PATCH] Add dummy signature for cosine_similarity on Array(Real) --- .../presto/operator/scalar/MathFunctions.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/presto-main-base/src/main/java/com/facebook/presto/operator/scalar/MathFunctions.java b/presto-main-base/src/main/java/com/facebook/presto/operator/scalar/MathFunctions.java index 9d6048f484b83..d5e740ef33119 100644 --- a/presto-main-base/src/main/java/com/facebook/presto/operator/scalar/MathFunctions.java +++ b/presto-main-base/src/main/java/com/facebook/presto/operator/scalar/MathFunctions.java @@ -1651,7 +1651,7 @@ public static Double mapCosineSimilarity(@SqlType("map(varchar,double)") Block l @ScalarFunction("cosine_similarity") @SqlNullable @SqlType(StandardTypes.DOUBLE) - public static Double arrayCosineSimilarity(@SqlType("array(double)") Block leftArray, @SqlType("array(double)") Block rightArray) + public static Double arrayCosineSimilarityDouble(@SqlType("array(double)") Block leftArray, @SqlType("array(double)") Block rightArray) { checkCondition( leftArray.getPositionCount() == rightArray.getPositionCount(), @@ -1675,6 +1675,16 @@ public static Double arrayCosineSimilarity(@SqlType("array(double)") Block leftA return dotProduct / (normLeftArray * normRightArray); } + @Description("cosine similarity between the given identical sized vectors represented as arrays") + @ScalarFunction("cosine_similarity") + @SqlNullable + @SqlType(StandardTypes.REAL) + public static Long arrayCosineSimilarityReal(@SqlType("array(real)") Block leftArray, @SqlType("array(real)") Block rightArray) + { + throw new PrestoException(INVALID_FUNCTION_ARGUMENT, + "This is a dummy Java UDF signature. The actual implementation is in C++ and available in Prestissimo."); + } + @Description("squared Euclidean distance between the given identical sized vectors represented as arrays") @ScalarFunction("l2_squared") @SqlType(StandardTypes.REAL)