summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/roles.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/roles.py')
-rw-r--r--lib/sqlalchemy/sql/roles.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/roles.py b/lib/sqlalchemy/sql/roles.py
index 577d868fd..231c70a5b 100644
--- a/lib/sqlalchemy/sql/roles.py
+++ b/lib/sqlalchemy/sql/roles.py
@@ -22,9 +22,7 @@ if TYPE_CHECKING:
from .base import _EntityNamespace
from .base import ColumnCollection
from .base import ReadOnlyColumnCollection
- from .elements import ClauseElement
from .elements import ColumnClause
- from .elements import ColumnElement
from .elements import Label
from .elements import NamedColumn
from .selectable import _SelectIterable
@@ -271,7 +269,14 @@ class StatementRole(SQLRole):
__slots__ = ()
_role_name = "Executable SQL or text() construct"
- _propagate_attrs: _PropagateAttrsType = util.immutabledict()
+ if TYPE_CHECKING:
+
+ @util.memoized_property
+ def _propagate_attrs(self) -> _PropagateAttrsType:
+ ...
+
+ else:
+ _propagate_attrs = util.EMPTY_DICT
class SelectStatementRole(StatementRole, ReturnsRowsRole):