You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Julian Hyde <jh...@apache.org> on 2019/04/26 18:14:42 UTC

Function sets (aka flavor and dialect)

There’s a discussion in https://issues.apache.org/jira/browse/CALCITE-2846 <https://issues.apache.org/jira/browse/CALCITE-2846> about reorganizing the Sql operator table. The idea is for people to be able to start a connection with, say, the standard set of SQL functions, plus functions to emulate MySQL, plus spatial functions. And for us to reorganize the code so that if a function is in both MySQL and Oracle but not in the SQL Standard we only define that function in one place.

We need a word for a "set of functions". (Standard, MySQL, Oracle and Spatial are examples of sets of functions in the above paragraph.) It is tempting to call this a dialect, but that word has an existing meaning that we do not want to change. “Conformance” is another existing concept that we need to work with. I suggested “flavor” in the JIRA case, but now I’m thinking it is an arbitrary word that gives very little clue as to its purpose. The concept is already exposed via the connect-string parameter “fun" (e.g. “jdbc:calcite:fun=spatial,oracle”).

Any ideas for a better word, or a better way of organizing the dialect / conformance / function set concepts.

Julian


Re: Re: Function sets (aka flavor and dialect)

Posted by Haisheng Yuan <h....@alibaba-inc.com>.
Catalog or Namespace?

Thanks ~
Haisheng Yuan
------------------------------------------------------------------
发件人:Michael Mior<mm...@apache.org>
日 期:2019年04月27日 02:47:37
收件人:<de...@calcite.apache.org>
主 题:Re: Function sets (aka flavor and dialect)

I think "function set" sounds like a reasonable name. My current
interpretation of dialect is that it's more related to the SQL syntax
accepted by each system. I'm not really sure what the intended
difference is between dialect and conformance is, but it seems like
perhaps these two concepts could be merged.
--
Michael Mior
mmior@apache.org

Le ven. 26 avr. 2019 à 14:14, Julian Hyde <jh...@apache.org> a écrit :
>
> There’s a discussion in https://issues.apache.org/jira/browse/CALCITE-2846 <https://issues.apache.org/jira/browse/CALCITE-2846> about reorganizing the Sql operator table. The idea is for people to be able to start a connection with, say, the standard set of SQL functions, plus functions to emulate MySQL, plus spatial functions. And for us to reorganize the code so that if a function is in both MySQL and Oracle but not in the SQL Standard we only define that function in one place.
>
> We need a word for a "set of functions". (Standard, MySQL, Oracle and Spatial are examples of sets of functions in the above paragraph.) It is tempting to call this a dialect, but that word has an existing meaning that we do not want to change. “Conformance” is another existing concept that we need to work with. I suggested “flavor” in the JIRA case, but now I’m thinking it is an arbitrary word that gives very little clue as to its purpose. The concept is already exposed via the connect-string parameter “fun" (e.g. “jdbc:calcite:fun=spatial,oracle”).
>
> Any ideas for a better word, or a better way of organizing the dialect / conformance / function set concepts.
>
> Julian
>

Re: Function sets (aka flavor and dialect)

Posted by Hongze Zhang <no...@126.com>.
I slightly prefer "function set" (should be "FunctionSet"?), as long as starting with "fun", which names the existing connection property.

Hongze

> On Apr 27, 2019, at 06:45, Yuzhao Chen <yu...@gmail.com> wrote:
> 
> Thx for the discussing, Julian
> 
> I’m also confused about the difference between SqlConformance and SqlDialect, and now the Flavor, why not just use one word SqlDialect uniformly ? My interpretation about sql dialect includes the functions, cause they are part of the sql syntax as operators.
> 
> Best,
> Danny Chan
> 在 2019年4月27日 +0800 AM2:47,Michael Mior <mm...@apache.org>,写道:
>> I think "function set" sounds like a reasonable name. My current
>> interpretation of dialect is that it's more related to the SQL syntax
>> accepted by each system. I'm not really sure what the intended
>> difference is between dialect and conformance is, but it seems like
>> perhaps these two concepts could be merged.
>> --
>> Michael Mior
>> mmior@apache.org
>> 
>> Le ven. 26 avr. 2019 à 14:14, Julian Hyde <jh...@apache.org> a écrit :
>>> 
>>> There’s a discussion in https://issues.apache.org/jira/browse/CALCITE-2846 <https://issues.apache.org/jira/browse/CALCITE-2846> about reorganizing the Sql operator table. The idea is for people to be able to start a connection with, say, the standard set of SQL functions, plus functions to emulate MySQL, plus spatial functions. And for us to reorganize the code so that if a function is in both MySQL and Oracle but not in the SQL Standard we only define that function in one place.
>>> 
>>> We need a word for a "set of functions". (Standard, MySQL, Oracle and Spatial are examples of sets of functions in the above paragraph.) It is tempting to call this a dialect, but that word has an existing meaning that we do not want to change. “Conformance” is another existing concept that we need to work with. I suggested “flavor” in the JIRA case, but now I’m thinking it is an arbitrary word that gives very little clue as to its purpose. The concept is already exposed via the connect-string parameter “fun" (e.g. “jdbc:calcite:fun=spatial,oracle”).
>>> 
>>> Any ideas for a better word, or a better way of organizing the dialect / conformance / function set concepts.
>>> 
>>> Julian
>>> 


