code: func (b *builtinMakeSetSig) evalString(row chunk.Row) (string, bool, error) {
  	bits, isNull, err := b.args[0].EvalInt(b.ctx, row)
  	if isNull || err != nil {
  		return "", true, err
  	}
  
  	sets := make([]string, 0, len(b.args)-1)
  	for i, length := 1, len(b.args); i < length; i++ {
  		if (bits & (1 << uint(i-1))) == 0 {
  			continue
  		}
  		str, isNull, err := b.args[i].EvalString(b.ctx, row)
  		if err != nil {
  			return "", true, err
  		}
  		if !isNull {
  			sets = append(sets, str)
  		}
  	}
  
  	return strings.Join(sets, ","), false, nil
  }
docs: // evalString evals MAKE_SET(bits,str1,str2,...).
  // See https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_make-set