[ 
https://issues.apache.org/jira/browse/FLINK-5303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15804949#comment-15804949
 ] 

ASF GitHub Bot commented on FLINK-5303:
---------------------------------------

Github user twalthr commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2976#discussion_r94969330
  
    --- Diff: 
flink-libraries/flink-table/src/test/java/org/apache/flink/table/api/java/batch/sql/GroupingSetsTest.java
 ---
    @@ -0,0 +1,188 @@
    +/*
    + * 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.flink.table.api.java.batch.sql;
    +
    +import org.apache.flink.api.common.functions.MapFunction;
    +import org.apache.flink.api.java.DataSet;
    +import org.apache.flink.api.java.ExecutionEnvironment;
    +import org.apache.flink.api.java.operators.MapOperator;
    +import org.apache.flink.api.java.tuple.Tuple3;
    +import org.apache.flink.table.api.Table;
    +import org.apache.flink.table.api.TableConfig;
    +import org.apache.flink.table.api.TableEnvironment;
    +import org.apache.flink.table.api.java.BatchTableEnvironment;
    +import org.apache.flink.test.javaApiOperators.util.CollectionDataSets;
    +import org.apache.flink.test.util.TestBaseUtils;
    +import org.apache.flink.types.Row;
    +import org.junit.Before;
    +import org.junit.Test;
    +
    +import java.util.Comparator;
    +import java.util.List;
    +
    +public class GroupingSetsTest {
    +
    +   private final static String TABLE_NAME = "MyTable";
    +   private final static String TABLE_WITH_NULLS_NAME = "MyTableWithNulls";
    +   private BatchTableEnvironment tableEnv;
    +
    +   @Before
    +   public void setup() {
    +           ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();
    +           tableEnv = TableEnvironment.getTableEnvironment(env, new 
TableConfig());
    +
    +           DataSet<Tuple3<Integer, Long, String>> dataSet = 
CollectionDataSets.get3TupleDataSet(env);
    +           tableEnv.registerDataSet(TABLE_NAME, dataSet);
    +
    +           MapOperator<Tuple3<Integer, Long, String>, Tuple3<Integer, 
Long, String>> dataSetWithNulls =
    +                   dataSet.map(new MapFunction<Tuple3<Integer, Long, 
String>, Tuple3<Integer, Long, String>>() {
    +
    +                           @Override
    +                           public Tuple3<Integer, Long, String> 
map(Tuple3<Integer, Long, String> value) throws Exception {
    +                                   if 
(value.f2.toLowerCase().contains("world")) {
    +                                           value.f2 = null;
    +                                   }
    +                                   return value;
    +                           }
    +                   });
    +           tableEnv.registerDataSet(TABLE_WITH_NULLS_NAME, 
dataSetWithNulls);
    +   }
    +
    +   @Test
    +   public void testGroupingSets() throws Exception {
    +           String query =
    +                   "SELECT f1, f2, avg(f0) as a, GROUP_ID() as g FROM " + 
TABLE_NAME +
    +                           " GROUP BY GROUPING SETS (f1, f2)";
    +
    +           String expected =
    +                   
"6,null,18,1\n5,null,13,1\n4,null,8,1\n3,null,5,1\n2,null,2,1\n1,null,1,1\n" +
    +                           "null,Luke Skywalker,6,2\nnull,I am 
fine.,5,2\nnull,Hi,1,2\n" +
    +                           "null,Hello world, how are you?,4,2\nnull,Hello 
world,3,2\nnull,Hello,2,2\n" +
    +                           
"null,Comment#9,15,2\nnull,Comment#8,14,2\nnull,Comment#7,13,2\n" +
    +                           
"null,Comment#6,12,2\nnull,Comment#5,11,2\nnull,Comment#4,10,2\n" +
    +                           
"null,Comment#3,9,2\nnull,Comment#2,8,2\nnull,Comment#15,21,2\n" +
    +                           
"null,Comment#14,20,2\nnull,Comment#13,19,2\nnull,Comment#12,18,2\n" +
    +                           
"null,Comment#11,17,2\nnull,Comment#10,16,2\nnull,Comment#1,7,2";
    +
    +           checkSql(query, expected);
    +   }
    +
    +   @Test
    +   public void testGroupingSetsWithNulls() throws Exception {
    --- End diff --
    
    Can you add `GROUPING()` and `GROUPING_ID()` here too. Just to make sure 
that we don't compare two wrong results in the tests below.


> Add CUBE/ROLLUP/GROUPING SETS operator in SQL
> ---------------------------------------------
>
>                 Key: FLINK-5303
>                 URL: https://issues.apache.org/jira/browse/FLINK-5303
>             Project: Flink
>          Issue Type: New Feature
>          Components: Documentation, Table API & SQL
>            Reporter: Alexander Chermenin
>            Assignee: Alexander Chermenin
>
> Add support for such operators as CUBE, ROLLUP and GROUPING SETS in SQL.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to