Description
The following data frame query should fail analysis but instead fails at runtime:
val df = Seq((1, 1)).toDF("a", "b") df.join(df, df.col("a"))
This should fail with an AnalysisException because the column "A" is not a boolean and thus cannot be used as a join condition.
This can be fixed by adding a new analysis rule which checks that the join condition has BooleanType.