async def _start(self, single_connect=False) -> None:
    query = self._make_start_query()
    if (self._pool is not None):
        self._connection = (await self._pool._acquire())
        self._connection_inner = self._connection._inner
    inner = self._connection_inner
    if ((not inner._impl) or inner._impl.is_closed()):
        (await self._connection._reconnect(single_attempt=single_connect))
    self._connection_impl = self._connection._inner._impl
    try:
        (await self._connection_impl.privileged_execute(query))
    except BaseException:
        self._state = TransactionState.FAILED
        raise
    else:
        self._state = TransactionState.STARTED
async def _start(self, single_connect=False) -> None:
    query = self._make_start_query()
    if (self._pool is not None):
        self._connection = (await self._pool._acquire())
        self._connection_inner = self._connection._inner
    inner = self._connection_inner
    if ((not inner._impl) or inner._impl.is_closed()):
        (await self._connection._reconnect(single_attempt=single_connect))
    self._connection_impl = self._connection._inner._impl
    try:
        (await self._connection_impl.privileged_execute(query))
    except BaseException:
        self._state = TransactionState.FAILED
        raise
    else:
        self._state = TransactionState.STARTED