[
https://issues.apache.org/jira/browse/CALCITE-6037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ran Tao updated CALCITE-6037:
-----------------------------
Description:
Currently some functions do not specify a category name.
It will cause the error function category:
||function name||current category||desired category||
|ARRAY (Spark)|Numeric|System|
|EXTRACT_VALUE (MySQL)|Numeric|String|
|XML_TRANSFORM (Oracle)|Numeric|String|
|EXTRACT_XML (Oracle)|Numeric|String|
|EXISTSNODE (Oracle)|Numeric|String|
the definition of function category in ANSI-SQL (not very sure this is the sql
standard, but the implementation of calcite is similar to it) can be found at:
[https://www.oreilly.com/library/view/sql-in-a/9780596155322/ch04s04.html.|http://users.atw.hu/sqlnut/sqlnut2-chp-4-sect-4.html#sqlnut2-CHP-4-SECT-4.1]
Generally speaking, these functions (except ARRAY) process XML text and conform
to the definition of String category rather than Numeric.
btw, because they use a simplified constructor of SqlBasicFunction, the
function category is always set to Numeric. We need to set the desired function
category.
was:
Currently some functions do not specify a category name.
It will cause the error function category:
||function name||current category||desired category||
|ARRAY (Spark)|Numeric|System|
|EXTRACT_VALUE (MySQL)|Numeric|String|
|XML_TRANSFORM (Oracle)|Numeric|String|
|EXTRACT_XML (Oracle)|Numeric|String|
|EXISTSNODE (Oracle)|Numeric|String|
the definition of function category in ANSI-SQL (not very sure this is the sql
standard, but the implementation of calcite is similar to it) can be found at:
[https://www.oreilly.com/library/view/sql-in-a/9780596155322/ch04s04.html.|http://users.atw.hu/sqlnut/sqlnut2-chp-4-sect-4.html#sqlnut2-CHP-4-SECT-4.1]
Because they use a simplified constructor of SqlBasicFunction, the function
category is always set to Numeric. We need to set the desired function category.
Generally speaking, these functions (except ARRAY) process XML text and conform
to the definition of String category rather than Numeric.
> The function category of
> ARRAY/EXTRACT_VALUE/XML_TRANSFORM/EXTRACT_XML/EXISTSNODE is incorrect
> (Spark/MySQL/Oracle Library)
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-6037
> URL: https://issues.apache.org/jira/browse/CALCITE-6037
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.35.0
> Reporter: Ran Tao
> Assignee: Ran Tao
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.36.0
>
>
> Currently some functions do not specify a category name.
> It will cause the error function category:
>
> ||function name||current category||desired category||
> |ARRAY (Spark)|Numeric|System|
> |EXTRACT_VALUE (MySQL)|Numeric|String|
> |XML_TRANSFORM (Oracle)|Numeric|String|
> |EXTRACT_XML (Oracle)|Numeric|String|
> |EXISTSNODE (Oracle)|Numeric|String|
> the definition of function category in ANSI-SQL (not very sure this is the
> sql standard, but the implementation of calcite is similar to it) can be
> found at:
> [https://www.oreilly.com/library/view/sql-in-a/9780596155322/ch04s04.html.|http://users.atw.hu/sqlnut/sqlnut2-chp-4-sect-4.html#sqlnut2-CHP-4-SECT-4.1]
> Generally speaking, these functions (except ARRAY) process XML text and
> conform to the definition of String category rather than Numeric.
> btw, because they use a simplified constructor of SqlBasicFunction, the
> function category is always set to Numeric. We need to set the desired
> function category.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)