[jira] [Commented] (CALCITE-4360) Apply SubstitutionRule first in top-down driven rule apply

2020-10-29 Thread Chunwei Lei (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17222756#comment-17222756
 ] 

Chunwei Lei commented on CALCITE-4360:
--

BTW, I found all the test cases in TopDownOptTest failed if applying the 
substitution rule last in the investigation and It's supposed not to be. I 
would continue to investigate it.

> Apply SubstitutionRule first in top-down driven rule apply
> --
>
> Key: CALCITE-4360
> URL: https://issues.apache.org/jira/browse/CALCITE-4360
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Chunwei Lei
>Assignee: Chunwei Lei
>Priority: Major
>  Labels: pull-request-available
> Attachments: image-2020-10-27-21-55-55-155.png
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> In the current implementation, TopDownRuleQueue adds substitute rules in the 
> end wrongly. The SubstitutionRule should be executed first.
> !image-2020-10-27-21-55-55-155.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (CALCITE-4360) Apply SubstitutionRule first in top-down driven rule apply

2020-10-29 Thread Chunwei Lei (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17222749#comment-17222749
 ] 

Chunwei Lei commented on CALCITE-4360:
--

[~fan_li_ya] Makes sense. 

> Apply SubstitutionRule first in top-down driven rule apply
> --
>
> Key: CALCITE-4360
> URL: https://issues.apache.org/jira/browse/CALCITE-4360
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Chunwei Lei
>Assignee: Chunwei Lei
>Priority: Major
>  Labels: pull-request-available
> Attachments: image-2020-10-27-21-55-55-155.png
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> In the current implementation, TopDownRuleQueue adds substitute rules in the 
> end wrongly. The SubstitutionRule should be executed first.
> !image-2020-10-27-21-55-55-155.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (CALCITE-4360) Apply SubstitutionRule first in top-down driven rule apply

2020-10-29 Thread Liya Fan (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17222742#comment-17222742
 ] 

Liya Fan commented on CALCITE-4360:
---

[~Chunwei Lei] Thanks for the investigation. 

The process is a little tricky. However, I wish we could add some comments to 
the related code, so the code reader will no longer be confused. 

> Apply SubstitutionRule first in top-down driven rule apply
> --
>
> Key: CALCITE-4360
> URL: https://issues.apache.org/jira/browse/CALCITE-4360
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Chunwei Lei
>Assignee: Chunwei Lei
>Priority: Major
>  Labels: pull-request-available
> Attachments: image-2020-10-27-21-55-55-155.png
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> In the current implementation, TopDownRuleQueue adds substitute rules in the 
> end wrongly. The SubstitutionRule should be executed first.
> !image-2020-10-27-21-55-55-155.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (CALCITE-4360) Apply SubstitutionRule first in top-down driven rule apply

2020-10-29 Thread Chunwei Lei (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17222730#comment-17222730
 ] 

Chunwei Lei commented on CALCITE-4360:
--

I am sorry that I misunderstood the codes. Currently, the substitution rule is 
already applied first though it is not so straightforward. The process looks 
like:

1.put the non-substitution rule at the front and substitution rule at the end 
of the queue

2.get each rule from the queue in order from first to last and generate an 
ApplyRule task

3.push the ApplyRule task into the stack

As you can see, the ApplyRule(substitution) task is poped earlier than the 
ApplyRule(non-substitution) task from the stack. Thus substitution rule is 
executed first.

> Apply SubstitutionRule first in top-down driven rule apply
> --
>
> Key: CALCITE-4360
> URL: https://issues.apache.org/jira/browse/CALCITE-4360
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Chunwei Lei
>Assignee: Chunwei Lei
>Priority: Major
>  Labels: pull-request-available
> Attachments: image-2020-10-27-21-55-55-155.png
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> In the current implementation, TopDownRuleQueue adds substitute rules in the 
> end wrongly. The SubstitutionRule should be executed first.
> !image-2020-10-27-21-55-55-155.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (CALCITE-4360) Apply SubstitutionRule first in top-down driven rule apply

2020-10-27 Thread Jinpeng Wu (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17221928#comment-17221928
 ] 

Jinpeng Wu commented on CALCITE-4360:
-

Yes. This should be a typo of previous commit. Thanks for fixing this. 

> Apply SubstitutionRule first in top-down driven rule apply
> --
>
> Key: CALCITE-4360
> URL: https://issues.apache.org/jira/browse/CALCITE-4360
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Chunwei Lei
>Assignee: Chunwei Lei
>Priority: Major
>  Labels: pull-request-available
> Attachments: image-2020-10-27-21-55-55-155.png
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> In the current implementation, TopDownRuleQueue adds substitute rules in the 
> end wrongly. The SubstitutionRule should be executed first.
> !image-2020-10-27-21-55-55-155.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (CALCITE-4360) Apply SubstitutionRule first in top-down driven rule apply

2020-10-27 Thread Julian Hyde (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17221667#comment-17221667
 ] 

Julian Hyde commented on CALCITE-4360:
--

Do you have a test case that justifies your assertion?

> Apply SubstitutionRule first in top-down driven rule apply
> --
>
> Key: CALCITE-4360
> URL: https://issues.apache.org/jira/browse/CALCITE-4360
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Chunwei Lei
>Assignee: Chunwei Lei
>Priority: Major
>  Labels: pull-request-available
> Attachments: image-2020-10-27-21-55-55-155.png
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> In the current implementation, TopDownRuleQueue adds substitute rules in the 
> end wrongly. The SubstitutionRule should be executed first.
> !image-2020-10-27-21-55-55-155.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)