Repository: flink
Updated Branches:
  refs/heads/master f471888ec -> 4dfefd042


[FLINK-6429] [table] Fix build and simplifications


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

Branch: refs/heads/master
Commit: 4dfefd042b151a2ecf8d947da5364fc81470f3d9
Parents: d5770fe
Author: twalthr <twal...@apache.org>
Authored: Tue Aug 8 11:20:02 2017 +0200
Committer: twalthr <twal...@apache.org>
Committed: Tue Aug 8 12:56:34 2017 +0200

----------------------------------------------------------------------
 .../sql/fun/SqlTimestampAddFunction.java        | 97 --------------------
 .../apache/flink/table/expressions/time.scala   |  3 +-
 .../table/expressions/ScalarFunctionsTest.scala |  5 +-
 .../ScalarFunctionsValidationTest.scala         |  9 +-
 tools/maven/spotbugs-exclude.xml                |  5 +
 5 files changed, 11 insertions(+), 108 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/4dfefd04/flink-libraries/flink-table/src/main/java/org/apache/calcite/sql/fun/SqlTimestampAddFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-libraries/flink-table/src/main/java/org/apache/calcite/sql/fun/SqlTimestampAddFunction.java
 
b/flink-libraries/flink-table/src/main/java/org/apache/calcite/sql/fun/SqlTimestampAddFunction.java
deleted file mode 100644
index 34297ab..0000000
--- 
a/flink-libraries/flink-table/src/main/java/org/apache/calcite/sql/fun/SqlTimestampAddFunction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.calcite.sql.fun;
-
-/*
- * THIS FILE HAS BEEN COPIED FROM THE APACHE CALCITE PROJECT UNTIL WE UPGRADE 
TO CALCITE 1.13.
- */
-
-import org.apache.calcite.avatica.util.TimeUnit;
-import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.rel.type.RelDataTypeFactory;
-import org.apache.calcite.sql.SqlFunction;
-import org.apache.calcite.sql.SqlFunctionCategory;
-import org.apache.calcite.sql.SqlKind;
-import org.apache.calcite.sql.SqlOperatorBinding;
-import org.apache.calcite.sql.type.OperandTypes;
-import org.apache.calcite.sql.type.SqlReturnTypeInference;
-import org.apache.calcite.sql.type.SqlTypeFamily;
-import org.apache.calcite.sql.type.SqlTypeName;
-
-/**
- *
- * The <code>TIMESTAMPADD</code> function, which adds an interval to a
- * timestamp.
- *
- * <p>The SQL syntax is
- *
- * <blockquote>
- * <code>TIMESTAMPADD(<i>timestamp interval</i>, <i>quantity</i>,
- * <i>timestamp</i>)</code>
- * </blockquote>
- *
- * <p>The interval time unit can one of the following literals:<ul>
- * <li>MICROSECOND (and synonyms SQL_TSI_MICROSECOND, FRAC_SECOND,
- *     SQL_TSI_FRAC_SECOND)
- * <li>SECOND (and synonym SQL_TSI_SECOND)
- * <li>MINUTE (and synonym  SQL_TSI_MINUTE)
- * <li>HOUR (and synonym  SQL_TSI_HOUR)
- * <li>DAY (and synonym SQL_TSI_DAY)
- * <li>WEEK (and synonym  SQL_TSI_WEEK)
- * <li>MONTH (and synonym SQL_TSI_MONTH)
- * <li>QUARTER (and synonym SQL_TSI_QUARTER)
- * <li>YEAR (and synonym  SQL_TSI_YEAR)
- * </ul>
- *
- * <p>Returns modified timestamp.
- *
- * __Note__: Due to the change of [[org.apache.calcite.rex.RexLiteral]] we 
should keep using this
- * class until upgrade to calcite 1.13.
- */
-class SqlTimestampAddFunction extends SqlFunction {
-
-    private static final SqlReturnTypeInference RETURN_TYPE_INFERENCE =
-            new SqlReturnTypeInference() {
-                public RelDataType inferReturnType(SqlOperatorBinding 
opBinding) {
-                    final RelDataTypeFactory typeFactory = 
opBinding.getTypeFactory();
-                    final TimeUnit unit = (TimeUnit) 
opBinding.getOperandLiteralValue(0);
-                    switch (unit) {
-                        case HOUR:
-                        case MINUTE:
-                        case SECOND:
-                        case MILLISECOND:
-                        case MICROSECOND:
-                            return typeFactory.createTypeWithNullability(
-                                    
typeFactory.createSqlType(SqlTypeName.TIMESTAMP),
-                                    opBinding.getOperandType(1).isNullable()
-                                    || 
opBinding.getOperandType(2).isNullable());
-                        default:
-                            return opBinding.getOperandType(2);
-                    }
-                }
-            };
-
-    /** Creates a SqlTimestampAddFunction. */
-    SqlTimestampAddFunction() {
-        super("TIMESTAMPADD", SqlKind.TIMESTAMP_ADD, RETURN_TYPE_INFERENCE, 
null,
-              OperandTypes.family(SqlTypeFamily.ANY, SqlTypeFamily.INTEGER,
-                                  SqlTypeFamily.TIMESTAMP),
-              SqlFunctionCategory.TIMEDATE);
-    }
-}
-
-// End SqlTimestampAddFunction.java

