code: func (ts *PhysicalTableScan) appendExtraHandleCol(ds *DataSource) {
  	if len(ds.schema.TblID2Handle) > 0 {
  		return
  	}
  	pkInfo := model.NewExtraHandleColInfo()
  	ts.Columns = append(ts.Columns, pkInfo)
  	handleCol := ds.newExtraHandleSchemaCol()
  	ts.schema.Append(handleCol)
  	ts.schema.TblID2Handle[ds.tableInfo.ID] = []*expression.Column{handleCol}
  }
docs: // If there is a table reader which needs to keep order, we should append a pk to table scan.