[ https://issues.apache.org/jira/browse/FLINK-16379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17057536#comment-17057536 ]
Zhenghua Gao commented on FLINK-16379: -------------------------------------- That's right that we can improve `fromValues(Object ...)`. But how would we implement the following requirements: 1) construct an empty table. 2) construct a table with POJO > Introduce fromValues in TableEnvironment > ---------------------------------------- > > Key: FLINK-16379 > URL: https://issues.apache.org/jira/browse/FLINK-16379 > Project: Flink > Issue Type: Sub-task > Components: Table SQL / API > Reporter: Dawid Wysakowicz > Assignee: Dawid Wysakowicz > Priority: Major > Labels: pull-request-available > Fix For: 1.11.0 > > Time Spent: 10m > Remaining Estimate: 0h > > Introduce a fromValues method to TableEnvironment similar to {{VALUES}} > clause in SQL > The suggested API could look like: > {code} > /** > * Creates a Table from a given row constructing expressions. > * > * <p>Examples: > * > * <p>You can use {@link Expressions#row(Object, Object...)} to create > a composite rows: > * <pre>{@code > * tEnv.fromValues( > * row(1, "ABC"), > * row(2L, "ABCDE") > * ) > * }</pre> > * will produce a Table with a schema as follows: > * <pre>{@code > * root > * |-- f0: BIGINT NOT NULL > * |-- f1: VARCHAR(5) NOT NULL > * }</pre> > * > * <p>ROWs that are a result of e.g. a function call are not flattened > * <pre>{@code > * public class RowFunction extends ScalarFunction { > * @DataTypeHint("ROW<f0 BIGINT, f1 VARCHAR(5)>") > * Row eval(); > * } > * > * tEnv.fromValues( > * call(new RowFunction()), > * call(new RowFunction()) > * ) > * }</pre> > * will produce a Table with a schema as follows: > * <pre>{@code > * root > * |-- f0: ROW<`f0` BIGINT, `f1` VARCHAR(5)> > * }</pre> > * > * <p>The row constructor can be dropped to create a table with a > single row: > * > * <p>ROWs that are a result of e.g. a function call are not flattened > * <pre>{@code > * tEnv.fromValues( > * 1, > * 2L, > * 3 > * ) > * }</pre> > * will produce a Table with a schema as follows: > * <pre>{@code > * root > * |-- f0: BIGINT NOT NULL > * }</pre> > * > * @param expressions Expressions for constructing rows of the VALUES > table. > */ > Table fromValues(Expression... expressions); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)