code: public final void setAutoCommit(boolean value) throws SQLException 
      {
          if (value != currentAutoCommit || helper.alwaysSetAutoCommit()) 
          {
              if( (dsConfig.get().isolationLevel == Connection.TRANSACTION_NONE) && (value == false) )
                  throw new SQLException(AdapterUtil.getNLSMessage("DSRA4010.tran.none.autocommit.required", dsConfig.get().id));
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(this, tc, "Set AutoCommit to " + value); 
  
              // Don't update values until AFTER the operation completes successfully on the
              // underlying Connection. 
  
              sqlConn.setAutoCommit(value); 
              currentAutoCommit = value; 
          }
          if (cachedConnection != null) 
              cachedConnection.setCurrentAutoCommit(currentAutoCommit, key);
      }
docs: /*
  Sets the requested autocommit value for the underlying connection if different than
  the currently requested value or if required to always set the autocommit value as
  a workaround. 346032.2
  
  @param value the newly requested autocommit value.