code: func (p *Selection) PruneColumns(parentUsedCols []*expression.Column) {
  	child := p.GetChildByIndex(0).(LogicalPlan)
  	for _, cond := range p.Conditions {
  		parentUsedCols = append(parentUsedCols, expression.ExtractColumns(cond)...)
  	}
  	child.PruneColumns(parentUsedCols)
  	p.SetSchema(child.GetSchema())
  }
docs: // PruneColumns implements LogicalPlan interface.