code: func ExtractColumns(expr Expression) (cols []*Column) {
  	// Pre-allocate a slice to reduce allocation, 8 doesn't have special meaning.
  	result := make([]*Column, 0, 8)
  	return extractColumns(result, expr, nil)
  }
docs: // ExtractColumns extracts all columns from an expression.