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