[Modeling-cvs] ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer OracleSQLExpression.py,1
Status: Abandoned
Brought to you by:
sbigaret
From: <sbi...@us...> - 2003-08-31 15:02:54
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer In directory sc8-pr-cvs1:/tmp/cvs-serv23418/DatabaseAdaptors/OracleAdaptorLayer Modified Files: OracleSQLExpression.py Log Message: Fixed: Oracle needs ESCAPE with LIKE Index: OracleSQLExpression.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer/OracleSQLExpression.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OracleSQLExpression.py 19 Aug 2003 22:01:18 -0000 1.1 --- OracleSQLExpression.py 31 Aug 2003 15:02:51 -0000 1.2 *************** *** 34,38 **** __version__='$Revision$'[11:-2] ! from Modeling.SQLExpression import SQLExpression,DateType,CharacterType,NumericType from oracle_utils import oracle_server_version import string --- 34,40 ---- __version__='$Revision$'[11:-2] ! from Modeling.SQLExpression import SQLExpression ! from Modeling.SQLExpression import DateType,CharacterType,NumericType ! from Modeling.Qualifier import QualifierOperatorLike from oracle_utils import oracle_server_version import string *************** *** 135,138 **** --- 137,166 ---- return attribute.externalType() + + def sqlStringForCaseInsensitiveLike(self, keyString, valueString): + """ + Overrides the default implementation and appends the string: + + ESCAPE '\' + + to LIKE expression, so that Oracle can match as expected. + """ + ret=SQLExpression.sqlStringForCaseInsensitiveLike(self, keyString, + valueString) + return ret+" ESCAPE '\\'" + + def sqlStringForKeyValueQualifier(self, aQualifier): + """ + Overrides the default implementation and appends the string: + + ESCAPE '\' + + to LIKE expression (and only to LIKE expressions), so that Oracle can + match as expected. + """ + ret=SQLExpression.sqlStringForKeyValueQualifier(self, aQualifier) + if aQualifier.operator() is QualifierOperatorLike: + ret+=" ESCAPE '\\'" + return ret def valueTypeForExternalTypeMapping(self): |