[1/2] flink git commit: [FLINK-6562] [table] Support implicit table references for nested fields in SQL.

2017-05-12 Thread fhueske
Repository: flink
Updated Branches:
  refs/heads/release-1.3 fddc8b10e -> 01171e821


[FLINK-6562] [table] Support implicit table references for nested fields in SQL.

This closes #3879.


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

Branch: refs/heads/release-1.3
Commit: f49edf58ed0cb0e72394375fa63167c2d7bd907d
Parents: fddc8b1
Author: Haohui Mai 
Authored: Thu May 11 15:35:39 2017 -0700
Committer: Fabian Hueske 
Committed: Fri May 12 18:48:37 2017 +0200

--
 .../plan/schema/CompositeRelDataType.scala  |  4 ++--
 .../table/expressions/CompositeAccessTest.scala | 22 +++-
 2 files changed, 23 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/flink/blob/f49edf58/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
--
diff --git 
a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
 
b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
index 92f9199..a60514b 100644
--- 
a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
+++ 
b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
@@ -20,7 +20,7 @@ package org.apache.flink.table.plan.schema
 
 import java.util
 
-import org.apache.calcite.rel.`type`.{RelDataTypeField, RelDataTypeFieldImpl, 
RelRecordType}
+import org.apache.calcite.rel.`type`.{RelDataTypeField, RelDataTypeFieldImpl, 
RelRecordType, StructKind}
 import org.apache.flink.api.common.typeutils.CompositeType
 import org.apache.flink.table.calcite.FlinkTypeFactory
 import org.apache.flink.table.plan.schema.CompositeRelDataType.createFieldList
@@ -36,7 +36,7 @@ import scala.collection.JavaConverters._
 class CompositeRelDataType(
 val compositeType: CompositeType[_],
 typeFactory: FlinkTypeFactory)
