List:Commits« Previous MessageNext Message »
From:rburnett Date:September 5 2008 5:34pm
Subject:Connector/NET commit: r1404 - in branches/5.2: . MySql.Data/Provider/Source MySql.VisualStudio
View as plain text  
Modified:
   branches/5.2/CHANGES
   branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs
   branches/5.2/MySql.VisualStudio/MySqlDataObjectSupport.xml
   branches/5.2/MySql.VisualStudio/MySqlDataViewSupport.xml
Log:
- fixed stored procedure parameter parsing when used inside server explorer.  (bug #39252)


Modified: branches/5.2/CHANGES
===================================================================
--- branches/5.2/CHANGES	2008-09-05 13:57:04 UTC (rev 1403)
+++ branches/5.2/CHANGES	2008-09-05 15:34:43 UTC (rev 1404)
@@ -3,6 +3,7 @@
   present at all (bug #39072)
 - backported fix for lingering problem related to bug #37239.  If two columns had the
same name but
   different case then an exception would be thrown.  
+- fixed stored procedure parameter parsing when used inside server explorer.  (bug
#39252)
   
 Version 5.2.3 - 8/14/08
 - Increased the speed of MySqlDataReader.GetOrdinal dramatically by using a couple

Modified: branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs
===================================================================
--- branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs	2008-09-05 13:57:04 UTC
(rev 1403)
+++ branches/5.2/MySql.Data/Provider/Source/ISSchemaProvider.cs	2008-09-05 15:34:43 UTC
(rev 1404)
@@ -258,15 +258,7 @@
 
         private DataTable GetParametersFromIS(string[] restrictions)
         {
-            StringBuilder sql = new StringBuilder(@"SELECT r.ROUTINE_TYPE, p.* FROM 
-                INFORMATION_SCHEMA.ROUTINES r, INFORMATION_SCHEMA.PARAMETERS p");
-            // if the user is not trying to restrict by routine type then we
-            // don't need the join.  However we understand that since 'PARAMETERS'
-            // isn't keyed to routines then we can't tell the difference between
-            // procedures and functions with the same name
-            if (restrictions == null || restrictions.Length < 4 ||
-                restrictions[3] == null)
-                sql = new StringBuilder("SELECT * FROM INFORMATION_SCHEMA.PARAMETERS");
+            StringBuilder sql = new StringBuilder(@"SELECT * FROM
INFORMATION_SCHEMA.PARAMETERS");
 
             string[] keys = new string[5];
             keys[0] = "SPECIFIC_CATALOG";
@@ -313,6 +305,7 @@
                 dt.Columns.Add("CHARACTER_SET_NAME", typeof(string));
                 dt.Columns.Add("COLLATION_NAME", typeof(string));
                 dt.Columns.Add("DTD_IDENTIFIER", typeof(string));
+                dt.Columns.Add("ROUTINE_TYPE", typeof(string));
                 GetParametersFromShowCreate(dt, restrictions, routines);
 
                 return dt;
@@ -501,6 +494,7 @@
             parameter["SPECIFIC_NAME"] = procedure["ROUTINE_NAME"];
             parameter["PARAMETER_MODE"] = "IN";
             parameter["ORDINAL_POSITION"] = 0;
+            parameter["ROUTINE_TYPE"] = procedure["ROUTINE_TYPE"];
         }
 
         /// <summary>

Modified: branches/5.2/MySql.VisualStudio/MySqlDataObjectSupport.xml
===================================================================
--- branches/5.2/MySql.VisualStudio/MySqlDataObjectSupport.xml	2008-09-05 13:57:04 UTC
(rev 1403)
+++ branches/5.2/MySql.VisualStudio/MySqlDataObjectSupport.xml	2008-09-05 15:34:43 UTC
(rev 1404)
@@ -663,17 +663,17 @@
         <Concept name="FunctionParameter" restrictions="null, {Schema},
{StoredProcedure}, FUNCTION, {Name}" />
       </Concepts>
       <Identifier>
-        <Part name="Database" itemName="ROUTINE_CATALOG">
+        <Part name="Database" itemName="SPECIFIC_CATALOG">
           <Concepts>
             <Concept name="Identifier0" />
           </Concepts>
         </Part>
-        <Part name="Schema" itemName="ROUTINE_SCHEMA">
+        <Part name="Schema" itemName="SPECIFIC_SCHEMA">
           <Concepts>
             <Concept name="Identifier1" />
           </Concepts>
         </Part>
-        <Part name="StoredProcedure" itemName="ROUTINE_NAME">
+        <Part name="StoredProcedure" itemName="SPECIFIC_NAME">
           <Concepts>
             <Concept name="Identifier2" />
           </Concepts>
@@ -710,8 +710,7 @@
             </Concept>
           </Concepts>
         </Property>
-        <Property name="Flags" type="System.String" itemName="FLAGS"/>
-        <Property name="CharacterSet" type="System.String" itemName="CHARACTER_SET"
/>
+        <Property name="CharacterSet" type="System.String"
itemName="CHARACTER_SET_NAME" />
         <Property name="Length" type="System.Int32"
itemName="CHARACTER_MAXIMUM_LENGTH">
           <Concepts>
             <Concept name="Length"/>
@@ -732,16 +731,15 @@
           </Concepts>
         </Property>
         <Property name="Mode" type="System.String" itemName="PARAMETER_MODE"/>
-        <Property name="IsResult" type="System.String" itemName="IS_RESULT"/>
         <AggregatedConcepts>
           <!--
-            In order to correctly identify the direction of a parameter as required
-            by the Direction concept, we must use both the Mode and IsResult
-            properties.  Hence this is an aggregated concept.
+          In order to correctly identify the direction of a parameter as required
+          by the Direction concept, we must use both the Mode and Ordinal
+          properties.  Hence this is an aggregated concept.
           -->
-          <AggregatedConcept name="Direction" fromData="IsResult, Mode">
+          <AggregatedConcept name="Direction" fromData="Ordinal,Mode">
             <Conversion>
-              <Calculate expr="IIF({0} =
'NO',IIF({1}='IN','IN',IIF({1}='OUT','OUT','IN/OUT')),'RETVAL')"
type="System.String"/>
+              <Calculate expr="IIF({0} =
'0','RETVAL',IIF({1}='IN','IN',IIF({1}='OUT','OUT','IN/OUT')))" type="System.String"/>
             </Conversion>
           </AggregatedConcept>
         </AggregatedConcepts>

Modified: branches/5.2/MySql.VisualStudio/MySqlDataViewSupport.xml
===================================================================
--- branches/5.2/MySql.VisualStudio/MySqlDataViewSupport.xml	2008-09-05 13:57:04 UTC (rev
1403)
+++ branches/5.2/MySql.VisualStudio/MySqlDataViewSupport.xml	2008-09-05 15:34:43 UTC (rev
1404)
@@ -140,7 +140,6 @@
                               
restrictions="{StoredProcedure.Database},{StoredProcedure.Schema},{StoredProcedure.Name},PROCEDURE"

                                hideWhen="False AND False">
                       <SelectionNode>
-                        <Icon when="{IsResult} = 'YES'" name="ReturnValue" />
                         <Icon when="{Mode} = 'IN'" name="InputParameter" />
                         <Icon when="{Mode} = 'OUT'" name="OutputParameter" />
                         <Icon when="{Mode} = 'INOUT'" name="OutputParameter" />

Thread
Connector/NET commit: r1404 - in branches/5.2: . MySql.Data/Provider/Source MySql.VisualStudiorburnett5 Sep