[ https://issues.apache.org/jira/browse/FLINK-16379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17064888#comment-17064888 ]
Dawid Wysakowicz commented on FLINK-16379: ------------------------------------------ Just to express my opinion. Let me first clarify that I understand the outcome of the discussion correctly: * We want to additionally support {{Row}} in the fromValues * we want to add a method {{fromValues(DataType, Object... values)}} to let users declare the expected type explicitly Future work: * support watermarks/time attributes * support POJOs via structured types If that's correct I am on the same page. > 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)