Add execution_options to Session.get() (#6656)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This commit is contained in:
Sebastian Rittau
2021-12-23 11:37:02 +01:00
committed by GitHub
parent 5ca666631e
commit aa329b248b
3 changed files with 22 additions and 20 deletions

View File

@@ -1,13 +1,13 @@
from collections.abc import Callable
from typing import Any, ClassVar, Type, TypeVar, overload
from typing import Any, ClassVar, TypeVar, overload
from ..engine.interfaces import Connectable
from ..sql.schema import MetaData
from ..util import hybridproperty
from . import interfaces
_ClsT = TypeVar("_ClsT", bound=Type[Any])
_DeclT = TypeVar("_DeclT", bound=Type[_DeclarativeBase])
_ClsT = TypeVar("_ClsT", bound=type[Any])
_DeclT = TypeVar("_DeclT", bound=type[_DeclarativeBase])
# Dynamic class as created by registry.generate_base() via DeclarativeMeta
# or another metaclass. This class does not exist at runtime.
@@ -21,12 +21,12 @@ class _DeclarativeBase(Any): # super classes are dynamic
__class_getitem__: ClassVar[Any]
# Meta class (or function) that creates a _DeclarativeBase class.
_DeclarativeBaseMeta = Callable[[str, tuple[Type[Any], ...], dict[str, Any]], _DeclT]
_DeclarativeBaseMeta = Callable[[str, tuple[type[Any], ...], dict[str, Any]], _DeclT]
def has_inherited_table(cls: Type[Any]) -> bool: ...
def has_inherited_table(cls: type[Any]) -> bool: ...
class DeclarativeMeta(type):
def __init__(cls, classname: str, bases: tuple[Type[Any], ...], dict_: dict[str, Any], **kw: object) -> None: ...
def __init__(cls, classname: str, bases: tuple[type[Any], ...], dict_: dict[str, Any], **kw: object) -> None: ...
def __setattr__(cls, key: str, value: Any) -> None: ...
def __delattr__(cls, key: str) -> None: ...
@@ -49,20 +49,20 @@ def declarative_base(
bind: Connectable | None = ...,
metadata: MetaData | None = ...,
mapper: Any | None = ...,
cls: Type[Any] | tuple[Type[Any], ...] = ...,
cls: type[Any] | tuple[type[Any], ...] = ...,
name: str = ...,
constructor: Callable[..., None] = ...,
class_registry: dict[str, Type[Any]] | None = ...,
) -> Type[_DeclarativeBase]: ...
class_registry: dict[str, type[Any]] | None = ...,
) -> type[_DeclarativeBase]: ...
@overload
def declarative_base(
bind: Connectable | None = ...,
metadata: MetaData | None = ...,
mapper: Any | None = ...,
cls: Type[Any] | tuple[Type[Any], ...] = ...,
cls: type[Any] | tuple[type[Any], ...] = ...,
name: str = ...,
constructor: Callable[..., None] = ...,
class_registry: dict[str, Type[Any]] | None = ...,
class_registry: dict[str, type[Any]] | None = ...,
*,
metaclass: _DeclarativeBaseMeta[_DeclT],
) -> _DeclT: ...
@@ -71,10 +71,10 @@ def declarative_base(
bind: Connectable | None,
metadata: MetaData | None,
mapper: Any | None,
cls: Type[Any] | tuple[Type[Any], ...],
cls: type[Any] | tuple[type[Any], ...],
name: str,
constructor: Callable[..., None],
class_registry: dict[str, Type[Any]] | None,
class_registry: dict[str, type[Any]] | None,
metaclass: _DeclarativeBaseMeta[_DeclT],
) -> _DeclT: ...
@@ -84,7 +84,7 @@ class registry:
def __init__(
self,
metadata: MetaData | None = ...,
class_registry: dict[str, Type[Any]] | None = ...,
class_registry: dict[str, type[Any]] | None = ...,
constructor: Callable[..., None] = ...,
_bind: Connectable | None = ...,
) -> None: ...
@@ -94,21 +94,21 @@ class registry:
def dispose(self, cascade: bool = ...) -> None: ...
@overload
def generate_base(
self, mapper: Any | None = ..., cls: Type[Any] | tuple[Type[Any], ...] = ..., name: str = ...
) -> Type[_DeclarativeBase]: ...
self, mapper: Any | None = ..., cls: type[Any] | tuple[type[Any], ...] = ..., name: str = ...
) -> type[_DeclarativeBase]: ...
@overload
def generate_base(
self,
mapper: Any | None = ...,
cls: Type[Any] | tuple[Type[Any], ...] = ...,
cls: type[Any] | tuple[type[Any], ...] = ...,
name: str = ...,
*,
metaclass: _DeclarativeBaseMeta[_DeclT],
) -> _DeclT: ...
@overload
def generate_base(
self, mapper: Any | None, cls: Type[Any] | tuple[Type[Any], ...], name: str, metaclass: _DeclarativeBaseMeta[_DeclT]
) -> Type[_DeclarativeBase]: ...
self, mapper: Any | None, cls: type[Any] | tuple[type[Any], ...], name: str, metaclass: _DeclarativeBaseMeta[_DeclT]
) -> type[_DeclarativeBase]: ...
def mapped(self, cls: _ClsT) -> _ClsT: ...
# Return type of the callable is a _DeclarativeBase class with the passed in class as base.
# This could be better approximated with Intersection[PassedInClass, _DeclarativeBase].
@@ -122,7 +122,7 @@ def as_declarative(
*,
bind: Connectable | None = ...,
metadata: MetaData | None = ...,
class_registry: dict[str, Type[Any]] | None = ...,
class_registry: dict[str, type[Any]] | None = ...,
mapper: Any | None = ...,
metaclass: _DeclarativeBaseMeta[_DeclT] = ...,
) -> Callable[[_ClsT], _ClsT | _DeclT | Any]: ...

View File

@@ -70,6 +70,7 @@ class scoped_session(ScopedSessionMixin):
populate_existing: bool = ...,
with_for_update: Any | None = ...,
identity_token: Any | None = ...,
execution_options: Any | None = ...,
): ...
def get_bind(
self,

View File

@@ -157,6 +157,7 @@ class Session(_SessionClassMethods):
populate_existing: bool = ...,
with_for_update: Any | None = ...,
identity_token: Any | None = ...,
execution_options: Any | None = ...,
): ...
def merge(self, instance, load: bool = ..., options: Any | None = ...): ...
def enable_relationship_loading(self, obj) -> None: ...