MagicStack / MagicStack/asyncpg
cursor prefetch with bounded lag
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 8.1k
- Forks
- 468
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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!
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza verificando la limitación de pgwire indicada en el issue y revisando la API de cursor existente descrita en el informe. No se nombran archivos ni tests, y es posible que el comportamiento solicitado no sea implementable; para completarlo sería necesario contar con un diseño confirmado y compatible con el protocolo, así como con un alcance de proyecto correspondiente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- postgresql, python
- Área
- backend-api-design, databases
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 15/100