code: public ResultSetCopy executeQuery(String query) throws SQLException {
  		System.out.println(new LogEntry("executing: " + query));
  
  		ResultSetCopy result = null;
  
  		//time execution time
  		Connection conn;
  		//use readonly connection if available
  		if (dataSourceReadOnly != null) {
  			conn = dataSourceReadOnly.getConnection();
  		} else {
  			conn = dataSource.getConnection();
  		}
  		Statement s = conn.createStatement();
  		ResultSet rs = s.executeQuery(query);
  		result = new ResultSetCopy(rs, maxRowLog);
  		rs.close();
  		conn.close();
  		System.out.println(new LogEntry("", result));
  		return result;
  	}
docs: /////////////