MagicStack / MagicStack/asyncpg

conn.execute return value

Abierto
#1,238 1 comentario 0 reacciones 0 asignados Ver en GitHub

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

asyncpg version: 0.30
PostgreSQL version:
Do you use a PostgreSQL SaaS? If so, which? Can you reproduce the issue with a local PostgreSQL install?:
Python version: 3.11
Platform: Ubuntu
Do you use pgbouncer?: No
Did you install asyncpg with pip?: Yes
If you built asyncpg locally, which version of Cython did you use?:
Can the issue be reproduced under both asyncio and [uvloop](https://github.com/magicstack/uvloop)?: NA

When I do `execute` on a connection, the return value looks like it brings back the number of rows with `SELECT ` prepended to it.

Example:
If you run:
```sql
conn.execute("SELECT now();")
```
The output is `SELECT 1`

If you run:
```sql
conn.execute("SELECT generate_series(0, 100);")
```
The output is `SELECT 101`

Obviously with a `fetch` it brings back the correct result, but I am specifically interested in the return value of a multi statement `execute`.

ie, I want to do
```sql
conn.execute("SELECT generate_series(0, 100); SELECT now();")
```
And the return value should be the last return value.

Is this possible? What am I missing?

Thanks in advance

And PS. The ISSUE_TEMPLATE is not applying when creating the issue, I copied it in.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza en el punto de entrada conn.execute y reproduce los dos ejemplos, de una sola sentencia y de múltiples sentencias, con la configuración indicada de asyncpg 0.30 y Python 3.11. Para darlo por terminado sería necesario acordar el comportamiento o cambiar la documentación del valor de retorno de execute; el issue no especifica ningún archivo ni prueba.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
postgresql, python
Área
databases
Tipo de issue
Error
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.