code: func isMutableEffectsExpr(expr Expression) bool {
  	switch x := expr.(type) {
  	case *ScalarFunction:
  		if _, ok := mutableEffectsFunctions[x.FuncName.L]; ok {
  			return true
  		}
  		for _, arg := range x.GetArgs() {
  			if isMutableEffectsExpr(arg) {
  				return true
  			}
  		}
  	case *Column:
  	case *Constant:
  		if x.DeferredExpr != nil {
  			return isMutableEffectsExpr(x.DeferredExpr)
  		}
  	}
  	return false
  }
docs: // isMutableEffectsExpr checks if expr contains function which is mutable or has side effects.