code: func DatumsToString(datums []Datum, handleSpecialValue bool) (string, error) {
  	strs := make([]string, 0, len(datums))
  	for _, datum := range datums {
  		if handleSpecialValue {
  			switch datum.Kind() {
  			case KindNull:
  				strs = append(strs, "NULL")
  				continue
  			case KindMinNotNull:
  				strs = append(strs, "-inf")
  				continue
  			case KindMaxValue:
  				strs = append(strs, "+inf")
  				continue
  			}
  		}
  		str, err := datum.ToString()
  		if err != nil {
  			return "", errors.Trace(err)
  		}
  		strs = append(strs, str)
  	}
  	size := len(datums)
  	if size > 1 {
  		strs[0] = "(" + strs[0]
  		strs[size-1] = strs[size-1] + ")"
  	}
  	return strings.Join(strs, ", "), nil
  }
docs: // DatumsToString converts several datums to formatted string.