You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2020/10/29 18:33:00 UTC

[jira] [Commented] (CALCITE-4363) Need a utility to check if a SQL operator is standard

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

Julian Hyde commented on CALCITE-4363:
--------------------------------------

Can you clarify what you mean by 'standard'?

We have the notion of 'function tables' (e.g. a connection might use the built-in functions plus the Oracle functions) and so it would make sense to check whether a function is in the current function table.

Somewhat related: SqlStdOperatorTable contains 'internal functions' (that cannot be represented in SQL, and are therefore never created by the parser). I have been thinking for a while that these should be moved out.

> Need a utility to check if a SQL operator is standard
> -----------------------------------------------------
>
>                 Key: CALCITE-4363
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4363
>             Project: Calcite
>          Issue Type: Wish
>          Components: core
>            Reporter: Liya Fan
>            Assignee: Liya Fan
>            Priority: Major
>
> Currently, all standard SQL operators are defined in SqlStdOperatorTable.java as static members, not as enums. This makes it difficult to check if a SQL function is a standard one. 
> In many scenarios, we need such a check. For example, some optimizations can be performed, if we know the function is standard (not user-defined), because user-defined functions may have some unknown side-effects.
> To support the check, we only need to maintain a set that contains all standard operators. 
> Do you think such a utility should be supported?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)