From 8397c526d8c25146ef0272538e7e5bf1fa2d187f Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Mon, 31 Jan 2011 21:20:23 +0000 Subject: [PATCH] Minor adjustment --- lib/core/agent.py | 14 ++++++++++---- xml/queries.xml | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/core/agent.py b/lib/core/agent.py index 9fa48e8aa..1a34f0299 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -385,7 +385,8 @@ class Agent: elif fieldsNoSelect: fieldsToCastStr = fieldsNoSelect - if re.search("\A\w+\(.*\)", fieldsToCastStr, re.I): # Function + # Function + if re.search("\A\w+\(.*\)", fieldsToCastStr, re.I) or fieldsSelectCase: fieldsToCastList = [fieldsToCastStr] else: fieldsToCastList = fieldsToCastStr.replace(", ", ",") @@ -700,10 +701,15 @@ class Agent: @rtype: C{str} """ + caseExpression = expression + if Backend.getIdentifiedDbms() is not None and hasattr(queries[Backend.getIdentifiedDbms()], "case"): - return queries[Backend.getIdentifiedDbms()].case.query % expression - else: - return expression + caseExpression = queries[Backend.getIdentifiedDbms()].case.query % expression + + if Backend.getIdentifiedDbms() in FROM_TABLE and not caseExpression.upper().endswith(FROM_TABLE[Backend.getIdentifiedDbms()]): + caseExpression += FROM_TABLE[Backend.getIdentifiedDbms()] + + return caseExpression def addPayloadDelimiters(self, inpStr): """ diff --git a/xml/queries.xml b/xml/queries.xml index a25a43e8a..d1bc05b1b 100644 --- a/xml/queries.xml +++ b/xml/queries.xml @@ -225,7 +225,7 @@ - + @@ -386,7 +386,7 @@ - +