code: func (p *LogicalProjection) DeriveStats(childStats []*property.StatsInfo) (*property.StatsInfo, error) {
  	childProfile := childStats[0]
  	p.stats = &property.StatsInfo{
  		RowCount:    childProfile.RowCount,
  		Cardinality: make([]float64, len(p.Exprs)),
  	}
  	for i, expr := range p.Exprs {
  		cols := expression.ExtractColumns(expr)
  		p.stats.Cardinality[i] = getCardinality(cols, p.children[0].Schema(), childProfile)
  	}
  	return p.stats, nil
  }
docs: // DeriveStats implement LogicalPlan DeriveStats interface.