Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs')
-rwxr-xr-xmcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs664
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