code: def _ReadFlowResponseCounts(self, request_keys, cursor=None):
      
  
      query = """
        SELECT
          flow_requests.client_id, flow_requests.flow_id,
          flow_requests.request_id, COUNT(*)
        FROM flow_responses, flow_requests
        WHERE ({conditions}) AND
          flow_requests.client_id = flow_responses.client_id AND
          flow_requests.flow_id = flow_responses.flow_id AND
          flow_requests.request_id = flow_responses.request_id AND
          flow_requests.needs_processing = FALSE
        GROUP BY
          flow_requests.client_id,
          flow_requests.flow_id,
          flow_requests.request_id
      """
  
      condition_template = """
        (flow_requests.client_id=%s AND
         flow_requests.flow_id=%s AND
         flow_requests.request_id=%s)"""
      conditions = [condition_template] * len(request_keys)
      args = []
      for client_id, flow_id, request_id in request_keys:
        args.append(db_utils.ClientIDToInt(client_id))
        args.append(db_utils.FlowIDToInt(flow_id))
        args.append(request_id)
  
      query = query.format(conditions=" OR ".join(conditions))
      cursor.execute(query, args)
      response_counts = {}
      for (client_id_int, flow_id_int, request_id, count) in cursor.fetchall():
        request_key = (db_utils.IntToClientID(client_id_int),
                       db_utils.IntToFlowID(flow_id_int), request_id)
        response_counts[request_key] = count
      return response_counts
docs: Reads counts of responses for the given requests.