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

Seema B Gupta commented on CALCITE-3522:
----------------------------------------

Yes I can help with testing the fix with my feature and let you know if it 
addresses our problem. Also, one thing that I noticed is that this fix will 
just fix the literals in the predicates. But if the predicates were dynamic 
predicates as part of a prepared stmt, it does accept values > 19 precision, 
however, I do get an exception for a value that is > 38 precision. Any pointers 
as to where this limit is being set for dynamic predicates? 

> Sql validator limits decimal literals to 64 bits
> ------------------------------------------------
>
>                 Key: CALCITE-3522
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3522
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.18.0, 1.36.0
>            Reporter: Changbo Shu
>            Assignee: Mihai Budiu
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.38.0
>
>         Attachments: code.png
>
>
> [https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java#L2983]
> for example:
> create table tbl(f1 double),
> f1 stores a double's max value. (1.7976931348623157E308)
> long max value is 9223372036854775807.
> select * from table where f1=value, if value is greater than long max, 
> sqlvalidator will throw out of range exception.



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

Reply via email to