diff --git a/sqlalchemy-stubs/sql/sqltypes.pyi b/sqlalchemy-stubs/sql/sqltypes.pyi index cb0e61a..2827bc2 100644 --- a/sqlalchemy-stubs/sql/sqltypes.pyi +++ b/sqlalchemy-stubs/sql/sqltypes.pyi @@ -22,7 +22,7 @@ class Indexable(object): # Docs say that String is unicode when DBAPI supports it # but it should be all major DBAPIs now. -class String(Concatenable, TypeEngine[str]): # XXX: should be typing_Text +class String(Concatenable, TypeEngine[typing_Text]): __visit_name__: str = ... length: Optional[int] = ... collation: Optional[str] = ... @@ -39,7 +39,7 @@ class String(Concatenable, TypeEngine[str]): # XXX: should be typing_Text def bind_processor(self, dialect: Dialect) -> Optional[Callable[[str], str]]: ... def result_processor(self, dialect: Dialect, coltype: Any) -> Optional[Callable[[Optional[Any]], Optional[str]]]: ... @property - def python_type(self) -> Type[str]: ... + def python_type(self) -> Type[typing_Text]: ... def get_dbapi_type(self, dbapi: Any) -> Any: ... class Text(String): diff --git a/test/test-data/sqlalchemy-basics.test b/test/test-data/sqlalchemy-basics.test index 141851d..9fecf29 100644 --- a/test/test-data/sqlalchemy-basics.test +++ b/test/test-data/sqlalchemy-basics.test @@ -102,7 +102,7 @@ class User(Base): user = User() reveal_type(user.id) # E: Revealed type is 'builtins.int*' -reveal_type(User.name) # E: Revealed type is 'sqlalchemy.sql.schema.Column[Union[builtins.str*, None]]' +reveal_type(User.name) # E: Revealed type is 'sqlalchemy.sql.schema.Column[Union[builtins.unicode*, None]]' [out] [case testColumnFieldsInferredInstance_python2] @@ -118,5 +118,5 @@ class User(Base): user = User() reveal_type(user.id) # E: Revealed type is 'builtins.int*' -reveal_type(User.name) # E: Revealed type is 'sqlalchemy.sql.schema.Column[builtins.str*]' +reveal_type(User.name) # E: Revealed type is 'sqlalchemy.sql.schema.Column[builtins.unicode*]' [out]