diff options
author | Herman van Hovell <hvanhovell@databricks.com> | 2016-08-02 10:09:47 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2016-08-02 10:09:47 -0700 |
commit | 2330f3ecbbd89c7eaab9cc0d06726aa743b16334 (patch) | |
tree | a92bd8441b13fa090a8c4f17fb402700aaefb674 /sql/catalyst/src/test | |
parent | 146001a9ffefc7aaedd3d888d68c7a9b80bca545 (diff) | |
download | spark-2330f3ecbbd89c7eaab9cc0d06726aa743b16334.tar.gz spark-2330f3ecbbd89c7eaab9cc0d06726aa743b16334.tar.bz2 spark-2330f3ecbbd89c7eaab9cc0d06726aa743b16334.zip |
[SPARK-16836][SQL] Add support for CURRENT_DATE/CURRENT_TIMESTAMP literals
## What changes were proposed in this pull request?
In Spark 1.6 (with Hive support) we could use `CURRENT_DATE` and `CURRENT_TIMESTAMP` functions as literals (without adding braces), for example:
```SQL
select /* Spark 1.6: */ current_date, /* Spark 1.6 & Spark 2.0: */ current_date()
```
This was accidentally dropped in Spark 2.0. This PR reinstates this functionality.
## How was this patch tested?
Added a case to ExpressionParserSuite.
Author: Herman van Hovell <hvanhovell@databricks.com>
Closes #14442 from hvanhovell/SPARK-16836.
Diffstat (limited to 'sql/catalyst/src/test')
-rw-r--r-- | sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala index e73592c7af..849d962128 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala @@ -502,4 +502,9 @@ class ExpressionParserSuite extends PlanTest { assertEqual("1 - f('o', o(bar))", Literal(1) - 'f.function("o", 'o.function('bar))) intercept("1 - f('o', o(bar)) hello * world", "mismatched input '*'") } + + test("current date/timestamp braceless expressions") { + assertEqual("current_date", CurrentDate()) + assertEqual("current_timestamp", CurrentTimestamp()) + } } |