Lars, we have implemented paging of features in a WFS (for a sync/rep service) by keying on a "last_updated" timestamp is always updated whenever the data is touched. Then you can do your sort efficiently and grab diffs by keeping track of the most recent last_updated, simply using cql_filter.
Jason Newmoyer Newmoyer Geospatial Solutions 843.606.0424 ja...@newmoyergeospatial.com On Fri, May 21, 2021 at 7:14 AM Andrea Aime <andrea.a...@geo-solutions.it> wrote: > On Fri, May 21, 2021 at 12:19 PM Lars I. Nielsen, LIFA A/S via > Geoserver-users <geoserver-users@lists.sourceforge.net> wrote: > >> I then turned to using paging, but unfortunately Geoserver 2.16 (and >> later?) doesn’t support the OGC standard way of doing so (with “next” and >> “previous” tags returned). >> > > This surprised me.... there is code building the next/prev links in the > core of the WFS implementation, but indeed they don't show up in the GML > 3.2 output for > some reason. Have no clue why, nor have I found an open ticket about it... > could you create one in Jira > <https://osgeo-org.atlassian.net/projects/GEOS/summary>? > The weird thing is that there are tests checking the presence of next/prev > links, and they are passing, > but just like you, I cannot see them in the first layer I've tried on a > demo server.... probably something related to the dataset, the data source, > or well.. who knows what. > > >> Finally I’ve been looking into creating a “manual” paging mechanism, but >> can only provide a “startIndex” and “count”. I.e., I submit no “sortBy” >> parameter. >> >> >> >> There are 229 themes in all, and their structures are often vastly >> different. No single field name is common to all themes, not for filtering, >> not for sorting. >> >> The most common fieldname is only present in 159 themes. >> >> >> >> Even though most of the themes seem to work, some don’t, throwing an >> exception about something like a missing “natural sorting order”. >> >> Which tells me that something might still work behind the scenes. >> > > It means there is no primary key configured in the database for this > feature type, which causes lack of stable identifiers, and also > prevents paging. The reason why you get the error is that without a stable > sorting key the data backend can return data in whatever order > it pleases, and change it as we change the requested page (there are no > guarantees). > When the client provides no sort-by, GeoServer resorts to using the > primary key as the "natural sorting order", and if the PK is missing, > then you get the error above. > > Regards, > > Andrea > > == GeoServer Professional Services from the experts! Visit > http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf > Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa > (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 > http://www.geo-solutions.it http://twitter.com/geosolutions_it > ------------------------------------------------------- *Con riferimento > alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - > Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni > circostanza inerente alla presente email (il suo contenuto, gli eventuali > allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i > destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per > errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le > sarei comunque grato se potesse darmene notizia. This email is intended > only for the person or entity to which it is addressed and may contain > information that is privileged, confidential or otherwise protected from > disclosure. We remind that - as provided by European Regulation 2016/679 > “GDPR” - copying, dissemination or use of this e-mail or the information > herein by anyone other than the intended recipient is prohibited. If you > have received this email by mistake, please notify us immediately by > telephone or e-mail.* > _______________________________________________ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to > this list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > > Geoserver-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-users >
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users