I don't understand why we set the ``autocommit`` attribute directly rather than calling ``set_autocommit`` for ``autocommits_when_autocommit_is_off``. In general this conditional feels like something that ought to be wrapped up in a connection method rather than handled here.