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 + "]"); }
//======================================================================================== // 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); }