Re:Re: Re: Re: [DISCUSS] FLIP-229: Introduces Join Hint for Flink SQL Batch Job

2022-05-09 Thread Xuyang
Hi Cao. If i guess right, what you mean is the scope that the join hint takes affect. In your example 1, the expected result is that the hint will not takes affect both on (t1 join t2) and (t3 join t1) if we have the sql following, "SELECT /*+ SHUFFLE_HASH(test1) */ t1.a FROM (select test1.* from

Re: Re: Re: [DISCUSS] FLIP-229: Introduces Join Hint for Flink SQL Batch Job

2022-05-09 Thread cao zou
Hi Xuyang, thanks for your explanation. For more information about inheritPath and the logic of propagating, you can see `RelOptUtil`. As the doc says, The hint will be propagated from the root node to the children nodes. if we have an AST as follows: LogicalProjectHint1[] > +- LogicalJoin

Re:Re: Re: [DISCUSS] FLIP-229: Introduces Join Hint for Flink SQL Batch Job

2022-05-09 Thread Xuyang
Thanks for your attention, Li. I agree with you and Cao that in theory join hint should support alias just like other popular computing engines and dbs. But the main difficult is that currently, calcite will ignore the alias when converting SqlNode to RelNode, so the information about alias will

Re: Re: [DISCUSS] FLIP-229: Introduces Join Hint for Flink SQL Batch Job

2022-05-08 Thread Jingsong Li
Thanks Xuyang for driving. zoucao also mentioned alias. Can you explain in the FLIP why alias is not supported? What are the difficulties and maybe we can try to overcome them. Or how do we need to report errors if we don't support it. Best, Jingsong On Mon, May 9, 2022 at 10:53 AM Xuyang wrot

Re: [DISCUSS] FLIP-229: Introduces Join Hint for Flink SQL Batch Job

2022-05-08 Thread cao zou
Hi Xuyang, thanks for driving this valuable discussion. I think it makes sense to improve batch processing capability for FlinkSQL. Using Query hints can make the optimization more flexible and accurate. After going through the design doc, I have some confusion maybe you can help to clarify. First

Re: [DISCUSS] FLIP-229: Introduces Join Hint for Flink SQL Batch Job

2022-05-06 Thread Jark Wu
Hi Xuyang, Thanks for starting this discussion. Join Hint is a long-time requested feature. I have briefly gone through the design doc. Join Hint is a public API for SQL syntax. It should work for both streaming and batch SQL. I understand some special hints may only work for batch SQL. Could you