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 43150fd8ddc52..7b84ff08bc05b 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 @@ -300,8 +300,22 @@ class SQLQuerySuite extends QueryTest with BeforeAndAfterAll { test("left semi greater than predicate and equal operator") { checkAnswer( - sql("SELECT * FROM testData2 x LEFT SEMI JOIN testData2 y ON x.b = y.b and x.a >= y.a + 2"), - Seq(Row(3,1), Row(3,2)) + sql(""" + |SELECT * FROM testData2 x + |LEFT SEMI JOIN testData4 y + |ON x.b = y.b + |AND x.a >= y.a + 2""".stripMargin), + Seq(Row(2,1), Row(2,2), Row(3,1), Row(3,2)) + ) + + checkAnswer( + sql(""" + |SELECT * FROM testData2 x + |LEFT SEMI JOIN testData4 y + |ON x.b = y.b + |AND x.a >= y.a + 2 + |AND x.a >= y.a + 1""".stripMargin), + Seq(Row(2,1), Row(2,2), Row(3,1), Row(3,2)) ) } diff --git a/sql/core/src/test/scala/org/apache/spark/sql/TestData.scala b/sql/core/src/test/scala/org/apache/spark/sql/TestData.scala index 225b51bd73d6c..6c09ccfa7bcd9 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/TestData.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/TestData.scala @@ -86,6 +86,15 @@ object TestData { TestData3(2, Some(2)) :: Nil).toDF() testData3.registerTempTable("testData3") + case class TestData4(a: Int, b: Int) + val testData4 = + TestSQLContext.sparkContext.parallelize( + TestData4(0, 1) :: + TestData4(1, 1) :: + TestData4(0, 2) :: + TestData4(1, 2) :: Nil, 2).toDF() + testData4.registerTempTable("testData4") + val emptyTableData = logical.LocalRelation($"a".int, $"b".int) case class UpperCaseData(N: Int, L: String)