[ 
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.
* ScopeMapPopulator - 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.
* 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


> 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.
> * ScopeMapPopulator - 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)

Reply via email to