summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/events.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2022-03-20 16:39:36 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2022-03-24 16:57:30 -0400
commit6f02d5edd88fe2475629438b0730181a2b00c5fe (patch)
treebbf9e9f3e8a2363659be35d59a7749c7fe35ef7c /lib/sqlalchemy/sql/events.py
parentc565c470517e1cc70a7f33d1ad3d3256935f1121 (diff)
downloadsqlalchemy-6f02d5edd88fe2475629438b0730181a2b00c5fe.tar.gz
pep484 - SQL internals
non-strict checking for mostly internal or semi-internal code Change-Id: Ib91b47f1a8ccc15e666b94bad1ce78c4ab15b0ec
Diffstat (limited to 'lib/sqlalchemy/sql/events.py')
-rw-r--r--lib/sqlalchemy/sql/events.py46
1 files changed, 37 insertions, 9 deletions
diff --git a/lib/sqlalchemy/sql/events.py b/lib/sqlalchemy/sql/events.py
index 1a1fc4c41..0d74e2e4c 100644
--- a/lib/sqlalchemy/sql/events.py
+++ b/lib/sqlalchemy/sql/events.py
@@ -7,11 +7,23 @@
from __future__ import annotations
+from typing import Any
+from typing import TYPE_CHECKING
+
from .base import SchemaEventTarget
from .. import event
+if TYPE_CHECKING:
+ from .schema import Column
+ from .schema import Constraint
+ from .schema import SchemaItem
+ from .schema import Table
+ from ..engine.base import Connection
+ from ..engine.interfaces import ReflectedColumn
+ from ..engine.reflection import Inspector
+
-class DDLEvents(event.Events):
+class DDLEvents(event.Events[SchemaEventTarget]):
"""
Define event listeners for schema objects,
that is, :class:`.SchemaItem` and other :class:`.SchemaEventTarget`
@@ -93,7 +105,9 @@ class DDLEvents(event.Events):
_target_class_doc = "SomeSchemaClassOrObject"
_dispatch_target = SchemaEventTarget
- def before_create(self, target, connection, **kw):
+ def before_create(
+ self, target: SchemaEventTarget, connection: Connection, **kw: Any
+ ) -> None:
r"""Called before CREATE statements are emitted.
:param target: the :class:`_schema.MetaData` or :class:`_schema.Table`
@@ -120,7 +134,9 @@ class DDLEvents(event.Events):
"""
- def after_create(self, target, connection, **kw):
+ def after_create(
+ self, target: SchemaEventTarget, connection: Connection, **kw: Any
+ ) -> None:
r"""Called after CREATE statements are emitted.
:param target: the :class:`_schema.MetaData` or :class:`_schema.Table`
@@ -142,7 +158,9 @@ class DDLEvents(event.Events):
"""
- def before_drop(self, target, connection, **kw):
+ def before_drop(
+ self, target: SchemaEventTarget, connection: Connection, **kw: Any
+ ) -> None:
r"""Called before DROP statements are emitted.
:param target: the :class:`_schema.MetaData` or :class:`_schema.Table`
@@ -164,7 +182,9 @@ class DDLEvents(event.Events):
"""
- def after_drop(self, target, connection, **kw):
+ def after_drop(
+ self, target: SchemaEventTarget, connection: Connection, **kw: Any
+ ) -> None:
r"""Called after DROP statements are emitted.
:param target: the :class:`_schema.MetaData` or :class:`_schema.Table`
@@ -186,7 +206,9 @@ class DDLEvents(event.Events):
"""
- def before_parent_attach(self, target, parent):
+ def before_parent_attach(
+ self, target: SchemaEventTarget, parent: SchemaItem
+ ) -> None:
"""Called before a :class:`.SchemaItem` is associated with
a parent :class:`.SchemaItem`.
@@ -201,7 +223,9 @@ class DDLEvents(event.Events):
"""
- def after_parent_attach(self, target, parent):
+ def after_parent_attach(
+ self, target: SchemaEventTarget, parent: SchemaItem
+ ) -> None:
"""Called after a :class:`.SchemaItem` is associated with
a parent :class:`.SchemaItem`.
@@ -216,13 +240,17 @@ class DDLEvents(event.Events):
"""
- def _sa_event_column_added_to_pk_constraint(self, const, col):
+ def _sa_event_column_added_to_pk_constraint(
+ self, const: Constraint, col: Column[Any]
+ ) -> None:
"""internal event hook used for primary key naming convention
updates.
"""
- def column_reflect(self, inspector, table, column_info):
+ def column_reflect(
+ self, inspector: Inspector, table: Table, column_info: ReflectedColumn
+ ) -> None:
"""Called for each unit of 'column info' retrieved when
a :class:`_schema.Table` is being reflected.