From 1cbad53bd309596ea7a829dd039dd392c2c92dae Mon Sep 17 00:00:00 2001 From: rich7420 Date: Sun, 13 Sep 2026 23:24:49 +0800 Subject: [PATCH] test: cover interval expression routing configurations --- .../math/routing_intervals_disabled.sql | 34 +++++++++++++++++++ .../math/routing_intervals_enabled.sql | 34 +++++++++++++++++++ .../math/routing_intervals_opt_in.sql | 34 +++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 spark/src/test/resources/sql-tests/expressions/math/routing_intervals_disabled.sql create mode 100644 spark/src/test/resources/sql-tests/expressions/math/routing_intervals_enabled.sql create mode 100644 spark/src/test/resources/sql-tests/expressions/math/routing_intervals_opt_in.sql diff --git a/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_disabled.sql b/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_disabled.sql new file mode 100644 index 00000000000..e9e0e2728f7 --- /dev/null +++ b/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_disabled.sql @@ -0,0 +1,34 @@ +-- 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. + +-- Config: spark.comet.exec.scalaUDF.codegen.enabled=false +-- Config: spark.comet.expression.MakeInterval.allowIncompatible=false + +statement +CREATE TABLE routing_intervals(i INT) USING parquet + +statement +INSERT INTO routing_intervals VALUES (-2), (0), (NULL) + +query expect_native(abs) +SELECT abs(i) FROM routing_intervals + +query expect_fallback(abs: spark.comet.exec.scalaUDF.codegen.enabled=false) +SELECT abs(make_dt_interval(i)), abs(make_ym_interval(i)) FROM routing_intervals + +query expect_fallback(make_interval: spark.comet.exec.scalaUDF.codegen.enabled=false) +SELECT make_interval(i, 0, 0, 0, 0, 0, 0) FROM routing_intervals diff --git a/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_enabled.sql b/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_enabled.sql new file mode 100644 index 00000000000..6f8dad1b404 --- /dev/null +++ b/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_enabled.sql @@ -0,0 +1,34 @@ +-- 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. + +-- Config: spark.comet.exec.scalaUDF.codegen.enabled=true +-- Config: spark.comet.expression.MakeInterval.allowIncompatible=false + +statement +CREATE TABLE routing_intervals(i INT) USING parquet + +statement +INSERT INTO routing_intervals VALUES (-2), (0), (NULL) + +query expect_native(abs) +SELECT abs(i) FROM routing_intervals + +query expect_dispatch(abs) +SELECT abs(make_dt_interval(i)), abs(make_ym_interval(i)) FROM routing_intervals + +query expect_dispatch(make_interval) +SELECT make_interval(i, 0, 0, 0, 0, 0, 0) FROM routing_intervals diff --git a/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_opt_in.sql b/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_opt_in.sql new file mode 100644 index 00000000000..06ebc9887f3 --- /dev/null +++ b/spark/src/test/resources/sql-tests/expressions/math/routing_intervals_opt_in.sql @@ -0,0 +1,34 @@ +-- 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. + +-- Config: spark.comet.exec.scalaUDF.codegen.enabled=false +-- Config: spark.comet.expression.MakeInterval.allowIncompatible=true + +statement +CREATE TABLE routing_intervals(i INT) USING parquet + +statement +INSERT INTO routing_intervals VALUES (-2), (0), (NULL) + +query expect_native(abs) +SELECT abs(i) FROM routing_intervals + +query expect_fallback(abs: spark.comet.exec.scalaUDF.codegen.enabled=false) +SELECT abs(make_dt_interval(i)), abs(make_ym_interval(i)) FROM routing_intervals + +query expect_native(make_interval) +SELECT make_interval(i, 0, 0, 0, 0, 0, 0) FROM routing_intervals