List:Commits« Previous MessageNext Message »
From:Reggie Burnett Date:November 3 2010 9:05pm
Subject:bzr commit into connector-net-trunk branch (reggie.burnett:940)
View as plain text  
#At file:///C:/Users/Reggie/work/connector-net/trunk/ based on revid:reggie.burnett@stripped

  940 Reggie Burnett	2010-11-03 [merge]
      merged

    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-20101103210522-qe9j23p6ntam6xg8.bundle
Thread
bzr commit into connector-net-trunk branch (reggie.burnett:940) Reggie Burnett3 Nov