From: <ms...@us...> - 2009-09-12 02:34:32
|
Revision: 9860 http://wonder.svn.sourceforge.net/wonder/?rev=9860&view=rev Author: mschrag Date: 2009-09-12 02:34:25 +0000 (Sat, 12 Sep 2009) Log Message: ----------- Turned on bind variables support for FrontBase. It's a performance loss without the JDBCContext statement caching from 5.4.3.1, so don't turn it on without that. Modified Paths: -------------- trunk/Wonder/Frameworks/PlugIns/FrontBasePlugIn/Sources/com/webobjects/jdbcadaptor/_FrontBasePlugIn.java Modified: trunk/Wonder/Frameworks/PlugIns/FrontBasePlugIn/Sources/com/webobjects/jdbcadaptor/_FrontBasePlugIn.java =================================================================== --- trunk/Wonder/Frameworks/PlugIns/FrontBasePlugIn/Sources/com/webobjects/jdbcadaptor/_FrontBasePlugIn.java 2009-09-11 14:08:25 UTC (rev 9859) +++ trunk/Wonder/Frameworks/PlugIns/FrontBasePlugIn/Sources/com/webobjects/jdbcadaptor/_FrontBasePlugIn.java 2009-09-12 02:34:25 UTC (rev 9860) @@ -36,6 +36,7 @@ import com.webobjects.foundation.NSMutableArray; import com.webobjects.foundation.NSMutableDictionary; import com.webobjects.foundation.NSMutableSet; +import com.webobjects.foundation.NSProperties; import com.webobjects.foundation.NSPropertyListSerialization; import com.webobjects.foundation.NSSelector; import com.webobjects.foundation.NSTimeZone; @@ -1018,6 +1019,7 @@ } public static class FrontbaseExpression extends JDBCExpression { + private boolean _useBindVariables; EOQualifier _qualifier; NSMutableArray _lobList; @@ -1028,6 +1030,7 @@ public FrontbaseExpression(EOEntity eoentity) { super(eoentity); + _useBindVariables = NSProperties.booleanForKeyWithDefault("FrontBasePlugIn.useBindVariables", false); _rtrimFunctionName = null; _externalQuoteChar = "\""; } @@ -1483,13 +1486,18 @@ } public boolean useBindVariables() { - return false; + return _useBindVariables; } public boolean shouldUseBindVariableForAttribute(EOAttribute eoattribute) { - return false; + return useBindVariables() && !isLOBAttribute(eoattribute); } + private boolean isLOBAttribute(EOAttribute att) { + int internalType = internalTypeForExternal(att.externalType()); + return internalType == FB_BLOB || internalType == FB_CLOB; + } + public boolean mustUseBindVariableForAttribute(EOAttribute eoattribute) { return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |