public static SqlFunctionCallScalarExpression Create(
            string name,
            bool isUdf,
            ImmutableArray <SqlScalarExpression> arguments)
        {
            if (!SqlFunctionCallScalarExpression.FunctionIdentifiers.TryGetValue(name, out SqlIdentifier sqlIdentifier))
            {
                sqlIdentifier = SqlIdentifier.Create(name);
            }

            return(SqlFunctionCallScalarExpression.Create(sqlIdentifier, isUdf, arguments));
        }
 public static SqlFunctionCallScalarExpression CreateBuiltin(
     SqlIdentifier name,
     ImmutableArray <SqlScalarExpression> arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf: false, arguments);
 public static SqlFunctionCallScalarExpression CreateBuiltin(
     SqlIdentifier name,
     params SqlScalarExpression[] arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf: false, arguments);
 public static SqlFunctionCallScalarExpression Create(
     string name,
     bool isUdf,
     params SqlScalarExpression[] arguments) => SqlFunctionCallScalarExpression.Create(name, isUdf, arguments.ToImmutableArray());
 public static SqlFunctionCallScalarExpression CreateBuiltin(
     SqlIdentifier name,
     IReadOnlyList <SqlScalarExpression> arguments) => SqlFunctionCallScalarExpression.Create(name, false, arguments);
 public static SqlFunctionCallScalarExpression CreateBuiltin(
     string name,
     params SqlScalarExpression[] arguments) => SqlFunctionCallScalarExpression.Create(name, false, arguments);