public static void Main()

in tools/Workflows/BulkQuery/Program.cs [28:122]


        public static void Main(string server, string password, string database,
            string username = "admin", DirectoryInfo outputDirectory = null, string extension = "xml", int port = 1984, int threads = 4, bool verbose = false, params string[] args)
        {
            if (args == null || !args.Any())
            {
                Console.WriteLine("No script arguments provided");
                return;
            }

            if (string.IsNullOrEmpty(server))
            {
                Console.WriteLine("No server name or URL provided");
                return;
            }

            if (string.IsNullOrEmpty(password))
            {
                Console.WriteLine("No password provided");
                return;
            }

            if (string.IsNullOrEmpty(database))
            {
                Console.WriteLine("No database name provided");
                return;
            }

            if (threads < 0)
            {
                Console.WriteLine("Invalid value '{0}' provided for threads parameter", threads);
                return;
            }

            if (outputDirectory == null)
            {
                outputDirectory = new DirectoryInfo(Directory.GetCurrentDirectory());
            }

            var files = new List<string>();

            try
            {
                foreach (var arg in args)
                {
                    var p = Path.GetDirectoryName(arg);
                    if (string.IsNullOrEmpty(p))
                    {
                        p = Directory.GetCurrentDirectory();
                    }

                    Console.WriteLine($"{p} - {Path.GetFileName(arg)}");
                    var l = Directory.EnumerateFiles(p, Path.GetFileName(arg));
                    files.AddRange(l);
                }

                if (!files.Any())
                {
                    Console.WriteLine("No scripts selected");
                    return;
                }

                if (verbose)
                {
                    Console.WriteLine("Server      {0}", server);
                    Console.WriteLine("Database    {0}", database);
                    Console.WriteLine("Username    {0}", username);
                    Console.WriteLine("Port        {0}", port);
                    Console.WriteLine("threads     {0}", threads);
                    Console.WriteLine("extension   {0}", extension);
                    Console.WriteLine("Target dir  {0}", outputDirectory.ToString());
                    Console.WriteLine();
                    Console.WriteLine("Files");
                    foreach (var file in files)
                    {
                        Console.WriteLine("    {0}", file);
                    }
                }

                var s = new BaseXInterface.BaseXServer(server, port, username, password);

                if (s == null)
                {
                    Console.WriteLine("Unable to connect to server");
                    return;
                }
                Extract(s, database, files, outputDirectory, extension, threads, verbose);
            }
            catch (Exception e)
            {
                Console.WriteLine("A problem happened during execution. Please review the parameters.");
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                return;
            }
        }