@@ -137,16 +137,16 @@ def checkDbmsOs(self, detailed=False):
137137 versions = { "2003" : ("5.2" , (2 , 1 )),
138138 # TODO: verify this
139139 #"2003": ("6.0", (2, 1)),
140- "2008" : ("7.0" , (1 ,)),
140+ "2008" : ("7.0" , (2 , 1 ,)),
141141 "2000" : ("5.0" , (4 , 3 , 2 , 1 )),
142142 "7" : ("6.1" , (1 , 0 )),
143- "XP" : ("5.1" , (2 , 1 )),
143+ "XP" : ("5.1" , (3 , 2 , 1 )),
144144 "NT" : ("4.0" , (6 , 5 , 4 , 3 , 2 , 1 )) }
145145
146146 # Get back-end DBMS underlying operating system version
147147 for version , data in versions .items ():
148- query = "(SELECT LEN(%s) FROM %s WHERE %s " % (self .tblField , self .fileTblName , self .tblField )
149- query += "LIKE '%Windows NT " + data [0 ] + "%')>0 "
148+ query = "EXISTS (SELECT %s FROM %s WHERE %s " % (self .tblField , self .fileTblName , self .tblField )
149+ query += "LIKE '%Windows NT " + data [0 ] + "%')"
150150 result = inject .checkBooleanExpression (query )
151151
152152 if result :
@@ -169,13 +169,12 @@ def checkDbmsOs(self, detailed=False):
169169
170170 # Get back-end DBMS underlying operating system service pack
171171 sps = versions [Backend .getOsVersion ()][1 ]
172-
173172 for sp in sps :
174- query = "SELECT LEN(%s) FROM %s WHERE %s " % (self .tblField , self .fileTblName , self .tblField )
175- query += "LIKE '%Service Pack " + getUnicode (sp ) + "%'"
176- result = inject .goStacked (query )
173+ query = "EXISTS( SELECT %s FROM %s WHERE %s " % (self .tblField , self .fileTblName , self .tblField )
174+ query += "LIKE '%Service Pack " + getUnicode (sp ) + "%') "
175+ result = inject .checkBooleanExpression (query )
177176
178- if result is not None and len ( result ) > 0 and result [ 0 ]. isdigit () :
177+ if result :
179178 Backend .setOsServicePack (sp )
180179 break
181180
0 commit comments