diff options
Diffstat (limited to 'mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs')
-rwxr-xr-x | mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs | 664 |
1 files changed, 0 insertions, 664 deletions
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs deleted file mode 100755 index ed913ea07cf..00000000000 --- a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs +++ /dev/null @@ -1,664 +0,0 @@ -// -// Copyright (c) 2006 Mainsoft Co. -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Text; -using System.Data; -using System.Data.OracleClient ; - -using MonoTests.System.Data.Utils; - - -using NUnit.Framework; - -namespace MonoTests.System.Data.OracleClient -{ - [TestFixture] - public class OracleDataReader_NextResult : ADONetTesterClass - { - OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString); - Exception exp = null; - - [SetUp] - public void SetUp() { - base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString); - con.Open(); - } - - [TearDown] - public void TearDown() { - if (con.State == ConnectionState.Open) con.Close(); - } - - public static void Main() - { - OracleDataReader_NextResult tc = new OracleDataReader_NextResult(); - Exception exp = null; - try - { - tc.BeginTest("OracleDataReader_NextResult"); - tc.run(); - } - catch(Exception ex){exp = ex;} - finally {tc.EndTest(exp);} - } - - public void run() - { - - - base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString); - con.Open(); - - TestMultipleResultSetsWithSP(); - TestMultipleResultSetsWithSQLText(); - - if (con.State == ConnectionState.Open) con.Close(); - - } - - [Test] - public void TestMultipleResultSetsWithSQLText() - { - - if (ConnectedDataProvider.GetDbType() == DataBaseServer.Oracle) - { - this.Log("Multiple result sets by sql text is not tested in oracle."); - return; - } - - if (ConnectedDataProvider.GetDbType() == DataBaseServer.DB2) - { - this.Log("Multiple result sets using compound statement not supported at DB2."); - return; - } - - bool NextResultExists = false; - OracleDataReader rdr = null; - OracleCommand cmd; - int TblResult0=-1; - int TblResult1=-1; - int TblResult2=-1; - try - { - BeginCase("Setup: Get expected results."); - - //get excpected results - GetExcpectedResults(ref TblResult0, ref TblResult1, ref TblResult2); - this.Pass("Setup: Get expected results ended."); - } - catch (Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - - - string cmdTxt = BuildCommandText(); - cmd = new OracleCommand(cmdTxt, con); - cmd.CommandType = CommandType.Text; - rdr = cmd.ExecuteReader(); - // -------------- ResultSet 1 ------------ - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 1 exists"); - Compare(rdr != null, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 1 contains data"); - NextResultExists = rdr.Read(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - int i = 1; - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check ResultSet 1 Data"); - while (rdr.Read()) - { - i++; - } - Compare(i, TblResult0); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check ResultSet 1 Schema"); - Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "CUSTOMERID"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - // -------------- ResultSet 2 ------------ - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 2 exists"); - NextResultExists = rdr.NextResult(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 2 contains data"); - NextResultExists = rdr.Read(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check ResultSet 2 Data"); - i = 1; - while (rdr.Read()) - { - i++; - } - Compare(i, TblResult1); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check ResultSet 2 Schema"); - Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "CATEGORYID"); - } - catch(Exception ex) - { - exp = ex; - } - // -------------- ResultSet 3 ------------ - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 3 exists"); - NextResultExists = rdr.NextResult(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 3 contains data"); - NextResultExists = rdr.Read(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check ResultSet 3 Data"); - i = 1; - while (rdr.Read()) - { - i++; - } - Compare(i, TblResult2); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check ResultSet 3 Schema"); - Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "REGIONID"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check that resultset 4 does not exist."); - NextResultExists = rdr.NextResult(); - Compare(NextResultExists, false); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets sql text) - Check that resultset 4 does not contain data."); - NextResultExists = rdr.Read(); - Compare(NextResultExists, false); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - if (!rdr.IsClosed) - rdr.Close(); - } - - [Test] - public void TestMultipleResultSetsWithSP() - { -#if !JAVA - if (ConnectedDataProvider.GetDbType() == DataBaseServer.Oracle) - { - this.Log("Not testing Stored procedures with multiple ref-cursors on Oracle with .NET due to bug in .NET (only the first ref-cursor is retrived)."); - return; - } - - if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL) - { - // fail to work on .NET OLEDB - this.Log("Not testing PostgreSQL CommandType.StoredProcedure which return SETOF"); - return; - } -#endif - - bool NextResultExists = false; - // transaction use was add for PostgreSQL - OracleTransaction tr = con.BeginTransaction(); - OracleCommand cmd = new OracleCommand("GH_MULTIRECORDSETS", con, tr); - cmd.Parameters.Add(new OracleParameter("RCT_Employees", OracleType.Cursor)).Direction = ParameterDirection.Output; - cmd.Parameters.Add(new OracleParameter("RCT_Customers", OracleType.Cursor)).Direction = ParameterDirection.Output; - cmd.Parameters.Add(new OracleParameter("RCT_Orders", OracleType.Cursor)).Direction = ParameterDirection.Output; - cmd.CommandType = CommandType.StoredProcedure; - OracleDataReader rdr = cmd.ExecuteReader(); - - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 1 exists"); - Compare(rdr != null, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 1 contains data"); - NextResultExists = rdr.Read(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 1 Data"); - Compare(rdr.GetValue(1).ToString(), "Yavine"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 1 Schema"); - Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "EMPLOYEEID"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - - - // -------------- ResultSet 2 ------------ - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 2 exists"); - NextResultExists = rdr.NextResult(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 2 contains data"); - NextResultExists = rdr.Read(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 2 Data"); - Compare(rdr.GetValue(1).ToString(), "Morgenstern Gesundkost"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 2 Schema"); - Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "CUSTOMERID"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - - // -------------- ResultSet 3 ------------ - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 3 exists"); - NextResultExists = rdr.NextResult(); - Compare(NextResultExists, true); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 3 contains data"); - NextResultExists = rdr.Read(); - Compare(NextResultExists, false); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 3 Schema"); - Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "ORDERID"); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check that resultset 4 does not exist."); - NextResultExists = rdr.NextResult(); - Compare(NextResultExists, false); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - try - { - exp = null; - BeginCase("(Multiple Resultsets stored proc.) - Check that resultset 4 does not contain data."); - NextResultExists = rdr.Read(); - Compare(NextResultExists, false); - } - catch(Exception ex) - { - exp = ex; - } - finally - { - EndCase(exp); - } - - //Cleanup: - if (!rdr.IsClosed) - { - rdr.Close(); - } - - // transaction use was add for PostgreSQL - tr.Commit(); - - } - - - #region "Private Utilities" - private string BuildCommandText() - { - string beginStatement; - string endStatement; - string commandDelimiter; - string[] commands = new string[] {"select * from Customers", "select * from Categories", "select * from Region"}; - - GetDBSpecificSyntax(ConnectedDataProvider.GetDbType(), out beginStatement, out endStatement, out commandDelimiter); - - StringBuilder cmdBuilder = new StringBuilder(); - cmdBuilder.Append(beginStatement); - cmdBuilder.Append(" "); - foreach (string statement in commands) - { - cmdBuilder.Append(statement); - cmdBuilder.Append(commandDelimiter); - cmdBuilder.Append(" "); - } - cmdBuilder.Append(endStatement); - - return cmdBuilder.ToString(); - } - private void GetDBSpecificSyntax(DataBaseServer dbServer, out string beginStatement, out string endStatement, out string commandDelimiter) - { - switch (dbServer) - { - case DataBaseServer.SQLServer: - beginStatement = "BEGIN"; - endStatement = "END"; - commandDelimiter = ";"; - break; - case DataBaseServer.Sybase: - beginStatement = "BEGIN"; - endStatement = "END"; - commandDelimiter = "\r\n"; - break; - case DataBaseServer.Oracle: - beginStatement = "BEGIN"; - endStatement = "END;"; - commandDelimiter = ";"; - break; - - case DataBaseServer.DB2: - { - beginStatement = ""; - endStatement = ""; - } - commandDelimiter = ";"; - break; - - case DataBaseServer.PostgreSQL: - beginStatement = ""; - endStatement = ""; - commandDelimiter = ";"; - break; - - default: - this.Fail("Unknown DataBaseServer type"); - throw new ApplicationException("Unknown DataBaseServer type"); - } - } - private void GetExcpectedResults(ref int TblResult0, ref int TblResult1, ref int TblResult2) - { - // get excpected results - - // transaction use was add for PostgreSQL - OracleTransaction tr = con.BeginTransaction(); - OracleCommand cmd = new OracleCommand("", con,tr); - cmd.CommandText = "Select count(*) from Customers"; - TblResult0 = Int32.Parse(cmd.ExecuteScalar().ToString()); - cmd.CommandText = "Select count(*) from Categories"; - TblResult1 = Int32.Parse(cmd.ExecuteScalar().ToString()); - cmd.CommandText = "Select count(*) from Region"; - TblResult2 = Int32.Parse(cmd.ExecuteScalar().ToString()); - tr.Commit(); - } - - #endregion - } -}
\ No newline at end of file |