예제 #1
0
 def commit(self):
     try:
         request = vtgate_pb2.CommitRequest()
         _add_caller_id(request, self.effective_caller_id)
         self._add_session(request)
         self.stub.Commit(request, self.timeout)
     except (face.AbortionError, vtgate_utils.VitessError) as e:
         raise _convert_exception(e)
     finally:
         self.session = None
         self.effective_caller_id = None
예제 #2
0
    def commit_request(self):
        """Builds a vtgate_pb2.CommitRequest object.

    Uses the effective_caller_id saved from begin_request().
    It will also clear the saved effective_caller_id.

    Returns:
      A vtgate_pb2.CommitRequest object.
    """
        request = vtgate_pb2.CommitRequest()
        self._add_caller_id(request, self._effective_caller_id)
        self._add_session(request)
        self._effective_caller_id = None
        return request
예제 #3
0
    def commit_request(self, twopc):
        """Builds a vtgate_pb2.CommitRequest object.

    Uses the effective_caller_id saved from begin_request().
    It will also clear the saved effective_caller_id.

    Args:
      twopc: perform 2-phase commit.

    Returns:
      A vtgate_pb2.CommitRequest object.
    """
        request = vtgate_pb2.CommitRequest()
        request.atomic = twopc
        self._add_caller_id(request, self._effective_caller_id)
        self._add_session(request)
        self._effective_caller_id = None
        return request