@@ -899,22 +899,14 @@ 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 )
903902 selectTopExpr = re .search ("\ASELECT\s+TOP\s+[\d]+\s+(.+?)\s+FROM" , expression , re .I )
904- selectFromExpr = re .search ("\ASELECT\s+(.+?)\s+FROM" , expression , re .I )
905- selectExpr = re .search ("\ASELECT\s+(.+)$" , expression , re .I )
906903
907904 _ , _ , _ , _ , _ , _ , fieldsStr , _ = self .getFields (expression )
908905
909- if any ((selectTopExpr , selectFromExpr , selectExpr )):
910- query = fieldsStr
911- else :
912- query = expression
913-
914- if selectTopNotIntExpr :
906+ if selectTopExpr :
915907 lengthExpr = lengthQuery % ("(%s)" % expression )
916908 elif select :
917- lengthExpr = expression .replace (query , lengthQuery % query , 1 )
909+ lengthExpr = expression .replace (fieldsStr , lengthQuery % fieldsStr , 1 )
918910 else :
919911 lengthExpr = lengthQuery % expression
920912
0 commit comments