Update of /cvsroot/modeling/ProjectModeling/Modeling
In directory sc8-pr-cvs1:/tmp/cvs-serv13480/Modeling
Modified Files:
SQLExpression.py
Log Message:
Fixed bug #847212: qualifier IN does not handle correctly strings (strings were not quoted as they should be)
Index: SQLExpression.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/SQLExpression.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** SQLExpression.py 15 Dec 2003 15:05:00 -0000 1.24
--- SQLExpression.py 15 Dec 2003 15:15:46 -0000 1.25
***************
*** 1224,1228 ****
keyString=self.sqlStringForAttributeNamed(key)
if aQualifier.operator() in (QualifierOperatorIn, QualifierOperatorNotIn):
! valueString=self.sqlStringForInOperatorValue(value)
else:
valueString=self.sqlStringForValue(value, key)
--- 1224,1228 ----
keyString=self.sqlStringForAttributeNamed(key)
if aQualifier.operator() in (QualifierOperatorIn, QualifierOperatorNotIn):
! valueString=self.sqlStringForInOperatorValue(value, key)
else:
valueString=self.sqlStringForValue(value, key)
***************
*** 1233,1237 ****
return self.sqlStringForCaseInsensitiveLike(keyString, valueString)
! def sqlStringForInOperatorValue(self, aList):
"""
Returns the SQL string suitable for operator IN and NOT IN.
--- 1233,1237 ----
return self.sqlStringForCaseInsensitiveLike(keyString, valueString)
! def sqlStringForInOperatorValue(self, aList, key):
"""
Returns the SQL string suitable for operator IN and NOT IN.
***************
*** 1242,1249 ****
aList=(1,2,4), return '(1, 2, 4)'
"""
if len(aList)==1:
! return '(%s)'%aList[0]
else:
! return "(%s)" % ", ".join(map(str, aList))
def sqlStringForNegatedQualifier(self, aQualifier):
--- 1242,1250 ----
aList=(1,2,4), return '(1, 2, 4)'
"""
+ sqlString=lambda v,k=key: self.sqlStringForValue(v, k)
if len(aList)==1:
! return '(%s)'%sqlString(aList[0])
else:
! return "(%s)" % ", ".join(map(sqlString, aList))
def sqlStringForNegatedQualifier(self, aQualifier):
|