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

Danny Chen commented on CALCITE-3395:
-------------------------------------

Calcite support 2 style of subString function:

# One is SUBSTRING(str FROM pos FOR len) defined in SqlStdOperatorTable[1]
# Another is SUBSTR(string, position [, substringLength ]) defined in 
SqlLibraryOperators as a ORACLE dialect operator[2]

[1] 
https://github.com/apache/calcite/blob/e43595482617b1bb991407800c068a0c727e5c17/core/src/main/java/org/apache/calcite/sql/fun/SqlStdOperatorTable.java#L1443
[2] 
https://github.com/apache/calcite/blob/e43595482617b1bb991407800c068a0c727e5c17/core/src/main/java/org/apache/calcite/sql/fun/SqlLibraryOperators.java#L118

> add BuiltinMethod for Substring(String, int)
> --------------------------------------------
>
>                 Key: CALCITE-3395
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3395
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Youjun Yuan
>            Priority: Minor
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> substring function has two versoins:
> 1, Substring(String, int, int)
> 2, Substring(String, int)
> currently in BuiltinMethod.java, only the first one is defined. Need to 
> define the second one as well, so that we can use both of them.
> Apache Flink(FunctionGenerator.scala), reference the BuiltinMethod, since 
> Calcite only defines 1, not 2, Flink always resolve SUBSTRING to 
> Substring(String, int, int) even if there is only 2 parameters. This problem 
> happens to be covered by method overloading of java, but it's still a 
> potential problem.



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

Reply via email to