You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Piotr Nowojski (JIRA)" <ji...@apache.org> on 2018/06/19 15:05:00 UTC

[jira] [Created] (FLINK-9617) Provide alias for whole records in Table API

Piotr Nowojski created FLINK-9617:
-------------------------------------

             Summary: Provide alias for whole records in Table API
                 Key: FLINK-9617
                 URL: https://issues.apache.org/jira/browse/FLINK-9617
             Project: Flink
          Issue Type: Improvement
          Components: Table API &amp; SQL
    Affects Versions: 1.5.0
            Reporter: Piotr Nowojski


In SQL we can provide an alias for whole table to avoid column name collisions between two tables. For example:
{code:java}
SELECT
  SUM(o.amount * r.rate) 
FROM 
  Orders AS o, 
  Rates AS r
WHERE r.currency = o.currency{code}
However that's not possible in table API. In Table API user have to provide aliases for all of the columns, which can be annoying especially if table consists of tens or even hundred of columns

For example I would expect some feature like this:
{code:java}
val result = orders.as('o)
  .join(rates(`o.rowtime).as('r), "o.currency = r.currency")
  .select("SUM(o.amount * r.rate) AS amount")
{code}
where \{{rates}} is a TableFunction.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)