MagicStack / MagicStack/asyncpg
cursor prefetch with bounded lag
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 8.1k
- Forks
- 468
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
EDIT: nvm, looks like there's really no mechanism in the pgwire protocol that would support this behavior.
Would it at all be possible to support prefetching a batch of up to N rows via a cursor, as compared to waiting for exactly N rows to be available?
In other words, I would like to have a `max_lag` parameter similar to `timeout`, but with different semantics. If after `max_lag` at least 1 row, yet less than `prefetch` rows are available, do return the available rows.
Current api is:
```
cursor(query, *args, prefetch=None, timeout=None, record_class=None)
```
I would like it to be augmented as:
```
cursor(query, *args, prefetch=None, max_lag=None, timeout=None, record_class=None)
```
Is there any intrinsic limitation that would make this not worth the effort or simply there has been no interest for anything like that?
Thank you!
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie damit, die im Issue angegebene pgwire-Einschränkung zu überprüfen und die im Bericht beschriebene bestehende Cursor-API zu prüfen. Es werden keine Dateien oder Tests genannt, und das gewünschte Verhalten ist möglicherweise nicht implementierbar; für den Abschluss wären ein bestätigtes, vom Protokoll unterstütztes Design und ein entsprechender Projektumfang erforderlich.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- postgresql, python
- Bereich
- backend-api-design, databases
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 15/100