-
- Downloads
[SPARK-15425][SQL] Disallow cross joins by default
## What changes were proposed in this pull request? In order to prevent users from inadvertently writing queries with cartesian joins, this patch introduces a new conf `spark.sql.crossJoin.enabled` (set to `false` by default) that if not set, results in a `SparkException` if the query contains one or more cartesian products. ## How was this patch tested? Added a test to verify the new behavior in `JoinSuite`. Additionally, `SQLQuerySuite` and `SQLMetricsSuite` were modified to explicitly enable cartesian products. Author: Sameer Agarwal <sameer@databricks.com> Closes #13209 from sameeragarwal/disallow-cartesian.
Showing
- sql/core/src/main/scala/org/apache/spark/sql/execution/SparkStrategies.scala 2 additions, 1 deletion...cala/org/apache/spark/sql/execution/SparkStrategies.scala
- sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoinExec.scala 13 additions, 1 deletion...ark/sql/execution/joins/BroadcastNestedLoopJoinExec.scala
- sql/core/src/main/scala/org/apache/spark/sql/execution/joins/CartesianProductExec.scala 11 additions, 0 deletions...ache/spark/sql/execution/joins/CartesianProductExec.scala
- sql/core/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala 8 additions, 1 deletion...rc/main/scala/org/apache/spark/sql/internal/SQLConf.scala
- sql/core/src/test/scala/org/apache/spark/sql/JoinSuite.scala 23 additions, 8 deletionssql/core/src/test/scala/org/apache/spark/sql/JoinSuite.scala
- sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala 19 additions, 13 deletions...e/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala
- sql/core/src/test/scala/org/apache/spark/sql/execution/joins/InnerJoinSuite.scala 2 additions, 1 deletion...org/apache/spark/sql/execution/joins/InnerJoinSuite.scala
- sql/core/src/test/scala/org/apache/spark/sql/execution/metric/SQLMetricsSuite.scala 25 additions, 21 deletions...g/apache/spark/sql/execution/metric/SQLMetricsSuite.scala
- sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala 4 additions, 0 deletions...che/spark/sql/hive/execution/HiveCompatibilitySuite.scala
- sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala 6 additions, 0 deletions.../org/apache/spark/sql/hive/execution/HiveQuerySuite.scala
Loading
Please register or sign in to comment