@@ -581,7 +581,7 @@ def getFields(self, query):
581581 """
582582
583583 prefixRegex = r"(?:\s+(?:FIRST|SKIP|LIMIT(?: \d+)?)\s+\d+)*"
584- fieldsSelectTop = re .search (r"\ASELECT\s+TOP(\s+[\d] |\s*\([^)]+\))\s+(.+?)\s+FROM" , query , re .I )
584+ fieldsSelectTop = re .search (r"\ASELECT\s+TOP(\s+\d+ |\s*\([^)]+\))\s+(.+?)\s+FROM" , query , re .I )
585585 fieldsSelectRownum = re .search (r"\ASELECT\s+([^()]+?),\s*ROWNUM AS LIMIT FROM" , query , re .I )
586586 fieldsSelectDistinct = re .search (r"\ASELECT%s\s+DISTINCT\((.+?)\)\s+FROM" % prefixRegex , query , re .I )
587587 fieldsSelectCase = re .search (r"\ASELECT%s\s+(\(CASE WHEN\s+.+\s+END\))" % prefixRegex , query , re .I )
@@ -729,7 +729,7 @@ def concatQuery(self, query, unpack=True):
729729 concatenatedQuery = concatenatedQuery .replace ("SELECT " , "'%s'+" % kb .chars .start , 1 )
730730 concatenatedQuery += "+'%s'" % kb .chars .stop
731731 elif fieldsSelectTop :
732- topNum = re .search (r"\ASELECT\s+TOP(\s+[\d] |\s*\([^)]+\))\s+" , concatenatedQuery , re .I ).group (1 )
732+ topNum = re .search (r"\ASELECT\s+TOP(\s+\d+ |\s*\([^)]+\))\s+" , concatenatedQuery , re .I ).group (1 )
733733 concatenatedQuery = concatenatedQuery .replace ("SELECT TOP%s " % topNum , "TOP%s '%s'+" % (topNum , kb .chars .start ), 1 )
734734 concatenatedQuery = concatenatedQuery .replace (" FROM " , "+'%s' FROM " % kb .chars .stop , 1 )
735735 elif fieldsSelectCase :
0 commit comments