-  extends RelRecordType(createFieldList(compositeType, typeFactory)) {
+  extends RelRecordType(StructKind.PEEK_FIELDS, createFieldList(compositeType, 
typeFactory)) {
 
   override def toString = s"COMPOSITE($compositeType)"
 

http://git-wip-us.apache.org/repos/asf/flink/blob/f49edf58/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
--
diff --git 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
index 2025880..91e06c5 100644
--- 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
+++ 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
@@ -41,10 +41,13 @@ class CompositeAccessTest extends ExpressionTestBase {
   "f0.get('intField')",
   "testTable.f0.intField",
   "42")
+testSqlApi("f0.intField", "42")
 
 testSqlApi("testTable.f0.stringField", "Bob")
+testSqlApi("f0.stringField", "Bob")
 
 testSqlApi("testTable.f0.booleanField", "true")
+testSqlApi("f0.booleanField", "true")
 
 // single field by int key
 testTableApi(
@@ -58,22 +61,29 @@ class CompositeAccessTest extends ExpressionTestBase {
   "f1.get('objectField').get('intField')",
   "testTable.f1.objectField.intField",
   "25")
+testSqlApi("f1.objectField.intField", "25")
 
 testSqlApi("testTable.f1.objectField.stringField", "Timo")
+testSqlApi("f1.objectField.stringField", "Timo")
 
 testSqlApi("testTable.f1.objectField.booleanField", "false")
+testSqlApi("f1.objectField.booleanField", "false")
 
 testAllApis(
   'f2.get(0),
   "f2.get(0)",
   "testTable.f2._1",
   "a")
+testSqlApi("f2._1", "a")
 
 testSqlApi("testTable.f3.f1", "b")
+testSqlApi("f3.f1", "b")
 
 testSqlApi("testTable.f4.myString", "Hello")
+testSqlApi("f4.myString", "Hello")
 
 testSqlApi("testTable.f5", "13")
+testSqlApi("f5", "13")
 
 testAllApis(
   'f7.get("_1"),
@@ -83,18 +93,21 @@ class CompositeAccessTest extends ExpressionTestBase {
 
 // composite field return type
 testSqlApi("testTable.f6", "MyCaseClass2(null)")
+testSqlApi("f6", "MyCaseClass2(null)")
 
 testAllApis(
   'f1.get("objectField"),
   "f1.get('objectField')",
   "testTable.f1.objectField",
   

[1/2] flink git commit: [FLINK-6562] [table] Support implicit table references for nested fields in SQL.

2017-05-12 Thread fhueske
Repository: flink
Updated Branches:
  refs/heads/master 423f4d65e -> ef751b2a1


[FLINK-6562] [table] Support implicit table references for nested fields in SQL.

This closes #3879.


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

Branch: refs/heads/master
Commit: 88d56a9ce46ae0b7d73b64e340c2f59e76f79bf3
Parents: 423f4d6
Author: Haohui Mai 
Authored: Thu May 11 15:35:39 2017 -0700
Committer: Fabian Hueske 
Committed: Fri May 12 17:15:23 2017 +0200

--
 .../plan/schema/CompositeRelDataType.scala  |  4 ++--
 .../table/expressions/CompositeAccessTest.scala | 22 +++-
 2 files changed, 23 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/flink/blob/88d56a9c/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
--
diff --git 
a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
 
b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
index 92f9199..a60514b 100644
--- 
a/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
+++ 
b/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/schema/CompositeRelDataType.scala
@@ -20,7 +20,7 @@ package org.apache.flink.table.plan.schema
 
 import java.util
 
-import org.apache.calcite.rel.`type`.{RelDataTypeField, RelDataTypeFieldImpl, 
RelRecordType}
+import org.apache.calcite.rel.`type`.{RelDataTypeField, RelDataTypeFieldImpl, 
RelRecordType, StructKind}
 import org.apache.flink.api.common.typeutils.CompositeType
 import org.apache.flink.table.calcite.FlinkTypeFactory
 import org.apache.flink.table.plan.schema.CompositeRelDataType.createFieldList
@@ -36,7 +36,7 @@ import scala.collection.JavaConverters._
 class CompositeRelDataType(
 val compositeType: CompositeType[_],
 typeFactory: FlinkTypeFactory)
-  extends RelRecordType(createFieldList(compositeType, typeFactory)) {
+  extends RelRecordType(StructKind.PEEK_FIELDS, createFieldList(compositeType, 
typeFactory)) {
 
   override def toString = s"COMPOSITE($compositeType)"
 

http://git-wip-us.apache.org/repos/asf/flink/blob/88d56a9c/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
--
diff --git 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
index 2025880..91e06c5 100644
--- 
a/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
+++ 
b/flink-libraries/flink-table/src/test/scala/org/apache/flink/table/expressions/CompositeAccessTest.scala
@@ -41,10 +41,13 @@ class CompositeAccessTest extends ExpressionTestBase {
   "f0.get('intField')",
   "testTable.f0.intField",
   "42")
+testSqlApi("f0.intField", "42")
 
 testSqlApi("testTable.f0.stringField", "Bob")
+testSqlApi("f0.stringField", "Bob")
 
 testSqlApi("testTable.f0.booleanField", "true")
+testSqlApi("f0.booleanField", "true")
 
 // single field by int key
 testTableApi(
@@ -58,22 +61,29 @@ class CompositeAccessTest extends ExpressionTestBase {
   "f1.get('objectField').get('intField')",
   "testTable.f1.objectField.intField",
   "25")
+testSqlApi("f1.objectField.intField", "25")
 
 testSqlApi("testTable.f1.objectField.stringField", "Timo")
+testSqlApi("f1.objectField.stringField", "Timo")
 
 testSqlApi("testTable.f1.objectField.booleanField", "false")
+testSqlApi("f1.objectField.booleanField", "false")
 
 testAllApis(
   'f2.get(0),
   "f2.get(0)",
   "testTable.f2._1",
   "a")
+testSqlApi("f2._1", "a")
 
 testSqlApi("testTable.f3.f1", "b")
+testSqlApi("f3.f1", "b")
 
 testSqlApi("testTable.f4.myString", "Hello")
+testSqlApi("f4.myString", "Hello")
 
 testSqlApi("testTable.f5", "13")
+testSqlApi("f5", "13")
 
 testAllApis(
   'f7.get("_1"),
@@ -83,18 +93,21 @@ class CompositeAccessTest extends ExpressionTestBase {
 
 // composite field return type
 testSqlApi("testTable.f6", "MyCaseClass2(null)")
+testSqlApi("f6", "MyCaseClass2(null)")
 
 testAllApis(
   'f1.get("objectField"),
   "f1.get('objectField')",
   "testTable.f1.objectField",