[
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)