[
https://issues.apache.org/jira/browse/CALCITE-5844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
JingDas updated CALCITE-5844:
-----------------------------
Summary: Make RelMdColumnOrigins to be extendable for getting columnOrigins
from viewTable (was: Allow RelMdColumnOrigins to be get columnOrigins from
viewTable)
> Make RelMdColumnOrigins to be extendable for getting columnOrigins from
> viewTable
> ---------------------------------------------------------------------------------
>
> Key: CALCITE-5844
> URL: https://issues.apache.org/jira/browse/CALCITE-5844
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: JingDas
> Priority: Minor
>
> In our scene, Getting field from view is expected when call
> RelMdColumnOrigins#getColumnOrigins.
> So I want to define customized RelMdColumnOrigins extend *RelMdColumnOrigins*
> which can *getColumnOrigins* from viewTable.
> Then I add customized RelMdColumnOrigins to {*}ChainedRelMetadataProvider{*},
> keep the sequence before DefaultRelMetadataProvider.INSTANCE.
> After doing all above, I can get columnOrigins from viewTable.
>
> But I found the private modifier constructor in class RelMdColumnOrigins(also
> such as
> RelMdCollation, RelMdColumnUniqueness, RelMdDistribution,
> RelMdExplainVisibility,
> RelMdPercentageOriginalRows, RelMdPopulationSize, RelMdUniqueKeys
> ),
> and protected modifier constructors(such as RelMdDistinctRowCount,
> RelMdExpressionLineage, RelMdLowerBoundCost,
> RelMdMemory, RelMdParallelism, RelMdSelectivity, RelMdSize,
> RelMdTableReferences
> )
> and public modifier constructors(such as RelMdAllPredicates,
> RelMdMaxRowCount, RelMdMinRowCount, RelMdNodeTypes,
> RelMdPredicates, RelMdRowCount,
> )
> I haven't had a chance to extend this class to add my custom logic because
> the constructor modifier is private.
> For extensibility, I think this modifier maybe protected for these
> "RelMd"prefixed Class whose modifier is private.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)