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/Source | rburnett | 15 Aug |