From 9d42db6d25662e18156bda85c5416f38cfa5276d Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 30 Sep 2009 08:45:54 +0000 Subject: [PATCH] bugfix for when trying to quote enumerate types --- PLC/PostgreSQL.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/PLC/PostgreSQL.py b/PLC/PostgreSQL.py index 101cfe6..076a864 100644 --- a/PLC/PostgreSQL.py +++ b/PLC/PostgreSQL.py @@ -89,6 +89,12 @@ class PostgreSQL: self.connection.close() self.connection = None + # join insists on getting strings + @classmethod + def quote_string(self, value): + return str(PostgreSQL.quote(value)) + + @classmethod def quote(self, value): """ Returns quoted version of the specified value. @@ -97,12 +103,11 @@ class PostgreSQL: # The pgdb._quote function is good enough for general SQL # quoting, except for array types. if isinstance(value, (list, tuple, set)): - return "ARRAY[%s]" % ", ".join(map, self.quote, value) + return "ARRAY[%s]" % ", ".join(map (PostgreSQL.quote_string, value)) else: return pgdb._quote(value) - quote = classmethod(quote) - + @classmethod def param(self, name, value): # None is converted to the unquoted string NULL if isinstance(value, NoneType): @@ -119,8 +124,6 @@ class PostgreSQL: return '%(' + name + ')' + conversion - param = classmethod(param) - def begin_work(self): # Implicit in pgdb.connect() pass -- 2.43.0