+1 to remove “STORED” related content. We can add them when user requires. Others looks good to me in general.
Thanks, Jark > 在 2019年10月24日,14:58,Kurt Young <ykt...@gmail.com> 写道: > > Hi Danny, > > Thanks for preparing this design document. IMO It's a very useful > feature, especially combined with time attribute support to specify > watermark in DDL. > > The design doc looks quite good, but I would suggest to reduce the > scope of the first version. Like we don't have to support "STORED" > in the first MVP version, and you can also delete related content in > document to make it more clean and easier to understand. > > Best, > Kurt > > > On Tue, Sep 17, 2019 at 9:18 PM Qi Luo <luoqi...@gmail.com> wrote: > >> Fantastic! We're also very interested in this feature. >> >> +Boxiu >> >> On Tue, Sep 17, 2019 at 11:31 AM Danny Chan <yuzhao....@gmail.com> wrote: >> >>> In umbrella task FLINK-10232 we have introduced CREATE TABLE grammar in >>> our new module flink-sql-parser. And we proposed to use computed column >> to >>> describe the time attribute of process time in the design doc FLINK SQL >>> DDL, so user may create a table with process time attribute as follows: >>> create table T1( >>> a int, >>> b bigint, >>> c varchar, >>> d as PROCTIME, >>> ) with ( >>> 'k1' = 'v1', >>> 'k2' = 'v2' >>> ); >>> >>> The column d would be a process time attribute for table T1. >>> >>> Besides that, computed columns have several other use cases, such as >>> these [2]: >>> >>> >>> • Virtual generated columns can be used as a way to simplify and unify >>> queries. A complicated condition can be defined as a generated column and >>> referred to from multiple queries on the table to ensure that all of them >>> use exactly the same condition. >>> • Stored generated columns can be used as a materialized cache for >>> complicated conditions that are costly to calculate on the fly. >>> • Generated columns can simulate functional indexes: Use a generated >>> column to define a functional expression and index it. This can be useful >>> for working with columns of types that cannot be indexed directly, such >> as >>> JSON columns. >>> • For stored generated columns, the disadvantage of this approach is that >>> values are stored twice; once as the value of the generated column and >> once >>> in the index. >>> • If a generated column is indexed, the optimizer recognizes query >>> expressions that match the column definition and uses indexes from the >>> column as appropriate during query execution(Not supported yet). >>> >>> >>> >>> Computed columns are introduced in SQL-SERVER-2016 [1], MYSQL-5.6 [2] and >>> ORACLE-11g [3]. >>> >>> This is the design doc: >>> >>> >> https://docs.google.com/document/d/110TseRtTCphxETPY7uhiHpu-dph3NEesh3mYKtJ7QOY/edit?usp=sharing >>> >>> Any suggestions are appreciated, thanks. >>> >>> [1] >>> >> https://docs.microsoft.com/en-us/sql/relational-databases/tables/specify-computed-columns-in-a-table?view=sql-server-2016 >>> [2] >>> >> https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html >>> [3] https://oracle-base.com/articles/11g/virtual-columns-11gr1 >>> >>> Best, >>> Danny Chan >>> >>