Bug #105181 Empty result from MySqlConnection.GetSchema("Procedure Parameters") call.
Submitted: 9 Oct 17:18 Modified: 11 Oct 4:40
Reporter: Ilya Gunya Email Updates:
Status: Analyzing Impact on me:
None 
Category:Connector / NET Severity:S3 (Non-critical)
Version:Ver 8.0.26 for Win64 on x86_64 OS:Microsoft Windows
Assigned to: MySQL Verification Team CPU Architecture:x86
Tags: GetSchema, NET

[9 Oct 17:18] Ilya Gunya
Description:
When I do call GetSchema("Procedure Parameters") of MySqlConnection object, the returned table is empty. There is column names, but no rows.
Of course, MySqlConnection is connected, the string "Procedure Parameters" taken from GetSchema("MetaDataCollections") call. Other calls of GetSchema with other strings (such as "Tables", "Columns", "Users" and so on) works OK.

How to repeat:
There is C# sample:

static void Main(string[] args)
{
	using (MySqlConnection cnn = new MySqlConnection("server=localhost;user=root;database=testdb;password=1234567;"))
	{
		cnn.Open();

		Console.WriteLine("Procedure Parameters");
		ShowDataTable(cnn.GetSchema("Procedure Parameters"), 25);
		Console.WriteLine();
	}

	Console.WriteLine("Please press any key to exit...");
	Console.ReadKey();
}

private static void ShowDataTable(DataTable table, Int32 length)
{
	foreach (DataColumn col in table.Columns)
	{
		Console.Write("{0,-" + length + "}", col.ColumnName);
	}
	Console.WriteLine();

	foreach (DataRow row in table.Rows)
	{
		foreach (DataColumn col in table.Columns)
		{
			if (col.DataType.Equals(typeof(DateTime)))
				Console.Write("{0,-" + length + ":d}", row[col]);
			else if (col.DataType.Equals(typeof(Decimal)))
				Console.Write("{0,-" + length + ":C}", row[col]);
			else
				Console.Write("{0,-" + length + ":C}", row[col]);
		}
		Console.WriteLine();
	}
}