Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-24 Thread Jingsong Li
Thanks Jark and Timo for your explain. +1 to use SQL strings. Just took a look to calcite unparse, it really complex. Jark, yeah, The only thing need by ExpressionConverter is RelBuilder. Best, Jingsong Lee On Thu, Oct 24, 2019 at 5:09 PM Timo Walther wrote: > Hi Jark, > > +1 for your suggest

Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-24 Thread Jark Wu
Thank you all, then I will update the design doc which should be pretty simple now... Best, Jark On Thu, 24 Oct 2019 at 17:09, Timo Walther wrote: > Hi Jark, > > +1 for your suggestion. I think it will simplify the design a lot if we > serialize all expressions as SQL strings and will avoid dup

Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-24 Thread Timo Walther
Hi Jark, +1 for your suggestion. I think it will simplify the design a lot if we serialize all expressions as SQL strings and will avoid duplicate parser code. Initially, I had concerns that there might be expressions in the future that cannot be represented in SQL. But currently I cannot come

Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-24 Thread Jark Wu
Thanks Jingsong, As discussed in Java Expression DSL, we are planning to drop the Java Expression string API. So I think we don’t have a plan to unify #1 and #2. And in the future, we may only have SQL parser to parse a string expression. The only thing to consider is, whether can all the resol

Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-23 Thread Jingsong Li
Thanks Jark for your proposal. If we introduce a new kind of string presentation for expression, we will have 3 string presentation now: 1. Java expression string api. We have PlannerExpressionParser to parse string to Expressions. 2. Sql string presentation, as you said, we can use calcite classe

Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-22 Thread Jark Wu
Hi Timo, I think it's a good idea to use `SqlParser#parseExpression()` to parse literals. That means the string format of literal is SQL compatible. After some discussion with Kurt, we think why not one more step forward, i.e. convert the whole expression to SQL format. For example, the above exp

Re: [DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-21 Thread Timo Walther
Hi Jark, thanks for the proposal. This is a great effort to finalize the new API design. I'm wondering if we could simply use the SQL parser like `org.apache.calcite.sql.parser.SqlParser#parseExpression(..)` to parse an expression that contain only literals. This would avoid any discussion

[DISUCSS] FLIP-80: Expression String Serializable and Deserializable

2019-10-18 Thread Jark Wu
Hi everyone, I would like to start a discussion[1] about how to make Expression string serializable and deserializable. Expression is the general interface for all kinds of expressions in Flink Table API & SQL, it represents a logical tree for producing a computation result. In FLIP-66[2] and FLIP