From 04c4578df78859c96943292f5e8bfd5b567a515b Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sat, 26 Mar 2011 05:55:49 +0000 Subject: [PATCH] minor fix --- plugins/generic/enumeration.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/generic/enumeration.py b/plugins/generic/enumeration.py index c2ccd6c45..994943a17 100644 --- a/plugins/generic/enumeration.py +++ b/plugins/generic/enumeration.py @@ -1212,11 +1212,15 @@ class Enumeration: Returns an safe representation of SQL identificator name """ retVal = value - if isinstance(value, basestring) and not re.match(r"\A[A-Za-z0-9_]+\Z", value): - if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.ACCESS): - retVal = "`%s`" % value.strip("`") - elif Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.ORACLE, DBMS.PGSQL): - retVal = "\"%s\"" % value.strip("\"") + if isinstance(value, basestring): + parts = value.split('.') + for i in range(len(parts)): + if not re.match(r"\A[A-Za-z0-9_]+\Z", parts[i]): + if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.ACCESS): + parts[i] = "`%s`" % parts[i].strip("`") + elif Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.ORACLE, DBMS.PGSQL): + parts[i] = "\"%s\"" % parts[i].strip("\"") + retVal = ".".join(parts) return retVal def dumpTable(self):