From 5df1f5528e2f6ccbb032e420b5b978e295eeb218 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 15 Mar 2013 22:49:09 +0100 Subject: [PATCH] More general update for an Issue #421 --- lib/core/agent.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/core/agent.py b/lib/core/agent.py index b912c6721..c165b70e5 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -899,22 +899,14 @@ class Agent(object): def forgeQueryOutputLength(self, expression): lengthQuery = queries[Backend.getIdentifiedDbms()].length.query select = re.search("\ASELECT\s+", expression, re.I) - selectTopNotIntExpr = re.search("\ASELECT\s+TOP\s+[\d]+\s+(.+?)\s+FROM.+NOT IN", expression, re.I) selectTopExpr = re.search("\ASELECT\s+TOP\s+[\d]+\s+(.+?)\s+FROM", expression, re.I) - selectFromExpr = re.search("\ASELECT\s+(.+?)\s+FROM", expression, re.I) - selectExpr = re.search("\ASELECT\s+(.+)$", expression, re.I) _, _, _, _, _, _, fieldsStr, _ = self.getFields(expression) - if any((selectTopExpr, selectFromExpr, selectExpr)): - query = fieldsStr - else: - query = expression - - if selectTopNotIntExpr: + if selectTopExpr: lengthExpr = lengthQuery % ("(%s)" % expression) elif select: - lengthExpr = expression.replace(query, lengthQuery % query, 1) + lengthExpr = expression.replace(fieldsStr, lengthQuery % fieldsStr, 1) else: lengthExpr = lengthQuery % expression