dawidwys commented on a change in pull request #8057: [FLINK-12028][table] Add 
`addColumns`,`renameColumns`, `dropColumns` …
URL: https://github.com/apache/flink/pull/8057#discussion_r270323511
 
 

 ##########
 File path: 
flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/api/Table.java
 ##########
 @@ -879,4 +879,118 @@
         * @return An OverWindowedTable to specify the aggregations.
         */
        OverWindowedTable window(OverWindow... overWindows);
+
+       /**
+        * Performs a field add operation. Similar to an SQL SELECT statement. 
The field expressions
+        * can contain complex expressions, but can not contain aggregations. 
It will throw an exception
+        * if the added fields already exist.
+        *
+        * <p>Example:
+        * <pre>
+        * {@code
+        *   tab.addColumns("a + 1 as a1, concat(b, 'sunny') as b1")
+        * }
+        * </pre>
+        */
+       Table addColumns(String fields);
+
+       /**
+        * Performs a field add operation. Similar to an SQL SELECT statement. 
The field expressions
+        * can contain complex expressions, but can not contain aggregations. 
It will throw an exception
+        * if the added fields already exist.
+        *
+        * <p>Scala Example:
+        *
+        * <pre>
+        * {@code
+        *   tab.addColumns('a + 1 as 'a1, concat('b, "sunny") as 'b1)
+        * }
+        * </pre>
+        */
+       Table addColumns(Expression... fields);
+
+       /**
+        * Performs a field add operation. Similar to an SQL SELECT statement. 
The field expressions
+        * can contain complex expressions, but can not contain aggregations. 
Existing fields will be
+        * replaced if {@code replaceIfExist} is true. If the added fields have 
duplicate field name,
+        * then the last one is valid.
+        *
+        * <p>Example:
+        * <pre>
+        * {@code
+        *   tab.addColumns(true, "a + 1 as a1, concat(b, 'sunny') as b1")
+        * }
+        * </pre>
+        */
+       Table addColumns(boolean replaceIfExist, String fields);
+
+       /**
+        * Performs a field add operation. Similar to an SQL SELECT statement. 
The field expressions
+        * can contain complex expressions, but can not contain aggregations. 
Existing fields will be
+        * replaced if {@code replaceIfExist} is true. If the added fields have 
duplicate field name,
+        * then the last one is valid.
+        *
+        * <p>Scala Example:
+        * <pre>
+        * {@code
+        *   tab.addColumns(true, 'a + 1 as 'a1, concat('b, "sunny") as 'b1)
+        * }
+        * </pre>
+        */
+       Table addColumns(boolean replaceIfExist, Expression... fields);
 
 Review comment:
   Change to `addOrReplaceColumns(Expression... fields)`?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to