http://git-wip-us.apache.org/repos/asf/flink/blob/4dfefd04/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/expressions/time.scala
----------------------------------------------------------------------
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 db2d9f9..961a88b 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
@@ -29,7 +29,6 @@ import org.apache.flink.table.calcite.FlinkRelBuilder
 import org.apache.flink.table.expressions.ExpressionUtils.{divide, getFactor, 
mod}
 import org.apache.flink.table.expressions.TimeIntervalUnit.TimeIntervalUnit
 import org.apache.flink.table.functions.sql.DateTimeSqlFunction
-import org.apache.flink.table.runtime.functions.DateTimeFunctions
 import org.apache.flink.table.typeutils.TypeCheckUtils.isTimeInterval
 import org.apache.flink.table.typeutils.{TimeIntervalTypeInfo, TypeCheckUtils}
 import org.apache.flink.table.validate.{ValidationFailure, ValidationResult, 
ValidationSuccess}
@@ -360,7 +359,7 @@ case class TemporalOverlaps(
     val convLeftT = convertOverlapsEnd(relBuilder, leftP, leftT, 
leftTemporal.resultType)
     val convRightT = convertOverlapsEnd(relBuilder, rightP, rightT, 
rightTemporal.resultType)
 
-    // Sort end points into start and end, such that (s0 <= e0) and (s1 <= e1).
+    // sort end points into start and end, such that (s0 <= e0) and (s1 <= e1).
     val (s0, e0) = buildSwap(relBuilder, leftP, convLeftT)
     val (s1, e1) = buildSwap(relBuilder, rightP, convRightT)
 

http://git-wip-us.apache.org/repos/asf/flink/blob/4dfefd04/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/ScalarFunctionsTest.scala
----------------------------------------------------------------------
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 a5bd6f2..a902e39 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
@@ -1664,11 +1664,12 @@ class ScalarFunctionsTest extends ScalarTypesTestBase {
         s"TIMESTAMPADD($interval, ${data(4)._1}, ${data(4)._2})", result(4))
     }
 
-    testSqlApi("TIMESTAMPADD(HOUR, CAST(NULL AS INTEGER)," +
-      " TIMESTAMP '2016-02-24 12:42:25')", "null")
+    testSqlApi("TIMESTAMPADD(HOUR, CAST(NULL AS INTEGER), TIMESTAMP 
'2016-02-24 12:42:25')", "null")
 
     testSqlApi("TIMESTAMPADD(HOUR, -200, CAST(NULL AS TIMESTAMP))", "null")
 
+    testSqlApi("TIMESTAMPADD(DAY, 1, DATE '2016-06-15')", "2016-06-16")
+
     testSqlApi("TIMESTAMPADD(MONTH, 3, CAST(NULL AS TIMESTAMP))", "null")
 
   }

http://git-wip-us.apache.org/repos/asf/flink/blob/4dfefd04/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/validation/ScalarFunctionsValidationTest.scala
----------------------------------------------------------------------
diff --git 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/validation/ScalarFunctionsValidationTest.scala
 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/validation/ScalarFunctionsValidationTest.scala
index 286bd4b..b98c0ab 100644
--- 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/validation/ScalarFunctionsValidationTest.scala
+++ 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/validation/ScalarFunctionsValidationTest.scala
@@ -67,18 +67,13 @@ class ScalarFunctionsValidationTest extends 
ScalarTypesTestBase {
   // Temporal functions
   // 
----------------------------------------------------------------------------------------------
 
-  @Test(expected = classOf[ValidationException])
-  def testTimestampAddWithDate(): Unit ={
-    testSqlApi("TIMESTAMPADD(DAY, 1, date '2016-06-15')", "2016-06-16")
-  }
-
   @Test(expected = classOf[SqlParserException])
-  def testTimestampAddWithrongTimestampInterval(): Unit ={
+  def testTimestampAddWithWrongTimestampInterval(): Unit ={
     testSqlApi("TIMESTAMPADD(XXX, 1, timestamp '2016-02-24'))", "2016-06-16")
   }
 
   @Test(expected = classOf[SqlParserException])
-  def testTimestampAddWithrongTimestampFormat(): Unit ={
+  def testTimestampAddWithWrongTimestampFormat(): Unit ={
     testSqlApi("TIMESTAMPADD(YEAR, 1, timestamp '2016-02-24'))", "2016-06-16")
   }
 

http://git-wip-us.apache.org/repos/asf/flink/blob/4dfefd04/tools/maven/spotbugs-exclude.xml
----------------------------------------------------------------------
diff --git a/tools/maven/spotbugs-exclude.xml b/tools/maven/spotbugs-exclude.xml
index c9e63cd..3da9268 100644
--- a/tools/maven/spotbugs-exclude.xml
+++ b/tools/maven/spotbugs-exclude.xml
@@ -18,6 +18,11 @@ specific language governing permissions and limitations
 under the License.
 -->
 <FindBugsFilter>
+       <!-- Sometimes we have to temporarily fix very long, different 
formatted Calcite files. -->
+       <Match>
+       <Package name="~org\.apache\.calcite.*"/>
+       </Match>
+       
        <Match>
                <Bug pattern="VA_FORMAT_STRING_USES_NEWLINE"/>
        </Match>

Reply via email to