This is an automated email from the ASF dual-hosted git repository.

jmalkin pushed a commit to branch cleanup
in repository https://gitbox.apache.org/repos/asf/datasketches-spark.git

commit f6c79bcea4027a3651373f4c74199fd0fb3af8e1
Author: Jon <[email protected]>
AuthorDate: Mon Jan 6 15:06:35 2025 -0800

    Remove now-deleted wrapper from codegen for expressions
---
 .../scala/org/apache/spark/sql/expressions/KllExpressions.scala  | 6 +++---
 .../scala/org/apache/spark/sql/types/KllDoublesSketchType.scala  | 9 +++++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git 
a/src/main/scala/org/apache/spark/sql/expressions/KllExpressions.scala 
b/src/main/scala/org/apache/spark/sql/expressions/KllExpressions.scala
index df2aa2f..745261b 100644
--- a/src/main/scala/org/apache/spark/sql/expressions/KllExpressions.scala
+++ b/src/main/scala/org/apache/spark/sql/expressions/KllExpressions.scala
@@ -67,7 +67,7 @@ case class KllGetMin(child: Expression)
     val code =
       s"""
          |${childEval.code}
-         |final org.apache.datasketches.kll.KllDoublesSketch $sketch = 
org.apache.spark.sql.types.KllDoublesSketchWrapper.wrapAsReadOnlySketch(${childEval.value});
+         |final org.apache.datasketches.kll.KllDoublesSketch $sketch = 
org.apache.spark.sql.types.KllDoublesSketchType.wrap(${childEval.value});
          |final double ${ev.value} = $sketch.getMinItem();
        """.stripMargin
     ev.copy(code = CodeBlock(Seq(code), Seq.empty), isNull = childEval.isNull)
@@ -117,7 +117,7 @@ case class KllGetMax(child: Expression)
     val code =
       s"""
          |${childEval.code}
-         |final org.apache.datasketches.kll.KllDoublesSketch $sketch = 
org.apache.spark.sql.types.KllDoublesSketchWrapper.wrapAsReadOnlySketch(${childEval.value});
+         |final org.apache.datasketches.kll.KllDoublesSketch $sketch = 
org.apache.spark.sql.types.KllDoublesSketchType.wrap(${childEval.value});
          |final double ${ev.value} = $sketch.getMaxItem();
        """.stripMargin
     ev.copy(code = CodeBlock(Seq(code), Seq.empty), isNull = childEval.isNull)
@@ -195,7 +195,7 @@ case class KllGetPmfCdf(left: Expression,
          |  ${ev.isNull} = true;
          |} else {
          |  QuantileSearchCriteria searchCriteria = ${if (isInclusive) 
"QuantileSearchCriteria.INCLUSIVE" else "QuantileSearchCriteria.EXCLUSIVE"};
-         |  final org.apache.datasketches.kll.KllDoublesSketch $sketch = 
org.apache.spark.sql.types.KllDoublesSketchWrapper.wrapAsReadOnlySketch(${sketchEval.value});
+         |  final org.apache.datasketches.kll.KllDoublesSketch $sketch = 
org.apache.spark.sql.types.KllDoublesSketchType.wrap(${sketchEval.value});
          |  final double[] splitPoints = 
((org.apache.spark.sql.catalyst.util.GenericArrayData)${splitPointsEval.value}).toDoubleArray();
          |  final double[] result = ${if (isPmf) s"$sketch.getPMF(splitPoints, 
searchCriteria)" else s"$sketch.getCDF(splitPoints, searchCriteria)"};
          |  GenericArrayData ${ev.value} = new GenericArrayData(result);
diff --git 
a/src/main/scala/org/apache/spark/sql/types/KllDoublesSketchType.scala 
b/src/main/scala/org/apache/spark/sql/types/KllDoublesSketchType.scala
index 790cd6e..fda471d 100644
--- a/src/main/scala/org/apache/spark/sql/types/KllDoublesSketchType.scala
+++ b/src/main/scala/org/apache/spark/sql/types/KllDoublesSketchType.scala
@@ -49,4 +49,13 @@ case object KllDoublesSketchType extends 
KllDoublesSketchType {
       deserialize(bytes)
     }
   })
+
+  // non-udf version
+  val wrap = ((bytes: Array[Byte]) => {
+    if (bytes == null) {
+      null
+    } else {
+      deserialize(bytes)
+    }
+  })
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to