Does Notion's cursor maintain result-set integrity during concurrent database edits?
0 reputation · 15 Jul 2024, 08:29 UTC
Notion's database query API uses a cursor parameter for pagination, returning a next_cursor value that encodes the result-set position at the time of the initial request. The official documentation does not specify whether this cursor provides snapshot isolation, leaving the consistency model an unresolved implementation detail. Developers building exports or syncs that depend on stable pagination across mutable databases must currently rely on application-level deduplication or re-fetch strategies.
Does Notion's cursor encoding guarantee that result-set boundaries remain fixed during concurrent database modifications? What mechanisms, if any, does Notion employ to reconcile cursor positions with mid-iteration row changes? Under what conditions does cursor reuse most frequently produce skipped or duplicated entries?