You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Ruben Q L (Jira)" <ji...@apache.org> on 2022/06/10 14:08:00 UTC

[jira] [Updated] (CALCITE-5188) Review (and improve?) hints

     [ 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)