googleapis / googleapis/google-cloud-python
Grouping by struct member broken in 1.11
- Vorherrschende Sprache
- Python
- Sterne
- 5.4k
- Forks
- 1.8k
- Ø Merge
- 3 T. 4 Std.
- Gemergte PRs (30 T.)
- 122
Beschreibung
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 🙂
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.