]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Add _NetworkAddressTypeMixin 12412/head
authorDenis Laxalde <denis@laxalde.org>
Tue, 11 Mar 2025 08:20:03 +0000 (09:20 +0100)
committerDenis Laxalde <denis@laxalde.org>
Tue, 11 Mar 2025 08:20:03 +0000 (09:20 +0100)
lib/sqlalchemy/dialects/postgresql/types.py

index bcf8f311aef22d081b96331673fdb63425a8995c..1aed2bf4724077288c0df99abe464ed429c839f3 100644 (file)
@@ -52,50 +52,40 @@ class BYTEA(sqltypes.LargeBinary):
     __visit_name__ = "BYTEA"
 
 
-class INET(sqltypes.TypeEngine[str]):
-    __visit_name__ = "INET"
+class _NetworkAddressTypeMixin:
 
     def coerce_compared_value(
         self, op: Optional[OperatorType], value: Any
     ) -> TypeEngine[Any]:
+        if TYPE_CHECKING:
+            assert isinstance(self, TypeEngine)
         return self
 
 
+class INET(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]):
+    __visit_name__ = "INET"
+
+
 PGInet = INET
 
 
-class CIDR(sqltypes.TypeEngine[str]):
+class CIDR(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]):
     __visit_name__ = "CIDR"
 
-    def coerce_compared_value(
-        self, op: Optional[OperatorType], value: Any
-    ) -> TypeEngine[Any]:
-        return self
-
 
 PGCidr = CIDR
 
 
-class MACADDR(sqltypes.TypeEngine[str]):
+class MACADDR(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]):
     __visit_name__ = "MACADDR"
 
-    def coerce_compared_value(
-        self, op: Optional[OperatorType], value: Any
-    ) -> TypeEngine[Any]:
-        return self
-
 
 PGMacAddr = MACADDR
 
 
-class MACADDR8(sqltypes.TypeEngine[str]):
+class MACADDR8(_NetworkAddressTypeMixin, sqltypes.TypeEngine[str]):
     __visit_name__ = "MACADDR8"
 
-    def coerce_compared_value(
-        self, op: Optional[OperatorType], value: Any
-    ) -> TypeEngine[Any]:
-        return self
-
 
 PGMacAddr8 = MACADDR8