[
https://issues.apache.org/jira/browse/CALCITE-6573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Starr updated CALCITE-6573:
---------------------------------
Description:
Split the SqlValidatorImpl up into several parts:
* SqlValidatorImpl - A facade to maintain the existing API and orchestrate the
composition of the objects below.
* ScopeMap - Contains the data structures for mapping SqlNodes to scopes and
namespaces, along with relevant helper methods.
* SqlNodeValidator - Contains most of the methods currently prefixed with
validate.
* ScopePopulator - Contains the methods prefixed with register.
* NamespaceBuilder - Formalizes an implicit API for overriding namespace
creation.
Each child object will have factory that is configurable in
SqlValidatorImpl.Config to allow for downstream customizations.
See email thread:
https://lists.apache.org/thread/f3qrwfdns6204rkz0vj44kz3jfnl0qw1
was:
Split the SqlValidatorImpl up into several parts:
* SqlValidatorImpl - A facade to maintain the existing API and orchestrate the
composition of the objects below.
* ScopeMap - Contains the data structures for mapping SqlNodes to scopes and
namespaces, along with relevant helper methods.
* SqlNodeValidator - Contains most of the methods currently prefixed with
validate.
* SqlQueryScopePopulator - Contains the methods prefixed with register.
* NamespaceBuilder - Formalizes an implicit API for overriding namespace
creation.
Each child object will have factory that is configurable in
SqlValidatorImpl.Config to allow for downstream customizations.
See email thread:
https://lists.apache.org/thread/f3qrwfdns6204rkz0vj44kz3jfnl0qw1
> Refactor SqlValidatorImpl
> --------------------------
>
> Key: CALCITE-6573
> URL: https://issues.apache.org/jira/browse/CALCITE-6573
> Project: Calcite
> Issue Type: Improvement
> Reporter: James Starr
> Assignee: James Starr
> Priority: Major
>
> Split the SqlValidatorImpl up into several parts:
> * SqlValidatorImpl - A facade to maintain the existing API and orchestrate
> the composition of the objects below.
> * ScopeMap - Contains the data structures for mapping SqlNodes to scopes and
> namespaces, along with relevant helper methods.
> * SqlNodeValidator - Contains most of the methods currently prefixed with
> validate.
> * ScopePopulator - Contains the methods prefixed with register.
> * NamespaceBuilder - Formalizes an implicit API for overriding namespace
> creation.
> Each child object will have factory that is configurable in
> SqlValidatorImpl.Config to allow for downstream customizations.
> See email thread:
> https://lists.apache.org/thread/f3qrwfdns6204rkz0vj44kz3jfnl0qw1
--
This message was sent by Atlassian Jira
(v8.20.10#820010)