summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-03-24 21:30:52 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-03-24 21:30:52 +0000
commit221aff778e1eb3c3aa8f8a1f72629177442694bc (patch)
tree5f668dd290cce756f4bfc1e60a0ec3c59b0951c8 /lib/sqlalchemy/engine
parent1c1c925fe3a77581f4879f6b6fe0bb6b6158cc3d (diff)
parent6f02d5edd88fe2475629438b0730181a2b00c5fe (diff)
downloadsqlalchemy-221aff778e1eb3c3aa8f8a1f72629177442694bc.tar.gz
Merge "pep484 - SQL internals" into main
Diffstat (limited to 'lib/sqlalchemy/engine')
-rw-r--r--lib/sqlalchemy/engine/base.py5
-rw-r--r--lib/sqlalchemy/engine/default.py16
-rw-r--r--lib/sqlalchemy/engine/mock.py3
-rw-r--r--lib/sqlalchemy/engine/reflection.py1
4 files changed, 11 insertions, 14 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 6a79cdf02..db6d1ef3f 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -73,6 +73,7 @@ if typing.TYPE_CHECKING:
from ..sql.functions import FunctionElement
from ..sql.schema import ColumnDefault
from ..sql.schema import HasSchemaAttr
+ from ..sql.schema import SchemaItem
"""Defines :class:`_engine.Connection` and :class:`_engine.Engine`.
@@ -2015,7 +2016,7 @@ class Connection(ConnectionEventsTarget, inspection.Inspectable["Inspector"]):
def _run_ddl_visitor(
self,
visitorcallable: Type[Union[SchemaGenerator, SchemaDropper]],
- element: DDLElement,
+ element: SchemaItem,
**kwargs: Any,
) -> None:
"""run a DDL visitor.
@@ -2760,7 +2761,7 @@ class Engine(
def _run_ddl_visitor(
self,
visitorcallable: Type[Union[SchemaGenerator, SchemaDropper]],
- element: DDLElement,
+ element: SchemaItem,
**kwargs: Any,
) -> None:
with self.begin() as conn:
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py
index 4a833d2e5..d605af3ef 100644
--- a/lib/sqlalchemy/engine/default.py
+++ b/lib/sqlalchemy/engine/default.py
@@ -54,7 +54,9 @@ from ..sql import expression
from ..sql._typing import is_tuple_type
from ..sql.compiler import DDLCompiler
from ..sql.compiler import SQLCompiler
+from ..sql.elements import ColumnClause
from ..sql.elements import quoted_name
+from ..sql.schema import default_is_scalar
if typing.TYPE_CHECKING:
from types import ModuleType
@@ -1164,7 +1166,7 @@ class DefaultExecutionContext(ExecutionContext):
return ()
@util.memoized_property
- def returning_cols(self) -> Optional[Sequence[Column[Any]]]:
+ def returning_cols(self) -> Optional[Sequence[ColumnClause[Any]]]:
if TYPE_CHECKING:
assert isinstance(self.compiled, SQLCompiler)
return self.compiled.returning
@@ -1778,15 +1780,11 @@ class DefaultExecutionContext(ExecutionContext):
# to avoid many calls of get_insert_default()/
# get_update_default()
for c in insert_prefetch:
- if c.default and not c.default.is_sequence and c.default.is_scalar:
- if TYPE_CHECKING:
- assert isinstance(c.default, ColumnDefault)
+ if c.default and default_is_scalar(c.default):
scalar_defaults[c] = c.default.arg
for c in update_prefetch:
- if c.onupdate and c.onupdate.is_scalar:
- if TYPE_CHECKING:
- assert isinstance(c.onupdate, ColumnDefault)
+ if c.onupdate and default_is_scalar(c.onupdate):
scalar_defaults[c] = c.onupdate.arg
for param in self.compiled_parameters:
@@ -1817,9 +1815,7 @@ class DefaultExecutionContext(ExecutionContext):
) = self.compiled_parameters[0]
for c in compiled.insert_prefetch:
- if c.default and not c.default.is_sequence and c.default.is_scalar:
- if TYPE_CHECKING:
- assert isinstance(c.default, ColumnDefault)
+ if c.default and default_is_scalar(c.default):
val = c.default.arg
else:
val = self.get_insert_default(c)
diff --git a/lib/sqlalchemy/engine/mock.py b/lib/sqlalchemy/engine/mock.py
index a0ba96603..c94dd1032 100644
--- a/lib/sqlalchemy/engine/mock.py
+++ b/lib/sqlalchemy/engine/mock.py
@@ -32,6 +32,7 @@ if typing.TYPE_CHECKING:
from ..sql.ddl import SchemaDropper
from ..sql.ddl import SchemaGenerator
from ..sql.schema import HasSchemaAttr
+ from ..sql.schema import SchemaItem
class MockConnection:
@@ -55,7 +56,7 @@ class MockConnection:
def _run_ddl_visitor(
self,
visitorcallable: Type[Union[SchemaGenerator, SchemaDropper]],
- element: DDLElement,
+ element: SchemaItem,
**kwargs: Any,
) -> None:
kwargs["checkfirst"] = False
diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py
index e1281365e..b8ece2b1d 100644
--- a/lib/sqlalchemy/engine/reflection.py
+++ b/lib/sqlalchemy/engine/reflection.py
@@ -317,7 +317,6 @@ class Inspector(inspection.Inspectable["Inspector"]):
with an already-given :class:`_schema.MetaData`.
"""
-
with self._operation_context() as conn:
tnames = self.dialect.get_table_names(
conn, schema, info_cache=self.info_cache