sqlalchemy-stubs icon indicating copy to clipboard operation
sqlalchemy-stubs copied to clipboard

ColumnCollection initializer incorrect

Open rectalogic opened this issue 4 years ago • 0 comments

The example in the docs shows a list of tuples of name/column pairs:

>>> x1, x2 = Column('x', Integer), Column('x', Integer)
>>> cc = ColumnCollection(columns=[(x1.name, x1), (x2.name, x2)])

https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.ColumnCollection

But that fails to validate:

import sqlalchemy as sa

t = sa.Table(
    "foo", sa.MetaData(),
    sa.Column("one", sa.Integer),
    sa.Column("two", sa.Integer),
)
sa.sql.expression.ColumnCollection([
    (t.c.one.name, t.c.one),
    (t.c.two.name, t.c.two),
])
$ mypy cc.py
cc.py:8: error: Argument 1 to "ColumnCollection" has incompatible type "List[Tuple[str, Column[Any]]]"; expected "Column[Any]"
Found 1 error in 1 file (checked 1 source file)

rectalogic avatar Oct 26 '21 18:10 rectalogic