summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/result.py
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-09-26 01:17:44 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-09-26 01:17:44 +0000
commit6201b4d88666983b883b96d22a159aa2594de94b (patch)
tree4036c155ca7c274ea4bd12c059fd8fcd277fc026 /lib/sqlalchemy/engine/result.py
parentf81fdd9a9008a6517f89f2115765b7db9a32721b (diff)
parenta8029f5a7e3e376ec57f1614ab0294b717d53c05 (diff)
downloadsqlalchemy-6201b4d88666983b883b96d22a159aa2594de94b.tar.gz
Merge "ORM bulk insert via execute" into main
Diffstat (limited to 'lib/sqlalchemy/engine/result.py')
-rw-r--r--lib/sqlalchemy/engine/result.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py
index df5a8199c..05ca17063 100644
--- a/lib/sqlalchemy/engine/result.py
+++ b/lib/sqlalchemy/engine/result.py
@@ -109,9 +109,27 @@ class ResultMetaData:
def _for_freeze(self) -> ResultMetaData:
raise NotImplementedError()
+ @overload
def _key_fallback(
- self, key: _KeyType, err: Exception, raiseerr: bool = True
+ self, key: Any, err: Exception, raiseerr: Literal[True] = ...
) -> NoReturn:
+ ...
+
+ @overload
+ def _key_fallback(
+ self, key: Any, err: Exception, raiseerr: Literal[False] = ...
+ ) -> None:
+ ...
+
+ @overload
+ def _key_fallback(
+ self, key: Any, err: Exception, raiseerr: bool = ...
+ ) -> Optional[NoReturn]:
+ ...
+
+ def _key_fallback(
+ self, key: Any, err: Exception, raiseerr: bool = True
+ ) -> Optional[NoReturn]:
assert raiseerr
raise KeyError(key) from err
@@ -2148,6 +2166,7 @@ class IteratorResult(Result[_TP]):
"""
_hard_closed = False
+ _soft_closed = False
def __init__(
self,
@@ -2168,6 +2187,7 @@ class IteratorResult(Result[_TP]):
self.raw._soft_close(hard=hard, **kw)
self.iterator = iter([])
self._reset_memoizations()
+ self._soft_closed = True
def _raise_hard_closed(self) -> NoReturn:
raise exc.ResourceClosedError("This result object is closed.")