that one was hard to pinpoint: we DON'T want to convert str to bytes, when normalizin...
authorparmentelat <thierry.parmentelat@inria.fr>
Thu, 13 Dec 2018 15:08:14 +0000 (16:08 +0100)
committerparmentelat <thierry.parmentelat@inria.fr>
Thu, 13 Dec 2018 15:08:14 +0000 (16:08 +0100)
PLC/PostgreSQL.py

index 2368419..dcf0608 100644 (file)
@@ -60,14 +60,16 @@ class PostgreSQL:
 
     @staticmethod
     # From pgdb, and simplify code
+    # this is **very different** from the python2 code !
     def _quote(x):
         if isinstance(x, DateTimeType):
             x = str(x)
-        elif isinstance(x, str):
-            x = x.encode('utf-8')
+        elif isinstance(x, bytes):
+            x = x.decode('utf-8')
 
-        if isinstance(x, bytes):
-            x = "'%s'" % str(x).replace("\\", "\\\\").replace("'", "''")
+        if isinstance(x, str):
+            x = x.replace("\\", "\\\\").replace("'", "''")
+            x = f"'{x}'"
         elif isinstance(x, (int, float)):
             pass
         elif x is None: