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

Steve Carlin commented on CALCITE-7120:
---------------------------------------

I don't have this level of understanding yet.  

Not sure if I'll be working on this in the immediate future as my workarounds 
do seem to be working right now.  I did want to leave this open though in case 
others have this problem (surprised I'm the only one!) and want to work on 
this.  

I may come back to this though within the next couple of months, as I do 
cleanup code in my project as I do want to be more involved in the Calcite 
community at some point.  But if someone else wants to pick this up, that would 
be fantastic.

> Allow SqlNumericLiteral to create more restrictive integer types
> ----------------------------------------------------------------
>
>                 Key: CALCITE-7120
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7120
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Steve Carlin
>            Priority: Major
>
> It would be nice if SqlNumericLiteral created more restrictive datatypes for 
> integers. 
> There is already some logic in there that differentiates between INTEGER and 
> BIGINT
>  
> {code:java}
>           if ((l >= Integer.MIN_VALUE) && (l <= Integer.MAX_VALUE)) {
>             result = SqlTypeName.INTEGER;
>           } else {
>             result = SqlTypeName.BIGINT;
>           }   
> {code}
> If we can enhance this for TINYINT and SMALLINT, oh how wonderful that would 
> be for me.
> Background: Without this, it is causing me to use various workarounds by 
> overriding methods that are less than ideal.  Upon upgrade from 1.37 to 1.40, 
> my current implementation failed.  A query such as ...
> "SELECT 1 INTERSECT SELECT tinyint_col FROM my_tbl" 
> ... is generating a validated SQLNode tree which casts the tinyint_col to an 
> INTEGER (when using type coercing) which causes me issues.  (side note, I 
> need type coercing enabled for other issues so I can't just turn it off)
> Should we do this via a config option?  Putting this in by default will 
> probably break a lot of people's code.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to