modify the way PostgreSQL quotes backslashes
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 17 Apr 2019 15:01:43 +0000 (17:01 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 17 Apr 2019 15:01:43 +0000 (17:01 +0200)
this is for SFA and namely from fed4fire, who use
hrn's that have backslashes in them so as to
escape dots in hrns, when they are meant for FQDN-hostnames

PLC/PostgreSQL.py

index dcf0608..bf467dd 100644 (file)
@@ -68,7 +68,12 @@ class PostgreSQL:
             x = x.decode('utf-8')
 
         if isinstance(x, str):
-            x = x.replace("\\", "\\\\").replace("'", "''")
+        # don't double quote backslahes, this causes failure
+        # with e.g. the SFA code when it tries to spot slices
+        # created from fed4fire, which to my knowledge is the only
+        # place where a backslash is useful
+        #    x = x.replace("\\", "\\\\")
+            x = x.replace("'", "''")
             x = f"'{x}'"
         elif isinstance(x, (int, float)):
             pass