private async void SharePlanButtonClick(object sender, EventArgs e)
        {
            if (MessageBox.Show($"Warning: Your execution plan, including its query and parameters, will be immediately sent to {PlanProcessor.SharePlanWebsite} and stored in its database for sharing. Please review your query to make sure it doesn't contain sensitive data."
                                + $"{Environment.NewLine}Do you want to continue?",
                                "Continue", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }

            planSharedLabel.Visible = true;
            copyLinkLabel.Text      = "Copy";
            planSharedLabel.Text    = "Sharing your plan...";
            copyLinkLabel.Visible   = planLinkLinkLabel.Visible = false;

            try
            {
                planLinkLinkLabel.Text = await PlanProcessor.SharePlanAsync(plan);

                copyLinkLabel.Visible = planLinkLinkLabel.Visible = true;
                planSharedLabel.Text  = "Plan Shared.";
            }
            catch (Exception exception)
            {
                copyLinkLabel.Visible = planSharedLabel.Visible = false;
                MessageBox.Show($"Error sharing plan: {exception.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private async void SharePlanButtonClick(object sender, EventArgs e)
        {
            planSharedLabel.Visible = true;
            copyLinkLabel.Text      = "Copy";
            planSharedLabel.Text    = "Sharing your plan...";
            copyLinkLabel.Visible   = planLinkLinkLabel.Visible = false;

            try
            {
                planLinkLinkLabel.Text = await PlanProcessor.SharePlanAsync(plan);

                copyLinkLabel.Visible = planLinkLinkLabel.Visible = true;
                planSharedLabel.Text  = "Plan Shared.";
            }
            catch (Exception exception)
            {
                copyLinkLabel.Visible = planSharedLabel.Visible = false;
                MessageBox.Show($"Error sharing plan: {exception.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public void DisplayPlan(string rawPlan)
        {
            plan = rawPlan;

            indexes = DatabaseProvider.GetMissingIndexes(rawPlan);
            webBrowser.DocumentText = PlanProcessor.ConvertPlanToHtml(rawPlan);

            if (indexes.Count > 0 && tabControl.TabPages.Count == 1)
            {
                tabControl.TabPages.Add(indexesTabPage);
            }

            if (indexes.Count == 0 && tabControl.TabPages.Count > 1)
            {
                tabControl.TabPages.Remove(indexesTabPage);
            }

            indexesTabPage.Text = $"{indexes.Count} Missing Index{(indexes.Count > 1 ? "es" : "")}";

            indexesDataGridView.DataSource = indexes;
            indexesDataGridView.ResetBindings();
        }