diff --git a/docs/source/user-guide/latest/expressions.md b/docs/source/user-guide/latest/expressions.md index fe42f49a47..e4a597beff 100644 --- a/docs/source/user-guide/latest/expressions.md +++ b/docs/source/user-guide/latest/expressions.md @@ -128,6 +128,7 @@ incompatible expressions. | BRound | `bround` | Yes | | | Ceil | `ceil` | Yes | | | Cos | `cos` | Yes | | +| Cot | `cot` | Yes | | | Divide | `/` | Yes | | | Exp | `exp` | Yes | | | Expm1 | `expm1` | Yes | | diff --git a/fuzz-testing/src/main/scala/org/apache/comet/fuzz/Meta.scala b/fuzz-testing/src/main/scala/org/apache/comet/fuzz/Meta.scala index 5e921df26c..2e29cb930b 100644 --- a/fuzz-testing/src/main/scala/org/apache/comet/fuzz/Meta.scala +++ b/fuzz-testing/src/main/scala/org/apache/comet/fuzz/Meta.scala @@ -114,6 +114,7 @@ object Meta { createUnaryNumericFunction("sin"), createUnaryNumericFunction("sqrt"), createUnaryNumericFunction("tan"), + createUnaryNumericFunction("cot"), createUnaryNumericFunction("ceil"), createUnaryNumericFunction("floor"), createFunctionWithInputTypes("unary_minus", Seq(SparkNumericType))) diff --git a/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala b/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala index 3e0e837c9c..1a67b9f245 100644 --- a/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala +++ b/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala @@ -128,6 +128,7 @@ object QueryPlanSerde extends Logging with CometExprShim { classOf[Sqrt] -> CometScalarFunction("sqrt"), classOf[Subtract] -> CometSubtract, classOf[Tan] -> CometScalarFunction("tan"), + classOf[Cot] -> CometScalarFunction("cot"), classOf[UnaryMinus] -> CometUnaryMinus, classOf[Unhex] -> CometUnhex, classOf[Abs] -> CometAbs) diff --git a/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala b/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala index e4fb08101d..88ba20f8c9 100644 --- a/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala +++ b/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala @@ -1352,7 +1352,8 @@ class CometExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelper { "log2", "sin", "sqrt", - "tan")) { + "tan", + "cot")) { val (_, cometPlan) = checkSparkAnswerAndOperatorWithTol(sql(s"SELECT $expr(_1), $expr(_2) FROM tbl")) val cometProjectExecs = collect(cometPlan) { case op: CometProjectExec =>