#At file:///C:/Users/Reggie/work/connector-net/6.3/ based on revid:reggie.burnett@stripped
941 Reggie Burnett 2010-11-03
- added code that will attempt to enumerate procs via mysql.proc the first time. If we get an 1142 error then we
mark that we don't have access to that table and use IS from then on. (bug #36694)
modified:
CHANGES
MySql.Data/Provider/Source/ISSchemaProvider.cs
MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs
=== modified file 'CHANGES'
=== modified file 'CHANGES'
--- a/CHANGES 2010-10-22 19:01:14 +0000
+++ b/CHANGES 2010-11-03 21:04:38 +0000
@@ -1,6 +1,8 @@
Version 6.3.6
- Fixed TracingDriver so that it normalizes long queries before truncation so we don't get exceptions when quoted
tokens land on the 300th character (bug #57641)
+- added code that will attempt to enumerate procs via mysql.proc the first time. If we get an 1142 error then we
+ mark that we don't have access to that table and use IS from then on. (bug #36694)
Version 6.3.5
- Fix installer bug related to .NET FW 4.0 (bug #56580)
=== modified file 'MySql.Data/Provider/Source/ISSchemaProvider.cs'
--- a/MySql.Data/Provider/Source/ISSchemaProvider.cs 2010-11-03 20:35:00 +0000
+++ b/MySql.Data/Provider/Source/ISSchemaProvider.cs 2010-11-03 21:04:38 +0000
@@ -188,8 +188,18 @@
/// <returns></returns>
public override DataTable GetProcedures(string[] restrictions)
{
- if (connection.Settings.UseProcedureBodies)
- return base.GetProcedures(restrictions);
+ try
+ {
+ if (connection.Settings.HasRootAccess)
+ return base.GetProcedures(restrictions);
+ }
+ catch (MySqlException ex)
+ {
+ if (ex.Number == (int)MySqlErrorCode.TableAccessDenied)
+ connection.Settings.HasRootAccess = false;
+ else
+ throw;
+ }
string[] keys = new string[4];
keys[0] = "ROUTINE_CATALOG";
=== modified file 'MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs'
--- a/MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs 2010-08-18 19:52:04 +0000
+++ b/MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs 2010-11-03 21:04:38 +0000
@@ -41,6 +41,7 @@
new Dictionary<string, PropertyDefaultValue>(StringComparer.OrdinalIgnoreCase);
private Dictionary<string, object> values =
new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
+ private bool hasRootAccess = true;
static MySqlConnectionStringBuilder()
{
@@ -744,6 +745,12 @@
#endregion
+ internal bool HasRootAccess
+ {
+ get { return hasRootAccess; }
+ set { hasRootAccess = value; }
+ }
+
internal Regex GetBlobAsUTF8IncludeRegex()
{
if (String.IsNullOrEmpty(BlobAsUTF8IncludePattern)) return null;
Attachment: [text/bzr-bundle] bzr/reggie.burnett@oracle.com-20101103210438-bsdb38ujy9l2ho1a.bundle
| Thread |
|---|
| • bzr commit into connector-net-trunk branch (reggie.burnett:941) Bug#36694 | Reggie Burnett | 3 Nov |