code: func (d *ddlCtx) buildDescTableScan(ctx context.Context, startTS uint64, tbl table.PhysicalTable, columns []*model.ColumnInfo, limit uint64) (distsql.SelectResult, error) {
  	dagPB, err := buildDescTableScanDAG(startTS, tbl, columns, limit)
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  	ranges := ranger.FullIntRange(false)
  	var builder distsql.RequestBuilder
  	builder.SetTableRanges(tbl.GetPhysicalID(), ranges, nil).
  		SetDAGRequest(dagPB).
  		SetKeepOrder(true).
  		SetConcurrency(1).SetDesc(true)
  
  	builder.Request.NotFillCache = true
  	builder.Request.Priority = kv.PriorityLow
  
  	kvReq, err := builder.Build()
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  
  	sctx := newContext(d.store)
  	result, err := distsql.Select(ctx, sctx, kvReq, getColumnsTypes(columns), statistics.NewQueryFeedback(0, nil, 0, false))
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  	result.Fetch(ctx)
  	return result, nil
  }
docs: // buildDescTableScan builds a desc table scan upon tblInfo.