code: func canProjectionBeEliminatedStrict(p *PhysicalProjection) bool {
  	// If this projection is specially added for `DO`, we keep it.
  	if p.CalculateNoDelay {
  		return false
  	}
  	if p.Schema().Len() == 0 {
  		return true
  	}
  	child := p.Children()[0]
  	if p.Schema().Len() != child.Schema().Len() {
  		return false
  	}
  	for i, expr := range p.Exprs {
  		col, ok := expr.(*expression.Column)
  		if !ok || !col.Equal(nil, child.Schema().Columns[i]) {
  			return false
  		}
  	}
  	return true
  }
docs: // canProjectionBeEliminatedStrict checks whether a projection can be
  // eliminated, returns true if the projection just copy its child's output.