]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Make Composable an abstract base class
authorDenis Laxalde <denis.laxalde@dalibo.com>
Thu, 10 Jun 2021 11:27:05 +0000 (13:27 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 22 Jun 2021 09:48:23 +0000 (10:48 +0100)
psycopg3/psycopg3/sql.py

index 9b7ac125e4d5cb61e87d9556c4f1722618502773..3ac75f54b24a35547e5a506df4b12bc38339460a 100644 (file)
@@ -6,6 +6,7 @@ SQL composition utility module
 
 import codecs
 import string
+from abc import ABC, abstractmethod
 from typing import Any, Iterator, List, Optional, Sequence, Union
 
 from .pq import Escaping
@@ -29,7 +30,7 @@ def quote(obj: Any, context: Optional[AdaptContext] = None) -> str:
     return Literal(obj).as_string(context)
 
 
-class Composable:
+class Composable(ABC):
     """
     Abstract base class for objects that can be used to compose an SQL string.
 
@@ -50,6 +51,7 @@ class Composable:
     def __repr__(self) -> str:
         return f"{self.__class__.__name__}({self._obj!r})"
 
+    @abstractmethod
     def as_bytes(self, context: Optional[AdaptContext]) -> bytes:
         """
         Return the value of the object as bytes.