[
https://issues.apache.org/jira/browse/CALCITE-2846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16778541#comment-16778541
]
Julian Hyde commented on CALCITE-2846:
--------------------------------------
I mostly agree:
* It makes sense to have a "holder" class for these operator instances.
CommonSqlOperatorTable will serve that purpose.
* I don't feel strongly either way whether there should be a class for each
DBMS flavor, e.g. {{OracleSqlOperatorTable}}. There does need to be some means
to create an operator table instance that contains all operators for
{{fun=oracle}}, and also some means to create an operator table instance that
contains all operators for {{fun=standard,oracle,mysql}}.
* Let's make sure that we don't create and populate an operator table every
time a query is prepared. Making operator tables immutable and caching them
based on flavor, e.g. {{"standard", "oracle", "mysql"}}, might make sense.
* Note that the operator table is not determined by dialect. It would be
possible to use the MySQL dialect (e.g. identifiers quoted by back-ticks) in
combination with an operator table that contains all Oracle-specific functions.
> Document Oracle-specific functions, such as NVL and LTRIM, in the SQL
> reference
> -------------------------------------------------------------------------------
>
> Key: CALCITE-2846
> URL: https://issues.apache.org/jira/browse/CALCITE-2846
> Project: Calcite
> Issue Type: Improvement
> Components: site
> Reporter: Julian Hyde
> Assignee: Hongze Zhang
> Priority: Major
> Labels: documentation
>
> Document Oracle-specific functions (DECODE, NVL, LTRIM, RTRIM, SUBSTR,
> GREATEST, LEAST) in the [SQL
> reference|https://calcite.apache.org/docs/reference.html].
> Same goes for MySQL-specific functions (e.g. JSON_TYPE).
> I don't think we should have separate lists of Oracle-specific functions and
> MySQL-specific functions. Because quite a few functions appear in more than
> one place. Better, I think, to have a concise annotation against each
> function which tables it occurs in.
> The current list of tables is standard, oracle, spatial, mysql. Perhaps also
> indicate whether a function is an extension to the SQL standard but still
> occurs in Calcite's default table.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)