List:Commits« Previous MessageNext Message »
From:rburnett Date:August 15 2008 12:23am
Subject:Connector/NET commit: r1374 - in branches/5.2: . MySql.Data/Provider/Source
View as plain text  
Modified:
   branches/5.2/CHANGES
   branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs
   branches/5.2/MySql.Data/Provider/Source/SchemaProvider.cs
Log:
SchemaProvider.cs - Changed how we populate our proc table from mysql.proc so we don't fall victim to the System.Byte[] issue
ISSchemaProvider.cs - quote the proc name properly
CHANGES - updated release date

Modified: branches/5.2/CHANGES
===================================================================
--- branches/5.2/CHANGES	2008-08-14 23:35:23 UTC (rev 1373)
+++ branches/5.2/CHANGES	2008-08-15 00:23:25 UTC (rev 1374)
@@ -1,4 +1,4 @@
-Version 5.2.3
+Version 5.2.3 - 8/14/08
 - Increased the speed of MySqlDataReader.GetOrdinal dramatically by using a couple
   of hashes for lookups
 - Fixed problem where some tables that support the web providers used the latin1

Modified: branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs
===================================================================
--- branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs	2008-08-14 23:35:23 UTC (rev 1373)
+++ branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs	2008-08-15 00:23:25 UTC (rev 1374)
@@ -216,7 +216,7 @@
 
         private string GetProcedureParameterLine(DataRow isRow)
         {
-            string sql = "SHOW CREATE {0} {1}.{2}";
+            string sql = "SHOW CREATE {0} `{1}`.`{2}`";
             sql = String.Format(sql, isRow["ROUTINE_TYPE"], isRow["ROUTINE_SCHEMA"],
                 isRow["ROUTINE_NAME"]);
             MySqlCommand cmd = new MySqlCommand(sql, connection);

Modified: branches/5.2/MySql.Data/Provider/Source/SchemaProvider.cs
===================================================================
--- branches/5.2/MySql.Data/Provider/Source/SchemaProvider.cs	2008-08-14 23:35:23 UTC (rev 1373)
+++ branches/5.2/MySql.Data/Provider/Source/SchemaProvider.cs	2008-08-15 00:23:25 UTC (rev 1374)
@@ -560,36 +560,36 @@
                         " AND type LIKE '{0}'", restrictions[3]);
             }
 
-            MySqlDataAdapter da = new MySqlDataAdapter(sql.ToString(), connection);
-            DataTable procs = new DataTable();
-            da.Fill(procs);
-
-            foreach (DataRow procRow in procs.Rows)
+            MySqlCommand cmd = new MySqlCommand(sql.ToString(), connection);
+            using (MySqlDataReader reader = cmd.ExecuteReader())
             {
-                DataRow row = dt.NewRow();
-                row["SPECIFIC_NAME"] = procRow["specific_name"];
-                row["ROUTINE_CATALOG"] = DBNull.Value;
-                row["ROUTINE_SCHEMA"] = procRow["db"];
-                row["ROUTINE_NAME"] = procRow["name"];
-                row["ROUTINE_TYPE"] = procRow["type"];
-                row["DTD_IDENTIFIER"] =
-                    procRow["type"].ToString().ToLower(CultureInfo.InvariantCulture) == "function" ?
-                    procRow["returns"] : DBNull.Value;
-                row["ROUTINE_BODY"] = "SQL";
-                row["ROUTINE_DEFINITION"] = procRow["body"];
-                row["EXTERNAL_NAME"] = DBNull.Value;
-                row["EXTERNAL_LANGUAGE"] = DBNull.Value;
-                row["PARAMETER_STYLE"] = "SQL";
-                row["IS_DETERMINISTIC"] = procRow["is_deterministic"];
-                row["SQL_DATA_ACCESS"] = procRow["sql_data_access"];
-                row["SQL_PATH"] = DBNull.Value;
-                row["SECURITY_TYPE"] = procRow["security_type"];
-                row["CREATED"] = procRow["created"];
-                row["LAST_ALTERED"] = procRow["modified"];
-                row["SQL_MODE"] = procRow["sql_mode"];
-                row["ROUTINE_COMMENT"] = procRow["comment"];
-                row["DEFINER"] = procRow["definer"];
-                dt.Rows.Add(row);
+                while (reader.Read())
+                {
+                    DataRow row = dt.NewRow();
+                    row["SPECIFIC_NAME"] = reader.GetString("specific_name");
+                    row["ROUTINE_CATALOG"] = DBNull.Value;
+                    row["ROUTINE_SCHEMA"] = reader.GetString("db");
+                    row["ROUTINE_NAME"] = reader.GetString("name");
+                    string routineType = reader.GetString("type");
+                    row["ROUTINE_TYPE"] = routineType;
+                    row["DTD_IDENTIFIER"] = routineType.ToLower(CultureInfo.InvariantCulture) == "function" ?
+                        (object)reader.GetString("returns") : DBNull.Value;
+                    row["ROUTINE_BODY"] = "SQL";
+                    row["ROUTINE_DEFINITION"] = reader.GetString("body");
+                    row["EXTERNAL_NAME"] = DBNull.Value;
+                    row["EXTERNAL_LANGUAGE"] = DBNull.Value;
+                    row["PARAMETER_STYLE"] = "SQL";
+                    row["IS_DETERMINISTIC"] = reader.GetString("is_deterministic");
+                    row["SQL_DATA_ACCESS"] = reader.GetString("sql_data_access");
+                    row["SQL_PATH"] = DBNull.Value;
+                    row["SECURITY_TYPE"] = reader.GetString("security_type");
+                    row["CREATED"] = reader.GetDateTime("created");
+                    row["LAST_ALTERED"] = reader.GetDateTime("modified");
+                    row["SQL_MODE"] = reader.GetString("sql_mode");
+                    row["ROUTINE_COMMENT"] = reader.GetString("comment");
+                    row["DEFINER"] = reader.GetString("definer");
+                    dt.Rows.Add(row);
+                }
             }
 
             return dt;

Thread
Connector/NET commit: r1374 - in branches/5.2: . MySql.Data/Provider/Sourcerburnett15 Aug