[ 
https://issues.apache.org/jira/browse/CALCITE-5188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ruben Q L updated CALCITE-5188:
-------------------------------
    Description: 
Hints were initially implemented via CALCITE-482, and later enlarged via 
CALCITE-5107 (which included more RelNodes as "hintable").
However, the latter caused some issues, because certain transformations 
(RelDecorrelator, RelFieldTrimmer, RelStructuredTypeFlattener) were missing the 
hint propagation for the "new" hintables, see details in CALCITE-5177.

The purpose of the current ticket is:
- Review the hint copy/propagation mechanism, see if it can be more robust to 
avoid issues like CALCITE-5177 in the future.
- Review some hint-related features, and verify they are still relevant / 
correct after CALCITE-5107's implementation, e.g.:
-- {{RelOptUtils#propagateRelHints}} does not propagate hints if visiting depth 
is over than 3 (hardcoded, arbitrary value?) ; see its javadoc, and 
{{SubTreeHintPropagateShuttle#visit}}. Is this still correct / pertinent after 
CALCITE-5107?
-- {{ResetHintsShuttle}} javadoc mentions "rules" for the "old" hintables 
(Project, Aggregate, Join, TableScan); but not for the "new" hintables added in 
CALCITE-5107.
-- Other?

  was:
Hints were initially implemented via CALCITE-482, and later enlarged via 
CALCITE-5107 (which included more RelNodes as "hintable").
However, the latter caused some issues, because certain transformations 
(RelDecorrelator, RelFieldTrimmer, RelStructuredTypeFlattener) were missing the 
hint propagation for the "new" hintables, see details in CALCITE-5177.

The purpose of the current ticket is:
- Review the hint copy/propagation mechanism, see if it can be more robust to 
avoid issues like CALCITE-5177 in the future.
- Review some hint-related features, and verify they are still relevant / 
correct after CALCITE-5107's implementation, e.g.:
-- {{RelOptUtils#propagateRelHints}} does not propagate hints if visiting depth 
is over than 3 (see its javadoc, and {{SubTreeHintPropagateShuttle#visit}}, is 
this still correct after CALCITE-5107?
-- {{ResetHintsShuttle}} javadoc mentions "rules" for the "old" hintables 
(Project, Aggregate, Join, TableScan); but not for the "new" hintables added in 
CALCITE-5107.
-- Other?


> Review (and improve?) hints
> ---------------------------
>
>                 Key: CALCITE-5188
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5188
>             Project: Calcite
>          Issue Type: Task
>            Reporter: Ruben Q L
>            Priority: Major
>
> Hints were initially implemented via CALCITE-482, and later enlarged via 
> CALCITE-5107 (which included more RelNodes as "hintable").
> However, the latter caused some issues, because certain transformations 
> (RelDecorrelator, RelFieldTrimmer, RelStructuredTypeFlattener) were missing 
> the hint propagation for the "new" hintables, see details in CALCITE-5177.
> The purpose of the current ticket is:
> - Review the hint copy/propagation mechanism, see if it can be more robust to 
> avoid issues like CALCITE-5177 in the future.
> - Review some hint-related features, and verify they are still relevant / 
> correct after CALCITE-5107's implementation, e.g.:
> -- {{RelOptUtils#propagateRelHints}} does not propagate hints if visiting 
> depth is over than 3 (hardcoded, arbitrary value?) ; see its javadoc, and 
> {{SubTreeHintPropagateShuttle#visit}}. Is this still correct / pertinent 
> after CALCITE-5107?
> -- {{ResetHintsShuttle}} javadoc mentions "rules" for the "old" hintables 
> (Project, Aggregate, Join, TableScan); but not for the "new" hintables added 
> in CALCITE-5107.
> -- Other?



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to