Hi, PFA patch for RM2305.
Issue: Generic function qtLiteral was not adapting values properly which contains non ascii characters. -- *Harshal Dhumal* *Software Engineer* EnterpriseDB India: http://www.enterprisedb.com The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/utils/driver/psycopg2/__init__.py b/web/pgadmin/utils/driver/psycopg2/__init__.py index bdbbee4..5c4f9ac 100644 --- a/web/pgadmin/utils/driver/psycopg2/__init__.py +++ b/web/pgadmin/utils/driver/psycopg2/__init__.py @@ -1828,21 +1828,20 @@ class Driver(BaseDriver): @staticmethod def qtLiteral(value): - try: - res = adapt(value).getquoted() - except UnicodeEncodeError: - # We will handle special characters with utf8 encoding - adapted = adapt(value) + adapted = adapt(value) + + # Not all adapted objects have encoding + # e.g. + # psycopg2.extensions.BOOLEAN + # psycopg2.extensions.FLOAT + # psycopg2.extensions.INTEGER + # etc... + if hasattr(adapted, 'encoding'): adapted.encoding = 'utf8' - res = adapted.getquoted() + res = adapted.getquoted() - # Returns in bytes, we need to convert it in string if isinstance(res, bytes): - try: - res = res.decode() - except UnicodeDecodeError: - res = res.decode('utf-8') - + return res.decode('utf-8') return res @staticmethod
-- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers