[
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)