[
https://issues.apache.org/jira/browse/CALCITE-7244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18032844#comment-18032844
]
Steve Carlin commented on CALCITE-7244:
---------------------------------------
Hmmm...I thought I did that, but I'll repeat.
My concrete problem is that my database uses string type for string literals.
If you do a
"CREATE TABLE mytbl as SELECT 'hello' my_col;
..and then look at the database metadata created, on my database, it shows
"my_col" to be of type STRING (or VARCHAR)
I have to jump through a lot of hoops because the RexLiteral does not allow a
RelDataType of VARCHAR for string literals, all of the hoops I mentioned above.
If we simply supported this, it would be extremely helpful.
Is there a real reason to restrict String literals to be of type CHAR?
> Support for VARCHAR RexLiteral
> ------------------------------
>
> Key: CALCITE-7244
> URL: https://issues.apache.org/jira/browse/CALCITE-7244
> Project: Calcite
> Issue Type: Wish
> Reporter: Steve Carlin
> Priority: Major
>
> Oh, the powers that be:
> I would be oh so happy if we can remove this line of code:
> [https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/rex/RexLiteral.java#L381|https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/rex/RexLiteral.java#L374]
> ...or at least allow a character RexLiteral to be created with type VARCHAR
> You see, when I do a CTAS statement with a "select 'hello'", it creates a
> STRING datatype, not a CHAR datatype in my database. Since I currently can't
> create a RexLiteral VARCHAR, I have to introduce a CAST around the literal,
> and I can't do this until RelNode/RexNode time. Even worse, when I have a
> Values RelNode, I have to create a Project on top of the Values with a cast.
> Please, oh please, take this into consideration and allow this. It would
> make my code a lot simpler.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)