summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/pool/base.py6
-rw-r--r--lib/sqlalchemy/pool/impl.py6
-rw-r--r--lib/sqlalchemy/sql/compiler.py5
-rw-r--r--test/profiles.txt4
4 files changed, 16 insertions, 5 deletions
diff --git a/lib/sqlalchemy/pool/base.py b/lib/sqlalchemy/pool/base.py
index c9fb8cb34..5a9d28a28 100644
--- a/lib/sqlalchemy/pool/base.py
+++ b/lib/sqlalchemy/pool/base.py
@@ -637,7 +637,11 @@ class _ConnectionRecord(ConnectionPoolEntry):
@classmethod
def checkout(cls, pool: Pool) -> _ConnectionFairy:
- rec = cast(_ConnectionRecord, pool._do_get())
+ if TYPE_CHECKING:
+ rec = cast(_ConnectionRecord, pool._do_get())
+ else:
+ rec = pool._do_get()
+
try:
dbapi_connection = rec.get_connection()
except Exception as err:
diff --git a/lib/sqlalchemy/pool/impl.py b/lib/sqlalchemy/pool/impl.py
index d1be3f541..15ff8c75f 100644
--- a/lib/sqlalchemy/pool/impl.py
+++ b/lib/sqlalchemy/pool/impl.py
@@ -20,6 +20,7 @@ from typing import List
from typing import Optional
from typing import Set
from typing import Type
+from typing import TYPE_CHECKING
from typing import Union
import weakref
@@ -390,7 +391,10 @@ class SingletonThreadPool(Pool):
def _do_get(self) -> ConnectionPoolEntry:
try:
- c = cast(ConnectionPoolEntry, self._conn.current())
+ if TYPE_CHECKING:
+ c = cast(ConnectionPoolEntry, self._conn.current())
+ else:
+ c = self._conn.current()
if c:
return c
except AttributeError:
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index f28dceefc..db88496a0 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -48,6 +48,7 @@ from typing import Sequence
from typing import Set
from typing import Tuple
from typing import Type
+from typing import TYPE_CHECKING
from typing import Union
from . import base
@@ -1767,7 +1768,9 @@ class SQLCompiler(Compiled):
else:
schema_prefix = ""
- tablename = cast("NamedFromClause", table).name
+ if TYPE_CHECKING:
+ assert isinstance(table, NamedFromClause)
+ tablename = table.name
if (
not effective_schema
diff --git a/test/profiles.txt b/test/profiles.txt
index 750b57780..ec1cba724 100644
--- a/test/profiles.txt
+++ b/test/profiles.txt
@@ -203,8 +203,8 @@ test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query x86_64_linux_cp
# TEST: test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results x86_64_linux_cpython_3.10_sqlite_pysqlite_dbapiunicode_cextensions 431905
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results x86_64_linux_cpython_3.10_sqlite_pysqlite_dbapiunicode_nocextensions 450605
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results x86_64_linux_cpython_3.10_sqlite_pysqlite_dbapiunicode_cextensions 440705
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results x86_64_linux_cpython_3.10_sqlite_pysqlite_dbapiunicode_nocextensions 458805
# TEST: test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity