sqlmodel/sqlmodel/engine/result.py
2021-11-30 17:12:28 +01:00

80 lines
2.4 KiB
Python

from typing import Generic, Iterator, List, Optional, TypeVar
from sqlalchemy.engine.result import Result as _Result
from sqlalchemy.engine.result import ScalarResult as _ScalarResult
_T = TypeVar("_T")
class ScalarResult(_ScalarResult, Generic[_T]):
def all(self) -> List[_T]:
return super().all()
def partitions(self, size: Optional[int] = None) -> Iterator[List[_T]]:
return super().partitions(size)
def fetchall(self) -> List[_T]:
return super().fetchall()
def fetchmany(self, size: Optional[int] = None) -> List[_T]:
return super().fetchmany(size)
def __iter__(self) -> Iterator[_T]:
return super().__iter__()
def __next__(self) -> _T:
return super().__next__() # type: ignore
def first(self) -> Optional[_T]:
return super().first()
def one_or_none(self) -> Optional[_T]:
return super().one_or_none()
def one(self) -> _T:
return super().one() # type: ignore
class Result(_Result, Generic[_T]):
def scalars(self, index: int = 0) -> ScalarResult[_T]:
return super().scalars(index) # type: ignore
def __iter__(self) -> Iterator[_T]: # type: ignore
return super().__iter__() # type: ignore
def __next__(self) -> _T: # type: ignore
return super().__next__() # type: ignore
def partitions(self, size: Optional[int] = None) -> Iterator[List[_T]]: # type: ignore
return super().partitions(size) # type: ignore
def fetchall(self) -> List[_T]: # type: ignore
return super().fetchall() # type: ignore
def fetchone(self) -> Optional[_T]: # type: ignore
return super().fetchone() # type: ignore
def fetchmany(self, size: Optional[int] = None) -> List[_T]: # type: ignore
return super().fetchmany() # type: ignore
def all(self) -> List[_T]: # type: ignore
return super().all() # type: ignore
def first(self) -> Optional[_T]: # type: ignore
return super().first() # type: ignore
def one_or_none(self) -> Optional[_T]: # type: ignore
return super().one_or_none() # type: ignore
def scalar_one(self) -> _T:
return super().scalar_one() # type: ignore
def scalar_one_or_none(self) -> Optional[_T]:
return super().scalar_one_or_none()
def one(self) -> _T: # type: ignore
return super().one() # type: ignore
def scalar(self) -> Optional[_T]:
return super().scalar()