Skip to content

Commit 0ca51cc

Browse files
YanTangZhaimarmbrus
authored andcommitted
[SPARK-4692] [SQL] Support ! boolean logic operator like NOT
Support ! boolean logic operator like NOT in sql as follows select * from for_test where !(col1 > col2) Author: YanTangZhai <hakeemzhai@tencent.com> Author: Michael Armbrust <michael@databricks.com> Closes apache#3555 from YanTangZhai/SPARK-4692 and squashes the following commits: 1a9f605 [YanTangZhai] Update HiveQuerySuite.scala 7c03c68 [YanTangZhai] Merge pull request apache#23 from apache/master 992046e [YanTangZhai] Update HiveQuerySuite.scala ea618f4 [YanTangZhai] Update HiveQuerySuite.scala 192411d [YanTangZhai] Merge pull request apache#17 from YanTangZhai/master e4c2c0a [YanTangZhai] Merge pull request #15 from apache/master 1e1ebb4 [YanTangZhai] Update HiveQuerySuite.scala efc4210 [YanTangZhai] Update HiveQuerySuite.scala bd2c444 [YanTangZhai] Update HiveQuerySuite.scala 1893956 [YanTangZhai] Merge pull request #14 from marmbrus/pr/3555 59e4de9 [Michael Armbrust] make hive test 718afeb [YanTangZhai] Merge pull request #12 from apache/master 950b21e [YanTangZhai] Update HiveQuerySuite.scala 74175b4 [YanTangZhai] Update HiveQuerySuite.scala 92242c7 [YanTangZhai] Update HiveQl.scala 6e643f8 [YanTangZhai] Merge pull request #11 from apache/master e249846 [YanTangZhai] Merge pull request #10 from apache/master d26d982 [YanTangZhai] Merge pull request #9 from apache/master 76d4027 [YanTangZhai] Merge pull request #8 from apache/master 03b62b0 [YanTangZhai] Merge pull request #7 from apache/master 8a00106 [YanTangZhai] Merge pull request #6 from apache/master cbcba66 [YanTangZhai] Merge pull request #3 from apache/master cdef539 [YanTangZhai] Merge pull request #1 from apache/master
1 parent 3684fd2 commit 0ca51cc

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,7 @@ https://cwiki.apache.org/confluence/display/Hive/Enhanced+Aggregation%2C+Cube%2C
11111111
case Token(AND(), left :: right:: Nil) => And(nodeToExpr(left), nodeToExpr(right))
11121112
case Token(OR(), left :: right:: Nil) => Or(nodeToExpr(left), nodeToExpr(right))
11131113
case Token(NOT(), child :: Nil) => Not(nodeToExpr(child))
1114+
case Token("!", child :: Nil) => Not(nodeToExpr(child))
11141115

11151116
/* Case statements */
11161117
case Token("TOK_FUNCTION", Token(WHEN(), Nil) :: branches) =>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1

sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ class HiveQuerySuite extends HiveComparisonTest with BeforeAndAfter {
6262
sql("SHOW TABLES")
6363
}
6464
}
65+
66+
createQueryTest("! operator",
67+
"""
68+
|SELECT a FROM (
69+
| SELECT 1 AS a FROM src LIMIT 1 UNION ALL
70+
| SELECT 2 AS a FROM src LIMIT 1) table
71+
|WHERE !(a>1)
72+
""".stripMargin)
6573

6674
createQueryTest("constant object inspector for generic udf",
6775
"""SELECT named_struct(

0 commit comments

Comments
 (0)