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