code: @SuppressWarnings("resource")
  	protected DatabaseConnection makeConnection(Logger logger) throws SQLException {
  		Properties properties = new Properties();
  		if (username != null) {
  			properties.setProperty("user", username);
  		}
  		if (password != null) {
  			properties.setProperty("password", password);
  		}
  		DatabaseConnection connection = new JdbcDatabaseConnection(DriverManager.getConnection(url, properties));
  		// by default auto-commit is set to true
  		connection.setAutoCommit(true);
  		if (connectionProxyFactory != null) {
  			connection = connectionProxyFactory.createProxy(connection);
  		}
  		logger.debug("opened connection to {} got #{}", url, connection.hashCode());
  		return connection;
  	}
docs: Make a connection to the database.
  
  @param logger
  This is here so we can use the right logger associated with the sub-class.