Bug fix (--dbms=mysql --tables -D testdb --exclude-sysdbs --technique=E was not working)

This commit is contained in:
Miroslav Stampar 2013-01-30 11:36:04 +01:00
parent f391937083
commit 6005046280

View File

@ -259,12 +259,13 @@ class Databases:
if condition: if condition:
if not Backend.isDbms(DBMS.SQLITE): if not Backend.isDbms(DBMS.SQLITE):
query += " WHERE %s" % condition query += " WHERE %s" % condition
query += " IN (%s)" % ",".join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs))
if conf.excludeSysDbs: if conf.excludeSysDbs:
query += "".join(" AND %s != '%s'" % (condition, unsafeSQLIdentificatorNaming(db)) for db in self.excludeDbsList)
infoMsg = "skipping system database%s '%s'" % ("s" if len(self.excludeDbsList) > 1 else "", ", ".join(db for db in self.excludeDbsList)) infoMsg = "skipping system database%s '%s'" % ("s" if len(self.excludeDbsList) > 1 else "", ", ".join(db for db in self.excludeDbsList))
logger.info(infoMsg) logger.info(infoMsg)
query += " IN (%s)" % ",".join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs) if db not in self.excludeDbsList)
else:
query += " IN (%s)" % ",".join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs))
if len(dbs) < 2 and ("%s," % condition) in query: if len(dbs) < 2 and ("%s," % condition) in query:
query = query.replace("%s," % condition, "", 1) query = query.replace("%s," % condition, "", 1)