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

ZheHu commented on CALCITE-111:
-------------------------------

Hi, [~julianhyde] . Based on your conversation in CALCITE-4014, I have two 
questions about this issue:
 # Does CONVERT function only work between two String value? I tried 
convert(int_field using utf8) in mysql, which also succeeded.
 # According to the java_doc, TRANSLATE works the same as CONVERT. Do we need 
to implement those two funcs in this case(including test cases)? If yes, can we 
add a new SqlKind like *CONVERT* on behalf of those two, instead of 
OTHER_FUNCTION.

After my local test, I find the following steps might work:
 * During validation, instead of identifier, treat and validate the param 
Charset by SqlUtil.getCharset(charsetName), which only support corresponding 
Standard Charsets in *java.nio.charset.Charset*.
 * Add a ConvertImplementor in RexImpTable for the codegen of CONVERT/TRANSLATE 
func.

If I understand this correctly, I'm happy to take this issue.

> Support CONVERT function, for changing character sets
> -----------------------------------------------------
>
>                 Key: CALCITE-111
>                 URL: https://issues.apache.org/jira/browse/CALCITE-111
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: GitHub Import
>            Priority: Major
>              Labels: github-import
>
> Support the CONVERT function, to convert strings from one character set to 
> another.
> CONVERT is defined in SQL:2011 as a feature called <character 
> transliteration>. Here is an example:
> ```sql
> SELECT * FROM emp WHERE CONVERT(name USING UTF16) = u&'\82f1\56fd'
> ```
> The <a 
> href="http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html";>MySQL 
> site</a> has other examples.
> ---------------- Imported from GitHub ----------------
> Url: https://github.com/julianhyde/optiq/issues/111
> Created by: [julianhyde|https://github.com/julianhyde]
> Labels: enhancement, 
> Created at: Tue Jan 14 03:40:53 CET 2014
> State: open



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to