[ 
https://issues.apache.org/jira/browse/CALCITE-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160312#comment-16160312
 ] 

Christian Beikov commented on CALCITE-1913:
-------------------------------------------

What does it mean to "behave like Postgres"? For most parts, some forks could 
be considered to "behave like Postgres" but don't support feature X,Y,Z. Having 
to introduce additional enum entries(maybe even for various versions of a 
"product") and to touch switch-code later because of such a wrong assumption is 
IMO wrong. The mere fact that we expose this vaguely defined thing called 
"DatabaseProduct" is a problem. People will base assumptions on that, which at 
a later point might become wrong. Having methods that report capabilities are 
unambiguous and since we intend to allow users to extend SqlDailect, they can 
choose to report less, or more capabilities based on their needs. Think about 
what people might have to do to avoid a single capability to be choosen. Maybe 
they'd have to return a wrong DatabaseProduct just to get a desired behavior. 
Also, this stuff is not backwards compatibility friendly. If we choose later to 
enable the use of a capability for existing DatabaseProducts that users don't 
want, they have no possibility to revert that rather than forking and building 
their own calcite version.

I agree with you that it's generally harder to determine(requires looking 
through classes), what SqlDialects support a specific feature, but we'd gain 
the ability to make this extendible.
Maybe others could comment on what they prefer or think about the matter?

> Include DB version in SqlDialect
> --------------------------------
>
>                 Key: CALCITE-1913
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1913
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.13.0
>            Reporter: Jess Balint
>            Assignee: Jess Balint
>            Priority: Minor
>
> It would be useful to have the DB version # in the SqlDialect for unparsing



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to