[ 
https://issues.apache.org/jira/browse/OLINGO-1540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Deyan updated OLINGO-1540:
--------------------------
    Attachment: 
[OLINGO-1540]_Change_type_of_entity_count_properties_from_Integer_to_Long.patch

> $count is an Integer value and cannot handle counts bigger than 2 billions 
> (2147483647) 
> ----------------------------------------------------------------------------------------
>
>                 Key: OLINGO-1540
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1540
>             Project: Olingo
>          Issue Type: Improvement
>          Components: odata4-server
>            Reporter: Deyan
>            Priority: Major
>         Attachments: 
> [OLINGO-1540]_Change_type_of_entity_count_properties_from_Integer_to_Long.patch
>
>
> The classes EntityCollection and FixedFormatSerializer require an Integer 
> value for the count of entities and introduce a limit of 2 bln (Integer.MAX). 
> That number is certainly not enough for some data sets that might have more 
> records than 2 bln. For example I am working on a project which has a 
> database table with 3 bln rows and growing. 
> The OData 4 specification does not restrict the value of $count to a signed 
> 32 bit Integer. Instead the specification implies that the count is an 
> integer number, meaning zero fractional digits.
> The suggested approach here is to upgrade the count properties from Integer 
> to Long. 
>  
> +From the OData specification:+ 
>  
> _The $count system query option with a value of true specifies that the total 
> count of items within a collection matching the request be returned along 
> with the result._
>  
> h3. 11.2.10 [Requesting the Number of Items in a 
> Collection|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_RequestingtheNumberofItemsinaCollect]
> _To request only the number of items of a collection of entities or items of 
> a collection-valued property, the client issues a GET request with /$count 
> appended to the resource path of the collection._
> _On success, the response body MUST contain the exact count of items matching 
> the request after applying any 
> [$filter|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionfilter]
>  or 
> [$search|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionsearch]
>  system query options, formatted as a *simple primitive integer value* with 
> media type text/plain. Clients SHOULD NOT combine the system query options 
> [$top|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptiontop],
>  
> [$skip|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionskip],
>  
> [$orderby|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionorderby],
>  
> [$expand|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionexpand],
>  and 
> [$format|https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionformat]
>  with the path suffix /$count. The result of such a request is undefined._



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to