// Convert tipb.Request to kv.Request. func composeRequest(req *tipb.SelectRequest, concurrency int) (*kv.Request, error) { kvReq := &kv.Request{ Concurrency: concurrency, } if req.IndexInfo != nil { kvReq.Tp = kv.ReqTypeIndex tid := req.IndexInfo.GetTableId() kvReq.KeyRanges = tablecodec.EncodeIndexRanges(tid, req.Ranges) } else { kvReq.Tp = kv.ReqTypeSelect tid := req.GetTableInfo().GetTableId() kvReq.KeyRanges = tablecodec.EncodeTableRanges(tid, req.Ranges) } var err error kvReq.Data, err = proto.Marshal(req) if err != nil { return nil, errors.Trace(err) } return kvReq, nil }