Modified:
trunk/TestSuite/BlobTests.cs
trunk/TestSuite/CommandTests.cs
trunk/TestSuite/GetSchemaTests.cs
trunk/TestSuite/PreparedStatements.cs
trunk/TestSuite/StressTests.cs
trunk/mysqlclient/ISSchemaProvider.cs
Log:
New docs file for MySqlConnectionStringBuilderISSchemaProvider
Corrected name of procedure parameters Collection
BlobTests
Removed GetConnectionInfo method (it's in base)
CommandTests
PreparedStatements
StressTests
Added config section to handle protocol testing
GetSchemaTests
Added more Tests
Modified: trunk/TestSuite/BlobTests.cs
===================================================================
--- trunk/TestSuite/BlobTests.cs 2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/BlobTests.cs 2006-07-30 15:48:19 UTC (rev 285)
@@ -47,11 +47,6 @@
Close();
}
- protected override string GetConnectionInfo()
- {
- return ";port=3306";
- }
-
[Test]
[Category("4.0")]
public void InsertBinary()
Modified: trunk/TestSuite/CommandTests.cs
===================================================================
--- trunk/TestSuite/CommandTests.cs 2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/CommandTests.cs 2006-07-30 15:48:19 UTC (rev 285)
@@ -381,4 +381,49 @@
}
}
+
+ #region Configs
+
+ public class CommandTestsSocketCompressed : CommandTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";port=3306;compress=true";
+ }
+ }
+
+ public class CommandTestsPipe : CommandTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=pipe";
+ }
+ }
+
+ public class CommandTestsPipeCompressed : CommandTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=pipe;compress=true";
+ }
+ }
+
+ public class CommandTestsSharedMemory : CommandTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=memory";
+ }
+ }
+
+ public class CommandTestsSharedMemoryCompressed : CommandTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=memory;compress=true";
+ }
+ }
+
+ #endregion
+
}
Modified: trunk/TestSuite/GetSchemaTests.cs
===================================================================
--- trunk/TestSuite/GetSchemaTests.cs 2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/GetSchemaTests.cs 2006-07-30 15:48:19 UTC (rev 285)
@@ -45,6 +45,23 @@
{
DataTable dt = conn.GetSchema();
Assert.AreEqual(17, dt.Rows.Count);
+ Assert.AreEqual("MetaDataCollections", dt.Rows[0][0]);
+ Assert.AreEqual("DataSourceInformation", dt.Rows[1][0]);
+ Assert.AreEqual("DataTypes", dt.Rows[2][0]);
+ Assert.AreEqual("Restrictions", dt.Rows[3][0]);
+ Assert.AreEqual("ReservedWords", dt.Rows[4][0]);
+ Assert.AreEqual("Databases", dt.Rows[5][0]);
+ Assert.AreEqual("Tables", dt.Rows[6][0]);
+ Assert.AreEqual("Columns", dt.Rows[7][0]);
+ Assert.AreEqual("Users", dt.Rows[8][0]);
+ Assert.AreEqual("Foreign Keys", dt.Rows[9][0]);
+ Assert.AreEqual("IndexColumns", dt.Rows[10][0]);
+ Assert.AreEqual("Indexes", dt.Rows[11][0]);
+ Assert.AreEqual("Views", dt.Rows[12][0]);
+ Assert.AreEqual("ViewColumns", dt.Rows[13][0]);
+ Assert.AreEqual("ProcedureParameters", dt.Rows[14][0]);
+ Assert.AreEqual("Procedures", dt.Rows[15][0]);
+ Assert.AreEqual("Triggers", dt.Rows[16][0]);
}
[Test]
@@ -77,8 +94,52 @@
[Test]
public void Columns()
{
+ execSQL("DROP TABLE IF EXISTS test");
+ execSQL("CREATE TABLE test (col1 int, col2 decimal(20,5), " +
+ "col3 varchar(50) character set utf8, col4 tinyint unsigned)");
+
+ string[] restrictions = new string[4];
+ restrictions[1] = "test";
+ restrictions[2] = "test";
+ DataTable dt = conn.GetSchema("Columns", restrictions);
+ Assert.IsTrue(dt.Rows.Count == 4);
+ Assert.AreEqual("Columns", dt.TableName);
+
+ // first column
+ Assert.AreEqual("TEST", dt.Rows[0]["TABLE_SCHEMA"].ToString().ToUpper());
+ Assert.AreEqual("COL1", dt.Rows[0]["COLUMN_NAME"].ToString().ToUpper());
+ Assert.AreEqual(1, dt.Rows[0]["ORDINAL_POSITION"]);
+ Assert.AreEqual("YES", dt.Rows[0]["IS_NULLABLE"]);
+ Assert.AreEqual("INT", dt.Rows[0]["DATA_TYPE"].ToString().ToUpper());
+
+ // second column
+ Assert.AreEqual("TEST", dt.Rows[1]["TABLE_SCHEMA"].ToString().ToUpper());
+ Assert.AreEqual("COL2", dt.Rows[1]["COLUMN_NAME"].ToString().ToUpper());
+ Assert.AreEqual(2, dt.Rows[1]["ORDINAL_POSITION"]);
+ Assert.AreEqual("YES", dt.Rows[1]["IS_NULLABLE"]);
+ Assert.AreEqual("DECIMAL", dt.Rows[1]["DATA_TYPE"].ToString().ToUpper());
+ Assert.AreEqual("DECIMAL(20,5)", dt.Rows[1]["COLUMN_TYPE"].ToString().ToUpper());
+ Assert.AreEqual(20, dt.Rows[1]["NUMERIC_PRECISION"]);
+ Assert.AreEqual(5, dt.Rows[1]["NUMERIC_SCALE"]);
+
+ // third column
+ Assert.AreEqual("TEST", dt.Rows[2]["TABLE_SCHEMA"].ToString().ToUpper());
+ Assert.AreEqual("COL3", dt.Rows[2]["COLUMN_NAME"].ToString().ToUpper());
+ Assert.AreEqual(3, dt.Rows[2]["ORDINAL_POSITION"]);
+ Assert.AreEqual("YES", dt.Rows[2]["IS_NULLABLE"]);
+ Assert.AreEqual("VARCHAR", dt.Rows[2]["DATA_TYPE"].ToString().ToUpper());
+ Assert.AreEqual("VARCHAR(50)", dt.Rows[2]["COLUMN_TYPE"].ToString().ToUpper());
+ Assert.AreEqual(50, dt.Rows[2]["CHARACTER_MAXIMUM_LENGTH"]);
+
+ // fourth column
+ Assert.AreEqual("TEST", dt.Rows[3]["TABLE_SCHEMA"].ToString().ToUpper());
+ Assert.AreEqual("COL4", dt.Rows[3]["COLUMN_NAME"].ToString().ToUpper());
+ Assert.AreEqual(4, dt.Rows[3]["ORDINAL_POSITION"]);
+ Assert.AreEqual("YES", dt.Rows[3]["IS_NULLABLE"]);
+ Assert.AreEqual("TINYINT", dt.Rows[3]["DATA_TYPE"].ToString().ToUpper());
}
+ [Category("5.0")]
[Test]
public void Procedures()
{
@@ -94,19 +155,76 @@
Assert.AreEqual("spTest", dt.Rows[0][3]);
}
+ [Category("5.0")]
[Test]
public void Functions()
{
+ execSQL("DROP FUNCTION IF EXISTS spFunc");
+ execSQL("CREATE FUNCTION spFunc (id int) RETURNS INT BEGIN RETURN 1; END");
+
+ string[] restrictions = new string[4];
+ restrictions[1] = "test";
+ restrictions[2] = "spFunc";
+ DataTable dt = conn.GetSchema("Procedures", restrictions);
+ Assert.IsTrue(dt.Rows.Count == 1);
+ Assert.AreEqual("Procedures", dt.TableName);
+ Assert.AreEqual("spFunc", dt.Rows[0][3]);
}
+ [Category("5.0")]
[Test]
public void ProcedureParameters()
{
+ execSQL("DROP PROCEDURE IF EXISTS spTest");
+ execSQL("CREATE PROCEDURE spTest (id int) BEGIN SELECT 1; END");
+
+ string[] restrictions = new string[4];
+ restrictions[1] = "test";
+ restrictions[2] = "spTest";
+ DataTable dt = conn.GetSchema("Procedure Parameters", restrictions);
+ Assert.IsTrue(dt.Rows.Count == 1);
+ Assert.AreEqual("Procedure Parameters", dt.TableName);
+ Assert.AreEqual("test", dt.Rows[0]["ROUTINE_SCHEMA"].ToString().ToLower());
+ Assert.AreEqual("sptest", dt.Rows[0]["ROUTINE_NAME"].ToString().ToLower());
+ Assert.AreEqual("id", dt.Rows[0]["PARAMETER_NAME"].ToString().ToLower());
+ Assert.AreEqual(1, dt.Rows[0]["ORDINAL_POSITION"]);
+ Assert.AreEqual("IN", dt.Rows[0]["PARAMETER_MODE"]);
+ Assert.AreEqual("NO", dt.Rows[0]["IS_RESULT"]);
+
+ execSQL("DROP FUNCTION IF EXISTS spFunc");
+ execSQL("CREATE FUNCTION spFunc (id int) RETURNS INT BEGIN RETURN 1; END");
+
+ restrictions[1] = "test";
+ restrictions[2] = "spFunc";
+ dt = conn.GetSchema("Procedure Parameters", restrictions);
+ Assert.IsTrue(dt.Rows.Count == 2);
+ Assert.AreEqual("Procedure Parameters", dt.TableName);
+ Assert.AreEqual("test", dt.Rows[0]["ROUTINE_SCHEMA"].ToString().ToLower());
+ Assert.AreEqual("spfunc", dt.Rows[0]["ROUTINE_NAME"].ToString().ToLower());
+ Assert.AreEqual("id", dt.Rows[0]["PARAMETER_NAME"].ToString().ToLower());
+ Assert.AreEqual(1, dt.Rows[0]["ORDINAL_POSITION"]);
+ Assert.AreEqual("IN", dt.Rows[0]["PARAMETER_MODE"]);
+ Assert.AreEqual("NO", dt.Rows[0]["IS_RESULT"]);
+
+ Assert.AreEqual("test", dt.Rows[1]["ROUTINE_SCHEMA"].ToString().ToLower());
+ Assert.AreEqual("spfunc", dt.Rows[1]["ROUTINE_NAME"].ToString().ToLower());
+ Assert.AreEqual(0, dt.Rows[1]["ORDINAL_POSITION"]);
+ Assert.AreEqual("YES", dt.Rows[1]["IS_RESULT"]);
}
+ [Category("5.0")]
[Test]
public void Views()
{
+ execSQL("CREATE VIEW vw AS SELECT Now() as theTime");
+
+ string[] restrictions = new string[4];
+ restrictions[1] = "test";
+ restrictions[2] = "vw";
+ DataTable dt = conn.GetSchema("Views", restrictions);
+ Assert.IsTrue(dt.Rows.Count == 1);
+ Assert.AreEqual("Views", dt.TableName);
+ Assert.AreEqual("vw", dt.Rows[0][3]);
}
}
}
Modified: trunk/TestSuite/PreparedStatements.cs
===================================================================
--- trunk/TestSuite/PreparedStatements.cs 2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/PreparedStatements.cs 2006-07-30 15:48:19 UTC (rev 285)
@@ -666,4 +666,49 @@
}
}
}
+
+ #region Configs
+
+ public class PreparedStatementsSocketCompressed : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";port=3306;compress=true";
+ }
+ }
+
+ public class PreparedStatementsPipe : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=pipe";
+ }
+ }
+
+ public class PreparedStatementsPipeCompressed : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=pipe;compress=true";
+ }
+ }
+
+ public class PreparedStatementsSharedMemory : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=memory";
+ }
+ }
+
+ public class PreparedStatementsSharedMemoryCompressed : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=memory;compress=true";
+ }
+ }
+
+ #endregion
+
}
Modified: trunk/TestSuite/StressTests.cs
===================================================================
--- trunk/TestSuite/StressTests.cs 2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/StressTests.cs 2006-07-30 15:48:19 UTC (rev 285)
@@ -154,4 +154,49 @@
}
}
+
+ #region Configs
+
+ public class StressTestsSocketCompressed : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";port=3306;compress=true";
+ }
+ }
+
+ public class StressTestsPipe : PreparedStatements
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=pipe";
+ }
+ }
+
+ public class StressTestsPipeCompressed : StressTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=pipe;compress=true";
+ }
+ }
+
+ public class StressTestsSharedMemory : StressTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=memory";
+ }
+ }
+
+ public class StressTestsSharedMemoryCompressed : StressTests
+ {
+ protected override string GetConnectionInfo()
+ {
+ return ";protocol=memory;compress=true";
+ }
+ }
+
+ #endregion
+
}
Modified: trunk/mysqlclient/ISSchemaProvider.cs
===================================================================
--- trunk/mysqlclient/ISSchemaProvider.cs 2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/mysqlclient/ISSchemaProvider.cs 2006-07-30 15:48:19 UTC (rev 285)
@@ -42,7 +42,7 @@
{
new object[] {"Views", 2, 3},
new object[] {"ViewColumns", 3, 4},
- new object[] {"ProcedureParameters", 4, 1},
+ new object[] {"Procedure Parameters", 4, 1},
new object[] {"Procedures", 4, 3},
new object[] {"Triggers", 2, 4}
};
@@ -57,10 +57,10 @@
object[][] restrictions = new object[][]
{
- new object[] {"ProcedureParameters", "Catalog", "", 0},
- new object[] {"ProcedureParameters", "Owner", "", 1},
- new object[] {"ProcedureParameters", "Name", "", 2},
- new object[] {"ProcedureParameters", "Parameter", "", 3},
+ new object[] {"Procedure Parameters", "Catalog", "", 0},
+ new object[] {"Procedure Parameters", "Owner", "", 1},
+ new object[] {"Procedure Parameters", "Name", "", 2},
+ new object[] {"Procedure Parameters", "Parameter", "", 3},
new object[] {"Procedures", "Catalog", "", 0},
new object[] {"Procedures", "Owner", "", 1},
new object[] {"Procedures", "Name", "", 2},
| Thread |
|---|
| • Connector/NET commit: r285 - in trunk: TestSuite mysqlclient | rburnett | 30 Jul |