public static synchronized boolean execute(String sqlStatement){
  boolean executeOk=false;
  logger.trace(String.format("execute( %s ) -->entry",sqlStatement));
  final Statement S=getStatement();
  if (S == null) {
    logger.error("execute() <--exit (error: Statement unavailable)");
    return false;
  }
  try {
    executeOk=S.execute(sqlStatement);
  }
 catch (  Throwable t) {
    surfaceThrowable(String.format("execute( %s )",sqlStatement),t);
  }
 finally {
    cleanup(S);
  }
  logger.trace("execute() <--exit (normal): " + executeOk);
  return executeOk;
}

public static synchronized boolean execute ( String sqlStatement ) { boolean executeOk = false ; logger . trace ( String . format ( "execute( %s ) -->entry" , sqlStatement ) ) ; final Statement S = getStatement ( ) ; if ( S == null ) { logger . error ( "execute() <--exit (error: Statement unavailable)" ) ; return false ; } try { executeOk = S . execute ( sqlStatement ) ; } catch ( Throwable t ) { surfaceThrowable ( String . format ( "execute( %s )" , sqlStatement ) , t ) ; } finally { cleanup ( S ) ; } logger . trace ( "execute() <--exit (normal): " + executeOk ) ; return executeOk ; }
this method is a thin wrapper for the jdbc execute . it is offered in this way to ensure consistency of error logging . warning : boolean return value here comes from jdbc and is not fully understood at this time . it may return false even when dml is successfully executed , so cannot be used as a judgment of statement execution success .
