olingo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svante von Erichsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OLINGO-1087) Precision in EdmDecimal not calculated correctly
Date Wed, 01 Mar 2017 15:12:45 GMT

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

Svante von Erichsen commented on OLINGO-1087:
---------------------------------------------

Can you point me to the specification in this regard?  All I found was the definition of precision
used in some databases, where I had the impression that it would store 0.001 as something
like {digits: '1', precision: 1, scale: 3}.

Where this cropped up was while talking to a SAP HANA 2 server.

For me, significant digits never include leading zeroes (see e. g. Wikipedia), but of course,
some domains might have their own language.

P. S.: I also do not see any sense in these fields for validation, but maybe I just do not
have enough imagination to fabricate a use case.

> Precision in EdmDecimal not calculated correctly
> ------------------------------------------------
>
>                 Key: OLINGO-1087
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1087
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-core
>    Affects Versions: V2 2.0.8
>            Reporter: Svante von Erichsen
>         Attachments: 0001-OLINGO-1087-Fix-calculation-of-precision.patch
>
>
> The "precision" found in a read number is currently at least the number of decimals (omitting
trailing zeroes).  That seems to be wrong, or at least not consistent with at least some server
side view of the matter, for numbers smaller than 0.1 (the number shown has 35 decimals, but
precision 34):
> org.apache.olingo.odata2.api.edm.EdmSimpleTypeException: The metadata constraints '[Precision=34]'
do not match the literal '0.08102359900000000170194880411145277'.
>                 at org.apache.olingo.odata2.core.edm.EdmDecimal.internalValueOfString(EdmDecimal.java:107)
>                 at org.apache.olingo.odata2.core.edm.AbstractSimpleType.valueOfString(AbstractSimpleType.java:91)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonPropertyConsumer.readSimpleProperty(JsonPropertyConsumer.java:236)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonPropertyConsumer.readPropertyValue(JsonPropertyConsumer.java:169)
>                 ... 69 common frames omitted
> Wrapped by: org.apache.olingo.odata2.api.ep.EntityProviderException: An exception of
type 'EdmSimpleTypeException' occurred.
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonPropertyConsumer.readPropertyValue(JsonPropertyConsumer.java:171)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonEntryConsumer.handleName(JsonEntryConsumer.java:172)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonEntryConsumer.readEntryContent(JsonEntryConsumer.java:130)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonEntryConsumer.readFeedEntry(JsonEntryConsumer.java:117)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonFeedConsumer.readArrayContent(JsonFeedConsumer.java:153)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonFeedConsumer.handleName(JsonFeedConsumer.java:122)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonFeedConsumer.readFeedContent(JsonFeedConsumer.java:111)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonFeedConsumer.readFeed(JsonFeedConsumer.java:96)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonFeedConsumer.readFeedStandalone(JsonFeedConsumer.java:63)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonEntityConsumer.readDeltaFeed(JsonEntityConsumer.java:95)
>                 at org.apache.olingo.odata2.core.ep.consumer.JsonEntityConsumer.readFeed(JsonEntityConsumer.java:81)
>                 at org.apache.olingo.odata2.core.ep.JsonEntityProvider.readFeed(JsonEntityProvider.java:309)
>                 at org.apache.olingo.odata2.core.ep.ProviderFacadeImpl.readFeed(ProviderFacadeImpl.java:165)
>                 at org.apache.olingo.odata2.api.ep.EntityProvider.readFeed(EntityProvider.java:676)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message