You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tw...@apache.org on 2018/08/02 16:17:15 UTC

[flink] branch master updated: [FLINK-6846] [table] Deprecate quarter() in Table API

This is an automated email from the ASF dual-hosted git repository.

twalthr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new 94ca19e  [FLINK-6846] [table] Deprecate quarter() in Table API
94ca19e is described below

commit 94ca19e6195dfc44c519aeaf4c31f8c2bd2535d2
Author: Timo Walther <tw...@apache.org>
AuthorDate: Thu Aug 2 16:39:46 2018 +0200

    [FLINK-6846] [table] Deprecate quarter() in Table API
---
 docs/dev/table/tableApi.md                         | 26 ++--------------------
 .../flink/table/api/scala/expressionDsl.scala      |  4 ++++
 .../apache/flink/table/expressions/symbols.scala   |  1 +
 .../org/apache/flink/table/expressions/time.scala  |  1 +
 .../table/expressions/ScalarFunctionsTest.scala    | 20 ++++++++++-------
 5 files changed, 20 insertions(+), 32 deletions(-)

diff --git a/docs/dev/table/tableApi.md b/docs/dev/table/tableApi.md
index 9abe17f..bd9d286 100644
--- a/docs/dev/table/tableApi.md
+++ b/docs/dev/table/tableApi.md
@@ -2783,7 +2783,7 @@ TEMPORAL.extract(TIMEINTERVALUNIT)
 {% endhighlight %}
       </td>
       <td>
-        <p>Extracts parts of a time point or time interval. Returns the part as a long value. E.g. <code>'2006-06-05'.toDate.extract(DAY)</code> leads to 5.</p>
+        <p>Extracts parts of a time point or time interval. Returns the part as a long value. E.g. <code>'2006-06-05'.toDate.extract(DAY)</code> leads to 5 or <code>'2006-06-05'.toDate.extract(QUARTER)</code> leads to 2.</p>
       </td>
     </tr>
 
@@ -2812,17 +2812,6 @@ TIMEPOINT.ceil(TIMEINTERVALUNIT)
     <tr>
       <td>
         {% highlight java %}
-DATE.quarter()
-{% endhighlight %}
-      </td>
-      <td>
-        <p>Returns the quarter of a year from a SQL date. E.g. <code>'1994-09-27'.toDate.quarter()</code> leads to 3.</p>
-      </td>
-    </tr>
-
-    <tr>
-      <td>
-        {% highlight java %}
 temporalOverlaps(TIMEPOINT, TEMPORAL, TIMEPOINT, TEMPORAL)
 {% endhighlight %}
       </td>
@@ -4311,7 +4300,7 @@ TEMPORAL.extract(TimeIntervalUnit)
 {% endhighlight %}
       </td>
       <td>
-        <p>Extracts parts of a time point or time interval. Returns the part as a long value. E.g. <code>"2006-06-05".toDate.extract(TimeIntervalUnit.DAY)</code> leads to 5.</p>
+        <p>Extracts parts of a time point or time interval. Returns the part as a long value. E.g. <code>"2006-06-05".toDate.extract(TimeIntervalUnit.DAY)</code> leads to 5 or <code>'2006-06-05'.toDate.extract(QUARTER)</code> leads to 2.</p>
       </td>
     </tr>
 
@@ -4340,17 +4329,6 @@ TIMEPOINT.ceil(TimeIntervalUnit)
     <tr>
       <td>
         {% highlight scala %}
-DATE.quarter()
-{% endhighlight %}
-      </td>
-      <td>
-        <p>Returns the quarter of a year from a SQL date. E.g. <code>"1994-09-27".toDate.quarter()</code> leads to 3.</p>
-      </td>
-    </tr>
-
-    <tr>
-      <td>
-        {% highlight scala %}
 temporalOverlaps(TIMEPOINT, TEMPORAL, TIMEPOINT, TEMPORAL)
 {% endhighlight %}
       </td>
diff --git a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/scala/expressionDsl.scala b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/scala/expressionDsl.scala
index 8aa5f8a..91d72ce 100644
--- a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/scala/expressionDsl.scala
+++ b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/scala/expressionDsl.scala
@@ -577,7 +577,11 @@ trait ImplicitExpressionOperations {
     * Returns the quarter of a year from a SQL date.
     *
     * e.g. "1994-09-27".toDate.quarter() leads to 3
+    *
+    * @deprecated This method will be used for describing an interval of months in future versions.
+    *             Use `extract(TimeIntervalUnit.QUARTER)` instead.
     */
+  @deprecated
   def quarter() = Quarter(expr)
 
   /**
diff --git a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/symbols.scala b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/symbols.scala
index 4faf8d3..ec127e2 100644
--- a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/symbols.scala
+++ b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/symbols.scala
@@ -85,6 +85,7 @@ object TimeIntervalUnit extends TableSymbols {
   val YEAR = Value(TimeUnitRange.YEAR)
   val YEAR_TO_MONTH = Value(TimeUnitRange.YEAR_TO_MONTH)
   val MONTH = Value(TimeUnitRange.MONTH)
+  val QUARTER = Value(TimeUnitRange.QUARTER)
   val DAY = Value(TimeUnitRange.DAY)
   val DAY_TO_HOUR = Value(TimeUnitRange.DAY_TO_HOUR)
   val DAY_TO_MINUTE = Value(TimeUnitRange.DAY_TO_MINUTE)
diff --git a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/time.scala b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/time.scala
index f231343..5dff774 100644
--- a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/time.scala
+++ b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/time.scala
@@ -48,6 +48,7 @@ case class Extract(timeIntervalUnit: Expression, temporal: Expression) extends E
     timeIntervalUnit match {
       case SymbolExpression(TimeIntervalUnit.YEAR)
            | SymbolExpression(TimeIntervalUnit.MONTH)
+           | SymbolExpression(TimeIntervalUnit.QUARTER)
            | SymbolExpression(TimeIntervalUnit.DAY)
         if temporal.resultType == SqlTimeTypeInfo.DATE
           || temporal.resultType == SqlTimeTypeInfo.TIMESTAMP
diff --git a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/ScalarFunctionsTest.scala b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/ScalarFunctionsTest.scala
index 44cc182..453de19 100644
--- a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/ScalarFunctionsTest.scala
+++ b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/ScalarFunctionsTest.scala
@@ -1544,6 +1544,18 @@ class ScalarFunctionsTest extends ScalarTypesTestBase {
       "EXTRACT(YEAR FROM f20)",
       "2")
 
+    testAllApis(
+      'f18.extract(TimeIntervalUnit.QUARTER),
+      "f18.extract(QUARTER)",
+      "EXTRACT(QUARTER FROM f18)",
+      "4")
+
+    testAllApis(
+      'f16.extract(TimeIntervalUnit.QUARTER),
+      "f16.extract(QUARTER)",
+      "EXTRACT(QUARTER FROM f16)",
+      "4")
+
     // test SQL only time units
     testSqlApi(
       "EXTRACT(MILLENNIUM FROM f18)",
@@ -1578,14 +1590,6 @@ class ScalarFunctionsTest extends ScalarTypesTestBase {
       "1")
 
     testSqlApi(
-      "EXTRACT(QUARTER FROM f18)",
-      "4")
-
-    testSqlApi(
-      "EXTRACT(QUARTER FROM f16)",
-      "4")
-
-    testSqlApi(
       "EXTRACT(WEEK FROM f18)",
       "45")