googleapis / googleapis/google-cloud-python

Grouping by struct member broken in 1.11

Abierto
#15,775 3 comentarios 0 reacciones 2 asignados Reclamado por @chalmerlowe Ver en GitHub
api: bigquery
Lenguaje dominante
Python
Estrellas
5.4k
Forks
1.8k
Merge medio
3 d 4 h
PR fusionados (30 d)
122

Descripción

The following worked in 1.10 but raises an exception in 1.11:
```
from sqlalchemy import create_engine, Table, Integer, MetaData, Column, select, func
from sqlalchemy_bigquery import STRUCT

engine = create_engine(f"bigquery:///tmp", echo=True)
metadata = MetaData()
table = Table(
"table",
metadata,
Column("id", Integer, primary_key=True),
Column("nested", STRUCT(x=Integer))
)

query = (
select(
table.c.nested.x.label("x"),
)
.group_by(
"x"
)
)
print(query.compile(engine))
```
->
```
UnsupportedCompilationError: Compiler can't render element of type (Background on this error at: https://sqlalche.me/e/14/l7de)
```

I traced the issue back to this line: https://github.com/googleapis/python-bigquery-sqlalchemy/pull/1053/files#diff-efe1987a73ae5b54aa817dc8c70541025df89d9d08601c8ab33fa84ad8c09de7R344

Removing this check or catching the exception resolves the issue. Perhaps a safer way to do this check would be to see if it's a function and then check its name? Not totally sure but I'm sure you will know @tswast 🙂

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.