/// <summary>
        /// Executes the script typed by the user and create a tab page for each statement that returns a resultset from the database otherwise write statement execution info to the output window
        /// </summary>
        /// <param name="script">Script to execute</param>
        private void ExecuteScript(string script)
        {
            if (string.IsNullOrEmpty(script))
            {
                return;
            }

            // Get elapsed time for BaseShell results in case an exception is thrown
            Stopwatch sw = new Stopwatch();

            try
            {
                switch (_sessionOption)
                {
                case SessionOption.UseSameSession:
                    if (_mySqlXProxy == null)
                    {
                        _mySqlXProxy = new MySqlXProxy(Connection.GetXConnectionString(Package.SelectedMySqlConnectionName), true, ScriptLanguageType);
                    }

                    break;

                case SessionOption.UseNewSession:
                    _mySqlXProxy = new MySqlXProxy(Connection.GetXConnectionString(Package.SelectedMySqlConnectionName), false, ScriptLanguageType);
                    break;
                }

                sw = Stopwatch.StartNew();
                switch (_executionModeOption)
                {
                case ExecutionModeOption.BatchMode:
                    ExecuteBatchScript(script);
                    break;

                case ExecutionModeOption.ConsoleMode:
                    ExecuteConsoleScript(script);
                    break;
                }

                sw.Stop();
            }
            catch (Exception ex)
            {
                sw.Stop();
                WriteToMySqlOutput(script, ex.Message, string.Format("{0} sec", TimeSpan.FromMilliseconds(sw.ElapsedMilliseconds).TotalSeconds), MessageType.Error);
            }
        }
        /// <summary>
        /// Event fired when the Session Option is changed
        /// </summary>
        /// <param name="sender">Sender that calls the event (item clicked)</param>
        /// <param name="e">Event arguments</param>
        private void PreserveVariablesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var clickedItem = sender as ToolStripMenuItem;

            if (clickedItem == null)
            {
                return;
            }

            _sessionOption = clickedItem.Checked ? SessionOption.UseSameSession : SessionOption.UseNewSession;
            if (_mySqlXProxy != null)
            {
                _mySqlXProxy.CleanConnection();
                _mySqlXProxy    = null;
                CodeEditor.Dock = ResultsTabControl.Visible ? DockStyle.Top : DockStyle.Fill;
            }
        }