You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by snuyanzin <gi...@git.apache.org> on 2018/05/15 07:33:19 UTC

[GitHub] flink issue #5961: [FLINK-8255][DataSet API, DataStream API] key expressions...

Github user snuyanzin commented on the issue:

    https://github.com/apache/flink/pull/5961
  
    Hello @fhueske 
    Thank you for your review
    
    As you proposed I tried to use org.apache.flink.api.java.typeutils.RowTypeInfo#isTupleType
    ```java
    public boolean isTupleType() {
    		return false;
    	}
    ```
    however after that these tests started to fail
    org.apache.flink.table.api.batch.ExplainTest#testJoinWithoutExtended
    org.apache.flink.table.api.batch.ExplainTest#testJoinWithExtended
    
    like 
    ```
    testJoinWithoutExtended(org.apache.flink.table.api.batch.ExplainTest)  Time elapsed: 0.037 sec  <<< ERROR!
    
    org.apache.flink.api.common.InvalidProgramException: Specifying keys via field positions is only valid for tuple data types. Type: Row(a: Integer, b: String)
    
    	at org.apache.flink.api.common.operators.Keys$ExpressionKeys.<init>(Keys.java:232)
    
    	at org.apache.flink.api.common.operators.Keys$ExpressionKeys.<init>(Keys.java:223)
    
    	at org.apache.flink.api.java.operators.JoinOperator$JoinOperatorSets.where(JoinOperator.java:901)
    
    	at org.apache.flink.table.plan.nodes.dataset.DataSetJoin.addInnerJoin(DataSetJoin.scala:243)
    
    	at org.apache.flink.table.plan.nodes.dataset.DataSetJoin.translateToPlan(DataSetJoin.scala:170)
    
    	at org.apache.flink.table.plan.nodes.dataset.DataSetCalc.translateToPlan(DataSetCalc.scala:91)
    
    	at org.apache.flink.table.api.BatchTableEnvironment.translate(BatchTableEnvironment.scala:422)
    
    	at org.apache.flink.table.api.BatchTableEnvironment.explain(BatchTableEnvironment.scala:249)
    
    	at org.apache.flink.table.api.BatchTableEnvironment.explain(BatchTableEnvironment.scala:275)
    
    	at org.apache.flink.table.api.batch.ExplainTest.testJoinWithoutExtended(ExplainTest.scala:72)
    ```
    
    that is why I decided to use instanceof TupleTypeInfo check as anyway next line there is a cast to this type
    
    could you please have a look at it and tell if it is acceptable or not?


---