Repository: flink
Updated Branches:
  refs/heads/master 239168316 -> 130511ffc


[FLINK-4070] [table] Support literals on left side of binary expressions

This closes #2120.


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

Branch: refs/heads/master
Commit: 130511ffc379e3096baf5e8f19bd34c4e508b3f7
Parents: 2391683
Author: Jark Wu <wuchong...@alibaba-inc.com>
Authored: Fri Jun 17 11:39:21 2016 +0800
Committer: twalthr <twal...@apache.org>
Committed: Wed Jul 20 15:01:47 2016 +0200

----------------------------------------------------------------------
 .../org/apache/flink/api/scala/table/expressionDsl.scala | 11 ++++++++++-
 .../flink/api/scala/batch/table/ExpressionsITCase.scala  |  8 ++++----
 2 files changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/130511ff/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/scala/table/expressionDsl.scala
----------------------------------------------------------------------
diff --git 
a/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/scala/table/expressionDsl.scala
 
b/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/scala/table/expressionDsl.scala
index c4287b6..c67b29b 100644
--- 
a/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/scala/table/expressionDsl.scala
+++ 
b/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/scala/table/expressionDsl.scala
@@ -32,7 +32,16 @@ import org.apache.flink.api.table.expressions._
  * [[org.apache.flink.api.table.expressions.ExpressionParser]].
  */
 trait ImplicitExpressionOperations {
-  def expr: Expression
+  private[flink] def expr: Expression
+
+  /**
+    * Enables literals on left side of binary expressions.
+    *
+    * e.g. 12.toExpr % 'a
+    *
+    * @return expression
+    */
+  def toExpr: Expression = expr
 
   def && (other: Expression) = And(expr, other)
   def || (other: Expression) = Or(expr, other)

http://git-wip-us.apache.org/repos/asf/flink/blob/130511ff/flink-libraries/flink-table/src/test/scala/org/apache/flink/api/scala/batch/table/ExpressionsITCase.scala
----------------------------------------------------------------------
diff --git 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/api/scala/batch/table/ExpressionsITCase.scala
 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/api/scala/batch/table/ExpressionsITCase.scala
index 3c3719a..7439b76 100644
--- 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/api/scala/batch/table/ExpressionsITCase.scala
+++ 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/api/scala/batch/table/ExpressionsITCase.scala
@@ -50,9 +50,9 @@ class ExpressionsITCase(
     val tEnv = TableEnvironment.getTableEnvironment(env, config)
 
     val t = env.fromElements((5, 10)).toTable(tEnv, 'a, 'b)
-      .select('a - 5, 'a + 5, 'a / 2, 'a * 2, 'a % 2, -'a)
+      .select('a - 5, 'a + 5, 'a / 2, 'a * 2, 'a % 2, -'a, 3.toExpr + 'a)
 
-    val expected = "0,10,2,10,1,-5"
+    val expected = "0,10,2,10,1,-5,8"
     val results = t.toDataSet[Row].collect()
     TestBaseUtils.compareResultAsText(results.asJava, expected)
   }
@@ -78,9 +78,9 @@ class ExpressionsITCase(
     val tEnv = TableEnvironment.getTableEnvironment(env, config)
 
     val t = env.fromElements((5, 5, 4)).toTable(tEnv, 'a, 'b, 'c)
-      .select('a > 'c, 'a >= 'b, 'a < 'c, 'a.isNull, 'a.isNotNull)
+      .select('a > 'c, 'a >= 'b, 'a < 'c, 'a.isNull, 'a.isNotNull, 12.toExpr 
<= 'a)
 
-    val expected = "true,true,false,false,true"
+    val expected = "true,true,false,false,true,false"
     val results = t.toDataSet[Row].collect()
     TestBaseUtils.compareResultAsText(results.asJava, expected)
   }

Reply via email to