* @exception SQLException if a database-access error occurs.
* @see Statement#executeQuery(java.lang.String)
* @see Statement#executeUpdate(java.lang.String)
*/
public boolean execute () throws SQLException {
Timer timer = new Timer();
timer.start();
boolean result = false;
Exception ex = null;
Logger logger = _dbc.getLogger();
logger.push("execute");
try {
result = ((PreparedStatement) _stmt).execute();
} catch (SQLException e) {
ex = e;
throw e;
} finally {
_dbc.setDbChanged(true);
logger.push(String.valueOf(result));
boolean tooLong = (_dbc.getThreshold() > 0 && timer.ellapsed() > _dbc.getThreshold());
if (ex != null) {
logger.error(timer.ellapsed(), getSQLString() + " -> " + ex.getMessage());
} else if (tooLong) {
logger.warning(timer.ellapsed(), getSQLString());
} else {
logger.debug(timer.ellapsed(), getSQLString());
}
}
return result;
}