PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
100 stars 102 forks source link

Pagination et order_by #3105

Open TheoLechemia opened 3 months ago

TheoLechemia commented 3 months ago

Toutes les routes faisant de la pagination n'ordonnent pas les résultats sur la clé primaire. Il en résulte des résultats potentiellement inconstants sur les API qui interrogent de manière successive les différentes pages (duplicat de clé primaire entre les différents appels)

-> doc PostgreSQL

The query optimizer takes LIMIT into account when generating query plans, so you are very likely to get different plans (yielding different row orders) depending on what you give for LIMIT and OFFSET. Thus, using different LIMIT/OFFSET values to select different subsets of a query result will give inconsistent results unless you enforce a predictable result ordering with ORDER BY.

Il faudrait faire un tour sur toutes les API qui paginent et mettre un ordonnancement par défaut sur la clé primaire