code: func PseudoTable(tblInfo *model.TableInfo) *Table {
  	pseudoHistColl := HistColl{
  		Count:          pseudoRowCount,
  		PhysicalID:     tblInfo.ID,
  		HavePhysicalID: true,
  		Columns:        make(map[int64]*Column, len(tblInfo.Columns)),
  		Indices:        make(map[int64]*Index, len(tblInfo.Indices)),
  		Pseudo:         true,
  	}
  	t := &Table{
  		HistColl: pseudoHistColl,
  	}
  	for _, col := range tblInfo.Columns {
  		if col.State == model.StatePublic {
  			t.Columns[col.ID] = &Column{
  				PhysicalID: fakePhysicalID,
  				Info:       col,
  				IsHandle:   tblInfo.PKIsHandle && mysql.HasPriKeyFlag(col.Flag),
  			}
  		}
  	}
  	for _, idx := range tblInfo.Indices {
  		if idx.State == model.StatePublic {
  			t.Indices[idx.ID] = &Index{Info: idx}
  		}
  	}
  	return t
  }
docs: // PseudoTable creates a pseudo table statistics.