code: private void initConnection(Connection conn) throws SQLException {
          Boolean readOnly = this.dsConnectionConfig.getReadOnly();
          String catalog = this.dsConnectionConfig.getCatalog();
          Map<String, Class<?>> typeMap = this.dsConnectionConfig.getTypeMap();
          Integer holdability = this.dsConnectionConfig.getHoldability();
          Properties clientInfo = this.dsConnectionConfig.getClientInfo();
  
          try {
              if (readOnly != null) {
                  if (conn.isReadOnly() != readOnly.booleanValue()) {
                      MappingUtils.invokeConnectionSetter(conn, "readOnly", readOnly);
                  }
              }
  
              if (catalog != null) {
                  if (catalog.equals(conn.getCatalog()) == false) {
                      MappingUtils.invokeConnectionSetter(conn, "catalog", catalog);
                  }
              }
  
              if (typeMap != null) {
                  MappingUtils.invokeConnectionSetter(conn, "typeMap", typeMap);
              }
  
              if (holdability != null) {
                  if (conn.getHoldability() != holdability.intValue()) {
                      MappingUtils.invokeConnectionSetter(conn, "holdability", holdability);
                  }
              }
  
              if (clientInfo.size() > 0) {
                  MappingUtils.invokeConnectionSetter(conn, "clientInfo", clientInfo);
              }
          } catch (MjdbcException ex) {
              throw new MjdbcSQLException(ex);
          }
      }
docs: Initializes SQL Connection parameters.
  Invoked everytime new Connection is requested from {@link org.midao.jdbc.core.transaction.BaseTransactionHandler#getConnection()}
  
  @param conn SQL Connection
  @throws SQLException if exception would be thrown by Driver/Database