Exemplo n.º 1
0
        public void ParseCombine()
        {
            Console.WriteLine("-- ParseCombine -----------------------------------------------");

            StatementParser     parser     = new StatementParser();
            StatementCollection statements = parser.Parse(
                "SELECT 'a' FROM dual;\nSELECT 'b' FROM dual;\nSELECT 'c' FROM dual;");

            Assert.AreEqual(3, statements.Count);

            string combined = statements.Combine();

            Console.WriteLine("combined=[" + combined + "]");
        }
Exemplo n.º 2
0
        //========================================================================================
        // GetStatementCollection()
        //========================================================================================

        /// <summary>
        /// Builds a statement collection from the selected text and formats it according
        /// to user options.  If there are more one statement, the user may be prompted
        /// to select a specific parse mode.
        /// </summary>
        /// <param name="parseMode">The default or explicit parse mode.</param>
        /// <param name="text">The text to parse into statements.</param>
        /// <returns>A StatementCollection of one or more formatted statements.</returns>

        private StatementCollection GetStatementCollection(ParseMode parseMode, string text)
        {
            var parser = new StatementParser();
            StatementCollection statements = parser.Parse(text);

            if ((parseMode == ParseMode.None) && (statements.Count > 1))
            {
                parseMode = (ParseMode)UserOptions.GetEnumeration(
                    "connections/parseMode", typeof(ParseMode));

                if (parseMode == ParseMode.Prompt)
                {
                    var          dialog = new Dialogs.AlgorithmDialog(statements.Count, false);
                    DialogResult result = dialog.ShowDialog(this);

                    if (result == DialogResult.Cancel)
                    {
                        return(null);
                    }

                    parseMode = dialog.Mode;

                    if (dialog.StoreSelection)
                    {
                        UserOptions.SetValue("connections/parseMode", dialog.Mode.ToString());
                        UserOptions.Save();
                    }
                }
            }


            if (parseMode == ParseMode.Wrapped)
            {
                statements.Wrap(dbase.DefaultSchema);
            }
            else if (parseMode == ParseMode.Block)
            {
                statements.Combine();
            }

            return(statements);
        }