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

public static synchronized ResultSet executeQuery ( String sqlStatement ) { logger . trace ( String . format ( "executeQuery( %s ) -->entry" , sqlStatement ) ) ; ResultSet R = null ; final Statement S = getStatement ( ) ; if ( S == null ) { logger . error ( "executeQuery() <--exit (error: Statement unavailable)" ) ; return null ; } try { R = S . executeQuery ( sqlStatement ) ; logger . trace ( "executeQuery() <--exit (normal): " + ( null == R ) ) ; return R ; } catch ( Throwable t ) { surfaceThrowable ( String . format ( "executeQuery( %s )" , sqlStatement ) , t ) ; cleanup ( S , R ) ; } return null ; }
this method is a thin wrapper for jdbc executequery ( ) . it exists primarily so that we can be assured of the properties of the resultset which is returned , and for consistency of error logging .
