in rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java [143:173]
private int executeUpdate(PreparedStatement ps, ParametersExtendedImpl parameters) throws SQLException {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Executing statement " + queryString);
}
Iterator i = parameters.getInParameters().iterator();
while (i.hasNext()) {
ParameterExtendedImpl param = (ParameterExtendedImpl) i.next();
Object value = param.getValue();
if (this.logger.isDebugEnabled()) {
this.logger.debug("Setting parameter " + param.getIndex() + " to " + value);
}
if (value == null) {
if (param.getType() == null) {
try {
ParameterMetaData pmd = ps.getParameterMetaData();
ps.setNull(param.getIndex(), pmd.getParameterType(param.getIndex()));
} catch (SQLException ex) {
ps.setNull(param.getIndex(), SDODataTypeHelper.sqlTypeFor(null));
}
} else {
ps.setNull(param.getIndex(), SDODataTypeHelper.sqlTypeFor(param.getType()));
}
} else {
ps.setObject(param.getIndex(), value);
}
}
return ps.executeUpdate();
}