List:Commits« Previous MessageNext Message »
From:rburnett Date:December 8 2006 8:25pm
Subject:Connector/NET commit: r486 - in trunk: TestSuite mysqlclient/core
View as plain text  
Modified:
   trunk/TestSuite/GetSchemaTests.cs
   trunk/mysqlclient/core/ISSchemaProvider.cs
   trunk/mysqlclient/core/SchemaProvider.cs
Log:
1. Added test for the Triggers Collections
2. Reversed the last two restrictions on the triggers collection


Modified: trunk/TestSuite/GetSchemaTests.cs
===================================================================
--- trunk/TestSuite/GetSchemaTests.cs	2006-12-08 01:13:25 UTC (rev 485)
+++ trunk/TestSuite/GetSchemaTests.cs	2006-12-08 20:25:47 UTC (rev 486)
@@ -479,6 +479,43 @@
             Assert.AreEqual("customer", row["REFERENCED_TABLE_NAME"]);
             Assert.AreEqual("id", row["REFERENCED_COLUMN_NAME"]);
         }
-    
+
+        [Category("5.0")]
+        [Test]
+        public void Triggers()
+        {
+            try
+            {
+                execSQL("DROP TRIGGER trigger1");
+            }
+            catch (Exception) { }
+
+            execSQL("DROP TABLE IF EXISTS test2");
+            execSQL("DROP TABLE IF EXISTS test1");
+            execSQL("CREATE TABLE test1 (id int)");
+            execSQL("CREATE TABLE test2 (count int)");
+            execSQL("INSERT INTO test2 VALUES (0)");
+            execSQL("CREATE TRIGGER trigger1 AFTER INSERT ON test1 FOR EACH ROW BEGIN " +
+                "UPDATE test2 SET count = count+1; END");
+
+            try
+            {
+                string[] restrictions = new string[4];
+                restrictions[1] = "test";
+                restrictions[2] = "test1";
+                DataTable dt = conn.GetSchema("Triggers", restrictions);
+                Assert.IsTrue(dt.Rows.Count == 1);
+                Assert.AreEqual("Triggers", dt.TableName);
+                Assert.AreEqual("trigger1", dt.Rows[0]["TRIGGER_NAME"]);
+                Assert.AreEqual("INSERT", dt.Rows[0]["EVENT_MANIPULATION"]);
+                Assert.AreEqual("test1", dt.Rows[0]["EVENT_OBJECT_TABLE"]);
+                Assert.AreEqual("ROW", dt.Rows[0]["ACTION_ORIENTATION"]);
+                Assert.AreEqual("AFTER", dt.Rows[0]["ACTION_TIMING"]);
+            }
+            catch (Exception ex)
+            {
+                Assert.Fail(ex.Message);
+            }
+        }
     }
 }

Modified: trunk/mysqlclient/core/ISSchemaProvider.cs
===================================================================
--- trunk/mysqlclient/core/ISSchemaProvider.cs	2006-12-08 01:13:25 UTC (rev 485)
+++ trunk/mysqlclient/core/ISSchemaProvider.cs	2006-12-08 20:25:47 UTC (rev 486)
@@ -167,9 +167,10 @@
             string[] keys = new string[4];
             keys[0] = "TRIGGER_CATALOG";
             keys[1] = "TRIGGER_SCHEMA";
-            keys[2] = "TRIGGER_NAME";
-            keys[3] = "EVENT_OBJECT_TABLE";
+            keys[2] = "EVENT_OBJECT_TABLE";
+            keys[3] = "TRIGGER_NAME";
             DataTable dt = Query("TRIGGERS", null, keys, restrictions);
+            dt.TableName = "Triggers";
             return dt;
         }
 

Modified: trunk/mysqlclient/core/SchemaProvider.cs
===================================================================
--- trunk/mysqlclient/core/SchemaProvider.cs	2006-12-08 01:13:25 UTC (rev 485)
+++ trunk/mysqlclient/core/SchemaProvider.cs	2006-12-08 20:25:47 UTC (rev 486)
@@ -348,6 +348,7 @@
             dt.Columns.Add("TABLE_NAME", typeof(string));
             dt.Columns.Add("COLUMN_NAME", typeof(string));
             dt.Columns.Add("ORDINAL_POSITION", typeof(int));
+            dt.Columns.Add("REFERENCED_TABLE_CATALOG", typeof(string));
             dt.Columns.Add("REFERENCED_TABLE_SCHEMA", typeof(string));
             dt.Columns.Add("REFERENCED_TABLE_NAME", typeof(string));
             dt.Columns.Add("REFERENCED_COLUMN_NAME", typeof(string));
@@ -477,6 +478,7 @@
                 row["TABLE_NAME"] = table["TABLE_NAME"];
                 row["COLUMN_NAME"] = CleanSymbol(fkColumn.Trim());
                 row["ORDINAL_POSITION"] = pos;
+                row["REFERENCED_TABLE_CATALOG"] = null;
                 row["REFERENCED_TABLE_SCHEMA"] = refSchema;
                 row["REFERENCED_TABLE_NAME"] = refTable;
                 row["REFERENCED_COLUMN_NAME"] = CleanSymbol(refColumns[pos++].Trim());

Thread
Connector/NET commit: r486 - in trunk: TestSuite mysqlclient/corerburnett8 Dec