Another bug fix for --privileges on PgSQL with UNION query technique

This commit is contained in:
Bernardo Damele 2011-03-11 15:13:09 +00:00
parent 74ef1e53c7
commit 5af7410cb1

View File

@ -328,7 +328,7 @@ class Agent:
if not Backend.getDbms():
return fields
if fields.startswith("(CASE") or fields.startswith("SUBSTR"):
if (fields.startswith("(CASE") and "WHEN use" in fields) or fields.startswith("SUBSTR"):
nulledCastedConcatFields = fields
else:
fields = fields.replace(", ", ",")
@ -555,7 +555,7 @@ class Agent:
inbandQuery += ", "
if element == position:
if " FROM " in query and "(CASE " not in query and "EXISTS(" not in query and not query.startswith("SELECT "):
if " FROM " in query and ("(CASE " not in query or ("(CASE " in query and "WHEN use" in query)) and "EXISTS(" not in query and not query.startswith("SELECT "):
conditionIndex = query.index(" FROM ")
inbandQuery += query[:conditionIndex]
else:
@ -563,7 +563,7 @@ class Agent:
else:
inbandQuery += char
if " FROM " in query and "(CASE" not in query and "EXISTS(" not in query and not query.startswith("SELECT "):
if " FROM " in query and ("(CASE " not in query or ("(CASE " in query and "WHEN use" in query)) and "EXISTS(" not in query and not query.startswith("SELECT "):
conditionIndex = query.index(" FROM ")
inbandQuery += query[conditionIndex:]