[ 
https://issues.apache.org/jira/browse/CALCITE-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marco Jorge updated CALCITE-4963:
---------------------------------
    Description: 
_(nicetities first - great project and thanks all for the great work)_

Although it's possible to extend the SqlDialectFactory, the custom 
implementation cannot reuse any of the behaviour of the default 
SqlDialectFactoryImpl. The default SqlDialectFactoryImpl has lots of 
important/reusable behaviour such as #getCasing, #isCaseSensitive, 
#getNullCollation or even the default decisioning in the #create method.

If any user needs to provide a custom SqlDialect yet still support the existing 
SqlDialects the user needs to copy the whole SqlDialectFactoryImpl to make the 
custom changes.

This request is to make the default behavior in SqlDialectFactoryImpl reusable 
so that extensions don't need to fork a whole class.

  was:
Although it's possible to extend the SqlDialectFactory, the custom 
implementation cannot reuse any of the behaviour of the default 
SqlDialectFactoryImpl. The default SqlDialectFactoryImpl has lots of 
important/reusable behaviour such as #getCasing, #isCaseSensitive, 
#getNullCollation or even the default decisioning in the #create method.

If any user needs to provide a custom SqlDialect yet still support the existing 
SqlDialects the user needs to copy the whole SqlDialectFactoryImpl to make the 
custom changes.

This request is to make the default behavior in SqlDialectFactoryImpl reusable 
so that extensions don't need to fork a whole class.


> Extensibility of SqlDialectFactory lacks reusability of 
> SqlDialectFactoryImpl.*
> -------------------------------------------------------------------------------
>
>                 Key: CALCITE-4963
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4963
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Marco Jorge
>            Priority: Major
>
> _(nicetities first - great project and thanks all for the great work)_
> Although it's possible to extend the SqlDialectFactory, the custom 
> implementation cannot reuse any of the behaviour of the default 
> SqlDialectFactoryImpl. The default SqlDialectFactoryImpl has lots of 
> important/reusable behaviour such as #getCasing, #isCaseSensitive, 
> #getNullCollation or even the default decisioning in the #create method.
> If any user needs to provide a custom SqlDialect yet still support the 
> existing SqlDialects the user needs to copy the whole SqlDialectFactoryImpl 
> to make the custom changes.
> This request is to make the default behavior in SqlDialectFactoryImpl 
> reusable so that extensions don't need to fork a whole class.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to