Cursor Pagination
Cursor-Paginierung
Cursor-Paginierung setzt sich nach einem versteckten Marker in einer festen Sortierreihenfolge fort. Sie zählt nicht und überspringt keinen früheren Datensatz.
Ein weiteres Beispiel
Eine Überprüfungswarteschlange sortiert Fälle nach `created_at DESC, id DESC` und liefert einen `endCursor`, der beide Werte verbirgt. Neue Fälle oben wiederholen keine bereits überprüften Zeilen. Wenn der Datensatz des Cursors gelöscht wird, beginnt die nächste Seite dennoch an der Sortiergrenze, und geänderte Cursor schlagen bei der Validierung fehl.
Hauptteile
- 01Deterministische eindeutige Reihenfolge
- 02Opaker Fortsetzungszeiger
- 03Begrenzte Randseite
Verwenden Sie es, wenn
Verwenden Sie es für große oder sich schnell ändernde sortierte Daten, bei denen stabile nächste und vorherige Seiten wichtiger sind als Seitennummern.
Nutze es nicht, wenn
Verstecken Sie keinen sich ändernden Datenbank-Offset und nennen Sie ihn einen Cursor. Versprechen Sie keine Sprünge zu einer beliebigen Seite ohne einen separaten Indexplan.
In Code verwendeter Name
opaque cursor over a unique deterministic sort key + first/after or last/before Vor dem Ausliefern
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Cursor-Paginierung (Cursor Pagination). User context: Eine Überprüfungswarteschlange sortiert Fälle nach `created_at DESC, id DESC` und liefert einen `endCursor`, der beide Werte verbirgt. Neue Fälle oben wiederholen keine bereits überprüften Zeilen. Wenn der Datensatz des Cursors gelöscht wird, beginnt die nächste Seite dennoch an der Sortiergrenze, und geänderte Cursor schlagen bei der Validierung fehl. Technical concept or control: Cursor-Paginierung (Cursor Pagination). Why it fits: Verwenden Sie es für große oder sich schnell ändernde sortierte Daten, bei denen stabile nächste und vorherige Seiten wichtiger sind als Seitennummern. Do not use it when: Verstecken Sie keinen sich ändernden Datenbank-Offset und nennen Sie ihn einen Cursor. Versprechen Sie keine Sprünge zu einer beliebigen Seite ohne einen separaten Indexplan. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Kein einziger offizieller Standard kontrolliert den gesamten Begriff. Seine Bedeutung kann sich zwischen Teams, Plattformen oder Frameworks ändern. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Diese Anfrage prüfen
Review how Cursor-Paginierung (Cursor Pagination) is used now. Definition: Cursor-Paginierung setzt sich nach einem versteckten Marker in einer festen Sortierreihenfolge fort. Sie zählt nicht und überspringt keinen früheren Datensatz. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.