You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Marco Jorge (Jira)" <ji...@apache.org> on 2021/12/23 17:51:00 UTC

[jira] [Updated] (CALCITE-4963) Extensibility of SqlDialectFactory lacks reusability of SqlDialectFactoryImpl.*

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