Re: Function sets (aka flavor and dialect)

Posted by Yuzhao Chen <yu...@gmail.com>.
Thx for the discussing, Julian

I’m also confused about the difference between SqlConformance and SqlDialect, and now the Flavor, why not just use one word SqlDialect uniformly ? My interpretation about sql dialect includes the functions, cause they are part of the sql syntax as operators.

Best,
Danny Chan
在 2019年4月27日 +0800 AM2:47,Michael Mior <mm...@apache.org>,写道:
> I think "function set" sounds like a reasonable name. My current
> interpretation of dialect is that it's more related to the SQL syntax
> accepted by each system. I'm not really sure what the intended
> difference is between dialect and conformance is, but it seems like
> perhaps these two concepts could be merged.
> --
> Michael Mior
> mmior@apache.org
>
> Le ven. 26 avr. 2019 à 14:14, Julian Hyde <jh...@apache.org> a écrit :
> >
> > There’s a discussion in https://issues.apache.org/jira/browse/CALCITE-2846 <https://issues.apache.org/jira/browse/CALCITE-2846> about reorganizing the Sql operator table. The idea is for people to be able to start a connection with, say, the standard set of SQL functions, plus functions to emulate MySQL, plus spatial functions. And for us to reorganize the code so that if a function is in both MySQL and Oracle but not in the SQL Standard we only define that function in one place.
> >
> > We need a word for a "set of functions". (Standard, MySQL, Oracle and Spatial are examples of sets of functions in the above paragraph.) It is tempting to call this a dialect, but that word has an existing meaning that we do not want to change. “Conformance” is another existing concept that we need to work with. I suggested “flavor” in the JIRA case, but now I’m thinking it is an arbitrary word that gives very little clue as to its purpose. The concept is already exposed via the connect-string parameter “fun" (e.g. “jdbc:calcite:fun=spatial,oracle”).
> >
> > Any ideas for a better word, or a better way of organizing the dialect / conformance / function set concepts.
> >
> > Julian
> >

Re: Function sets (aka flavor and dialect)

Posted by Michael Mior <mm...@apache.org>.
I think "function set" sounds like a reasonable name. My current
interpretation of dialect is that it's more related to the SQL syntax
accepted by each system. I'm not really sure what the intended
difference is between dialect and conformance is, but it seems like
perhaps these two concepts could be merged.
--
Michael Mior
mmior@apache.org

Le ven. 26 avr. 2019 à 14:14, Julian Hyde <jh...@apache.org> a écrit :
>
> There’s a discussion in https://issues.apache.org/jira/browse/CALCITE-2846 <https://issues.apache.org/jira/browse/CALCITE-2846> about reorganizing the Sql operator table. The idea is for people to be able to start a connection with, say, the standard set of SQL functions, plus functions to emulate MySQL, plus spatial functions. And for us to reorganize the code so that if a function is in both MySQL and Oracle but not in the SQL Standard we only define that function in one place.
>
> We need a word for a "set of functions". (Standard, MySQL, Oracle and Spatial are examples of sets of functions in the above paragraph.) It is tempting to call this a dialect, but that word has an existing meaning that we do not want to change. “Conformance” is another existing concept that we need to work with. I suggested “flavor” in the JIRA case, but now I’m thinking it is an arbitrary word that gives very little clue as to its purpose. The concept is already exposed via the connect-string parameter “fun" (e.g. “jdbc:calcite:fun=spatial,oracle”).
>
> Any ideas for a better word, or a better way of organizing the dialect / conformance / function set concepts.
>
> Julian
>