diff --git a/sql/core/src/test/resources/sql-tests/inputs/non-excludable-rule.sql b/sql/core/src/test/resources/sql-tests/inputs/non-excludable-rule.sql index e3799de5ff71..c02bc8c6063f 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/non-excludable-rule.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/non-excludable-rule.sql @@ -13,3 +13,7 @@ WITH tmp AS ( SELECT id FROM range(4) ) SELECT id FROM range(3) WHERE id > (SELECT max(id) FROM tmp); + +-- SPARK-36979 +SET spark.sql.optimizer.excludedRules=org.apache.spark.sql.catalyst.optimizer.RewriteLateralSubquery; +SELECT * FROM testData, LATERAL (SELECT * FROM testData) LIMIT 1; diff --git a/sql/core/src/test/resources/sql-tests/results/non-excludable-rule.sql.out b/sql/core/src/test/resources/sql-tests/results/non-excludable-rule.sql.out index b45e35ea4d8d..6a683995cc33 100644 --- a/sql/core/src/test/resources/sql-tests/results/non-excludable-rule.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/non-excludable-rule.sql.out @@ -37,3 +37,19 @@ SELECT id FROM range(3) WHERE id > (SELECT max(id) FROM tmp) struct -- !query output 2 + + +-- !query +SET spark.sql.optimizer.excludedRules=org.apache.spark.sql.catalyst.optimizer.RewriteLateralSubquery +-- !query schema +struct +-- !query output +spark.sql.optimizer.excludedRules org.apache.spark.sql.catalyst.optimizer.RewriteLateralSubquery + + +-- !query +SELECT * FROM testData, LATERAL (SELECT * FROM testData) LIMIT 1 +-- !query schema +struct +-- !query output +1 1 1 1 diff --git a/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala index 2bfaa5b22d5c..214306838402 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala @@ -4225,13 +4225,6 @@ class SQLQuerySuite extends QueryTest with SharedSparkSession with AdaptiveSpark checkAnswer(sql("""SELECT from_json(R'{"a": "\\"}', 'a string')"""), Row(Row("\\"))) } - test("SPARK-36979: Add RewriteLateralSubquery rule into nonExcludableRules") { - withSQLConf(SQLConf.OPTIMIZER_EXCLUDED_RULES.key -> - "org.apache.spark.sql.catalyst.optimizer.RewriteLateralSubquery") { - sql("SELECT * FROM testData, LATERAL (SELECT * FROM testData)").collect() - } - } - test("TABLE SAMPLE") { withTable("test") { sql("CREATE TABLE test(c int) USING PARQUET")