spark git commit: [SPARK-11768][SPARK-9196][SQL] Support now function in SQL (alias for current_timestamp).

2015-11-16 Thread rxin
Repository: spark
Updated Branches:
  refs/heads/branch-1.6 5a6f40459 -> 07ac8e950


[SPARK-11768][SPARK-9196][SQL] Support now function in SQL (alias for 
current_timestamp).

This patch adds an alias for current_timestamp (now function).

Also fixes SPARK-9196 to re-enable the test case for current_timestamp.

Author: Reynold Xin 

Closes #9753 from rxin/SPARK-11768.

(cherry picked from commit fbad920dbfd6f389dea852cdc159cacb0f4f6997)
Signed-off-by: Reynold Xin 


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/07ac8e95
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/07ac8e95
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/07ac8e95

Branch: refs/heads/branch-1.6
Commit: 07ac8e95070ef1cb22641de9159479294a6cd774
Parents: 5a6f404
Author: Reynold Xin 
Authored: Mon Nov 16 20:47:46 2015 -0800
Committer: Reynold Xin 
Committed: Mon Nov 16 20:47:59 2015 -0800

--
 .../sql/catalyst/analysis/FunctionRegistry.scala  |  1 +
 .../org/apache/spark/sql/DateFunctionsSuite.scala | 18 --
 2 files changed, 13 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/spark/blob/07ac8e95/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
--
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
index a8f4d25..f9c04d7 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
@@ -244,6 +244,7 @@ object FunctionRegistry {
 expression[AddMonths]("add_months"),
 expression[CurrentDate]("current_date"),
 expression[CurrentTimestamp]("current_timestamp"),
+expression[CurrentTimestamp]("now"),
 expression[DateDiff]("datediff"),
 expression[DateAdd]("date_add"),
 expression[DateFormatClass]("date_format"),

http://git-wip-us.apache.org/repos/asf/spark/blob/07ac8e95/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
--
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
index 1266d53..241cbd0 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
@@ -38,15 +38,21 @@ class DateFunctionsSuite extends QueryTest with 
SharedSQLContext {
 assert(d0 <= d1 && d1 <= d2 && d2 <= d3 && d3 - d0 <= 1)
   }
 
-  // This is a bad test. SPARK-9196 will fix it and re-enable it.
-  ignore("function current_timestamp") {
+  test("function current_timestamp and now") {
 val df1 = Seq((1, 2), (3, 1)).toDF("a", "b")
 checkAnswer(df1.select(countDistinct(current_timestamp())), Row(1))
+
 // Execution in one query should return the same value
-checkAnswer(sql("""SELECT CURRENT_TIMESTAMP() = CURRENT_TIMESTAMP()"""),
-  Row(true))
-assert(math.abs(sql("""SELECT 
CURRENT_TIMESTAMP()""").collect().head.getTimestamp(
-  0).getTime - System.currentTimeMillis()) < 5000)
+checkAnswer(sql("""SELECT CURRENT_TIMESTAMP() = CURRENT_TIMESTAMP()"""), 
Row(true))
+
+// Current timestamp should return the current timestamp ...
+val before = System.currentTimeMillis
+val got = sql("SELECT 
CURRENT_TIMESTAMP()").collect().head.getTimestamp(0).getTime
+val after = System.currentTimeMillis
+assert(got >= before && got <= after)
+
+// Now alias
+checkAnswer(sql("""SELECT CURRENT_TIMESTAMP() = NOW()"""), Row(true))
   }
 
   val sdf = new SimpleDateFormat("-MM-dd HH:mm:ss")


-
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org



spark git commit: [SPARK-11768][SPARK-9196][SQL] Support now function in SQL (alias for current_timestamp).

2015-11-16 Thread rxin
Repository: spark
Updated Branches:
  refs/heads/master 540bf58f1 -> fbad920db


[SPARK-11768][SPARK-9196][SQL] Support now function in SQL (alias for 
current_timestamp).

This patch adds an alias for current_timestamp (now function).

Also fixes SPARK-9196 to re-enable the test case for current_timestamp.

Author: Reynold Xin 

Closes #9753 from rxin/SPARK-11768.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/fbad920d
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/fbad920d
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/fbad920d

Branch: refs/heads/master
Commit: fbad920dbfd6f389dea852cdc159cacb0f4f6997
Parents: 540bf58
Author: Reynold Xin 
Authored: Mon Nov 16 20:47:46 2015 -0800
Committer: Reynold Xin 
Committed: Mon Nov 16 20:47:46 2015 -0800

--
 .../sql/catalyst/analysis/FunctionRegistry.scala  |  1 +
 .../org/apache/spark/sql/DateFunctionsSuite.scala | 18 --
 2 files changed, 13 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/spark/blob/fbad920d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
--
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
index a8f4d25..f9c04d7 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala
@@ -244,6 +244,7 @@ object FunctionRegistry {
 expression[AddMonths]("add_months"),
 expression[CurrentDate]("current_date"),
 expression[CurrentTimestamp]("current_timestamp"),
+expression[CurrentTimestamp]("now"),
 expression[DateDiff]("datediff"),
 expression[DateAdd]("date_add"),
 expression[DateFormatClass]("date_format"),

http://git-wip-us.apache.org/repos/asf/spark/blob/fbad920d/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
--
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
index 1266d53..241cbd0 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala
@@ -38,15 +38,21 @@ class DateFunctionsSuite extends QueryTest with 
SharedSQLContext {
 assert(d0 <= d1 && d1 <= d2 && d2 <= d3 && d3 - d0 <= 1)
   }
 
-  // This is a bad test. SPARK-9196 will fix it and re-enable it.
-  ignore("function current_timestamp") {
+  test("function current_timestamp and now") {
 val df1 = Seq((1, 2), (3, 1)).toDF("a", "b")
 checkAnswer(df1.select(countDistinct(current_timestamp())), Row(1))
+
 // Execution in one query should return the same value
-checkAnswer(sql("""SELECT CURRENT_TIMESTAMP() = CURRENT_TIMESTAMP()"""),
-  Row(true))
-assert(math.abs(sql("""SELECT 
CURRENT_TIMESTAMP()""").collect().head.getTimestamp(
-  0).getTime - System.currentTimeMillis()) < 5000)
+checkAnswer(sql("""SELECT CURRENT_TIMESTAMP() = CURRENT_TIMESTAMP()"""), 
Row(true))
+
+// Current timestamp should return the current timestamp ...
+val before = System.currentTimeMillis
+val got = sql("SELECT 
CURRENT_TIMESTAMP()").collect().head.getTimestamp(0).getTime
+val after = System.currentTimeMillis
+assert(got >= before && got <= after)
+
+// Now alias
+checkAnswer(sql("""SELECT CURRENT_TIMESTAMP() = NOW()"""), Row(true))
   }
 
   val sdf = new SimpleDateFormat("-MM-dd HH:mm:ss")


-
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org