SOAP page size
Curator Tool and the corresponding SOAP getData
endpoint use a very specific pagination implementation: The CT prepares the pkeyCollection
list of inputs and it is this list that is sliced into pages using ux_numericupdownQueryPageSize
setting. Because the pkeys
are resolved (from accession_id via inventory_id via ...) the pagination of pkeys
has little control over how may rows the server will return after resolving the dataview.
The CT then requests at most ux_numericupdownMaxRowsReturned
rows for the sliced pkey
, but this is also the limit when the CT will stop loading data pages once this number is reached.
CT never requests data pages beyond the first page and it doesn't really paginate -- the page number is fixed to 0
in GrinGlobalClient.cs#L1788
:
DataSet pagedDataSet = _sharedUtils.GetWebServiceData(dataviewName, pkeyCollection, 0, Convert.ToInt32(ux_numericupdownMaxRowsReturned.Value));
To support this behavior, the GGCE limit of number of rows to return must be increased from 100,000
to 500,000
-- but such queries then require a lot more ram for GGCE as the response is not streamed, but built in memory before serialization to XML.