code: func (b *builtinPasswordSig) evalString(row chunk.Row) (d string, isNull bool, err error) {
  	pass, isNull, err := b.args[0].EvalString(b.ctx, row)
  	if isNull || err != nil {
  		return "", err != nil, err
  	}
  
  	if len(pass) == 0 {
  		return "", false, nil
  	}
  
  	// We should append a warning here because function "PASSWORD" is deprecated since MySQL 5.7.6.
  	// See https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_password
  	b.ctx.GetSessionVars().StmtCtx.AppendWarning(errDeprecatedSyntaxNoReplacement.GenWithStackByArgs("PASSWORD"))
  
  	return auth.EncodePassword(pass), false, nil
  }
docs: // evalString evals a builtinPasswordSig.
  // See https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_password