[
https://issues.apache.org/jira/browse/CALCITE-2048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16250024#comment-16250024
]
Luis Fernando Kauer commented on CALCITE-2048:
----------------------------------------------
I agree with Enrico.
The documentation should explain many concepts used in the planner, such as
TraitDef, TraitSet, Convention, Program, Enumerable, Bindable, Program, Rules,
transformation/conversion of nodes in rules, implementation of nodes,
statistics, RelMetadataQuery, costs. There are so many concepts.
I think examples or just snippets showing and explaining how they are used
would help a lot.
We could also have a module with a full planner example with:
- configurable schema/catalog via json, so there is no need to use any adapter
or create the schema somewhere else;
- configurable cost and metadata also via json, so it can be used to test
different setups;
- show the best plan for each query, which rules where applied and the
optimized SQL.
This would help test new rules, changes to costs and different queries easily
using different setups.
Maybe even integrate with Cosette (Calcite-1977) to validate whether the
optimized SQL is really equivalent to the query.
> Create a better documentation for the Planner design
> ----------------------------------------------------
>
> Key: CALCITE-2048
> URL: https://issues.apache.org/jira/browse/CALCITE-2048
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Edmon Begoli
> Assignee: Edmon Begoli
> Priority: Minor
> Original Estimate: 672h
> Remaining Estimate: 672h
>
> Per request of the development community, and the assessment that we need a
> tutorial, documentation and example code to work directly with the planner,
> because it is a lot harder to work with the planner than with an adapter.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)