Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f0a419b

Browse files
committed
Patch for an Issue #421
1 parent 596cf95 commit f0a419b

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

lib/core/agent.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,6 +899,7 @@ def limitQuery(self, num, query, field=None, uniqueField=None):
899899
def forgeQueryOutputLength(self, expression):
900900
lengthQuery = queries[Backend.getIdentifiedDbms()].length.query
901901
select = re.search("\ASELECT\s+", expression, re.I)
902+
selectTopNotIntExpr = re.search("\ASELECT\s+TOP\s+[\d]+\s+(.+?)\s+FROM.+NOT IN", expression, re.I)
902903
selectTopExpr = re.search("\ASELECT\s+TOP\s+[\d]+\s+(.+?)\s+FROM", expression, re.I)
903904
selectFromExpr = re.search("\ASELECT\s+(.+?)\s+FROM", expression, re.I)
904905
selectExpr = re.search("\ASELECT\s+(.+)$", expression, re.I)
@@ -910,7 +911,9 @@ def forgeQueryOutputLength(self, expression):
910911
else:
911912
query = expression
912913

913-
if select:
914+
if selectTopNotIntExpr:
915+
lengthExpr = lengthQuery % ("(%s)" % expression)
916+
elif select:
914917
lengthExpr = expression.replace(query, lengthQuery % query, 1)
915918
else:
916919
lengthExpr = lengthQuery % expression

0 commit comments

Comments
 (0)