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 e73cf12f79..a8c40ef0fb 100644 --- a/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala +++ b/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala @@ -91,9 +91,12 @@ object QueryPlanSerde extends Logging with CometExprShim with CometTypeShim { private[comet] val mathExpressions: Map[Class[_ <: Expression], CometExpressionSerde[_]] = Map( classOf[Acos] -> CometScalarFunction("acos"), + classOf[Acosh] -> CometScalarFunction("acosh"), classOf[Add] -> CometAdd, classOf[Asin] -> CometScalarFunction("asin"), + classOf[Asinh] -> CometScalarFunction("asinh"), classOf[Atan] -> CometScalarFunction("atan"), + classOf[Atanh] -> CometScalarFunction("atanh"), classOf[Atan2] -> CometAtan2, classOf[Ceil] -> CometCeil, classOf[Cos] -> CometScalarFunction("cos"), diff --git a/spark/src/test/resources/sql-tests/expressions/math/acosh.sql b/spark/src/test/resources/sql-tests/expressions/math/acosh.sql new file mode 100644 index 0000000000..f5e85d4be5 --- /dev/null +++ b/spark/src/test/resources/sql-tests/expressions/math/acosh.sql @@ -0,0 +1,31 @@ +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. + +-- ConfigMatrix: parquet.enable.dictionary=false,true + +statement +CREATE TABLE test_acosh(d double) USING parquet + +statement +INSERT INTO test_acosh VALUES (1.0), (2.0), (10.0), (100.0), (NULL), (cast('NaN' as double)), (cast('Infinity' as double)), (0.5) + +query tolerance=1e-6 +SELECT acosh(d) FROM test_acosh + +-- literal arguments +query tolerance=1e-6 +SELECT acosh(1.0), acosh(2.0), acosh(NULL) diff --git a/spark/src/test/resources/sql-tests/expressions/math/asinh.sql b/spark/src/test/resources/sql-tests/expressions/math/asinh.sql new file mode 100644 index 0000000000..0795edfafd --- /dev/null +++ b/spark/src/test/resources/sql-tests/expressions/math/asinh.sql @@ -0,0 +1,31 @@ +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. + +-- ConfigMatrix: parquet.enable.dictionary=false,true + +statement +CREATE TABLE test_asinh(d double) USING parquet + +statement +INSERT INTO test_asinh VALUES (0.0), (1.0), (-1.0), (100.0), (NULL), (cast('NaN' as double)), (cast('Infinity' as double)) + +query tolerance=1e-6 +SELECT asinh(d) FROM test_asinh + +-- literal arguments +query tolerance=1e-6 +SELECT asinh(0.0), asinh(1.0), asinh(NULL) diff --git a/spark/src/test/resources/sql-tests/expressions/math/atanh.sql b/spark/src/test/resources/sql-tests/expressions/math/atanh.sql new file mode 100644 index 0000000000..135714b244 --- /dev/null +++ b/spark/src/test/resources/sql-tests/expressions/math/atanh.sql @@ -0,0 +1,31 @@ +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. + +-- ConfigMatrix: parquet.enable.dictionary=false,true + +statement +CREATE TABLE test_atanh(d double) USING parquet + +statement +INSERT INTO test_atanh VALUES (0.0), (0.5), (-0.5), (1.0), (-1.0), (NULL), (cast('NaN' as double)), (2.0) + +query tolerance=1e-6 +SELECT atanh(d) FROM test_atanh + +-- literal arguments +query tolerance=1e-6 +SELECT atanh(0.0), atanh(0.5), atanh(NULL)