Added:
trunk/VisualStudio/Enumerators/
trunk/VisualStudio/Enumerators/StoredProcedureColumnEnumerator.cs
Modified:
trunk/CHANGES
trunk/Driver/Source/parameter.cs
trunk/VisualStudio/MySqlDataObjectSupport.xml
trunk/VisualStudio/MySqlDataViewSupport.xml
Log:
Fixed problem preventing use of stored procedures for insert, update, and delete
statements in a table adapter.
Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES 2007-06-11 20:29:02 UTC (rev 753)
+++ trunk/CHANGES 2007-06-11 20:38:04 UTC (rev 754)
@@ -5,6 +5,8 @@
(See release notes)
- Fixed problem preventing the DataSet Designer or TableAdapter wizard from being
able to generate insert, update, and delete statements. (Bug #26347)
+ - Fixed problem preventing use of stored procedures for insert, update, and
+ delete statements in a table adapter.
Version 5.1.1
- Fixed password property on MySqlConnectionStringBuilder to use PasswordPropertyText
Modified: trunk/Driver/Source/parameter.cs
===================================================================
--- trunk/Driver/Source/parameter.cs 2007-06-11 20:29:02 UTC (rev 753)
+++ trunk/Driver/Source/parameter.cs 2007-06-11 20:38:04 UTC (rev 754)
@@ -192,7 +192,7 @@
#if !CF
[Category("Data")]
#endif
- public override ParameterDirection Direction
+ public override ParameterDirection Direction
{
get { return direction; }
set { direction = value; }
@@ -204,7 +204,7 @@
#if !CF
[Browsable(false)]
#endif
- public override Boolean IsNullable
+ public override Boolean IsNullable
{
get { return isNullable; }
set { isNullable = value; }
@@ -215,8 +215,9 @@
/// </summary>
#if !CF
[Category("Data")]
+ [DbProviderSpecificTypeProperty(true)]
#endif
- public MySqlDbType MySqlDbType
+ public MySqlDbType MySqlDbType
{
get { return mySqlDbType; }
set
@@ -232,7 +233,7 @@
#if !CF
[Category("Misc")]
#endif
- public override String ParameterName
+ public override String ParameterName
{
get { return paramName; }
set
@@ -249,7 +250,7 @@
#if !CF
[Category("Data")]
#endif
- public byte Precision
+ public byte Precision
{
get { return precision; }
set { precision = value; }
@@ -261,7 +262,7 @@
#if !CF
[Category("Data")]
#endif
- public byte Scale
+ public byte Scale
{
get { return scale; }
set { scale = value; }
@@ -273,7 +274,7 @@
#if !CF
[Category("Data")]
#endif
- public override int Size
+ public override int Size
{
get { return size; }
set { size = value; }
@@ -285,7 +286,7 @@
#if !CF
[Category("Data")]
#endif
- public override String SourceColumn
+ public override String SourceColumn
{
get { return sourceColumn; }
set { sourceColumn = value; }
@@ -297,7 +298,7 @@
#if !CF
[Category("Data")]
#endif
- public override DataRowVersion SourceVersion
+ public override DataRowVersion SourceVersion
{
get { return sourceVersion; }
set { sourceVersion = value; }
@@ -310,7 +311,7 @@
[TypeConverter(typeof (StringConverter))]
[Category("Data")]
#endif
- public override object Value
+ public override object Value
{
get { return paramValue; }
set
Added: trunk/VisualStudio/Enumerators/StoredProcedureColumnEnumerator.cs
===================================================================
--- trunk/VisualStudio/Enumerators/StoredProcedureColumnEnumerator.cs 2007-06-11 20:29:02
UTC (rev 753)
+++ trunk/VisualStudio/Enumerators/StoredProcedureColumnEnumerator.cs 2007-06-11 20:38:04
UTC (rev 754)
@@ -0,0 +1,43 @@
+// Copyright (C) 2006-2007 MySQL AB
+//
+// This file is part of MySQL Tools for Visual Studio.
+// MySQL Tools for Visual Studio is free software; you can redistribute it
+// and/or modify it under the terms of the GNU Lesser General Public
+// License version 2.1 as published by the Free Software Foundation
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA using
System;
+
+using System;
+using Microsoft.VisualStudio.Data;
+using System.Data.Common;
+using Microsoft.VisualStudio.Data.AdoDotNet;
+using System.Data;
+
+namespace MySql.Data.VisualStudio
+{
+ class StoredProcedureColumnEnumerator : DataObjectEnumerator
+ {
+ public override DataReader EnumerateObjects(string typeName, object[] items,
+ object[] restrictions, string sort, object[] parameters)
+ {
+ DataConnectionWrapper connectionWrapper = new
DataConnectionWrapper(Connection);
+ string spName = String.Format("{0}.{1}", restrictions[1], restrictions[2]);
+ IDataReader reader = connectionWrapper.ExecuteReader(spName, true,
CommandBehavior.SchemaOnly);
+ DataTable dt = reader.GetSchemaTable();
+ reader.Close();
+
+ dt.Columns.Add(new DataColumn("RoutineName", typeof(string)));
+ foreach (DataRow row in dt.Rows)
+ row["RoutineName"] = restrictions[2];
+
+ return new AdoDotNetDataTableReader(dt);
+ }
+ }
+}
Modified: trunk/VisualStudio/MySqlDataObjectSupport.xml
===================================================================
--- trunk/VisualStudio/MySqlDataObjectSupport.xml 2007-06-11 20:29:02 UTC (rev 753)
+++ trunk/VisualStudio/MySqlDataObjectSupport.xml 2007-06-11 20:38:04 UTC (rev 754)
@@ -11,7 +11,7 @@
<Property name="Server" itemName="SERVER_NAME" type="System.String"/>
<Property name="Database" itemName="CATALOG_NAME" type="System.String"/>
<Property name="Schema" itemName="SCHEMA_NAME" type="System.String"/>
-<!-- <Property name="DefaultCharset" itemName="DEFAULT_CHARACTER_SET_NAME"
type="System.String"/>
+ <!-- <Property name="DefaultCharset"
itemName="DEFAULT_CHARACTER_SET_NAME" type="System.String"/>
<Property name="DefaultCollation" itemName="DEFAULT_COLLATION_NAME"
type="System.String"/>
<Property name="SQLPath" itemName="SQL_PATH" type="System.String"/>-->
</Properties>
@@ -31,7 +31,7 @@
-->
<Concept name="Table" restrictions="null,{Schema},{Name}" />
</Concepts>
-
+
<!-- This section dfeines what uniquely identifes one of these objects -->
<Identifier>
<Part name="Database" itemName="TABLE_CATALOG">
@@ -50,7 +50,7 @@
</Concepts>
</Part>
</Identifier>
-
+
<Properties>
<Property name="Schema" type="System.String" itemName="TABLE_SCHEMA">
<Concepts>
@@ -87,11 +87,11 @@
<Property name="Comment" type="System.String" itemName="TABLE_COMMENT"/>
</Properties>
<Actions>
- <Action name="Enumerate" guid="61CC0372-384D-42e5-9707-6D7C8DC5287A"
+ <Action name="Enumerate" guid="61CC0372-384D-42e5-9707-6D7C8DC5287A"
handler="Microsoft.VisualStudio.Data.AdoDotNet.AdoDotNetObjectEnumerator">
- <Parameter value="Tables"/>
+ <Parameter value="Tables"/>
</Action>
- <Action name="BuildDSRef" guid="7C030900-E8DD-471b-8F18-D83DA7036144"
+ <Action name="BuildDSRef" guid="7C030900-E8DD-471b-8F18-D83DA7036144"
handler="Microsoft.VisualStudio.Data.DSRefBuilder">
<Parameter>
<!--The name of the node (Identifier2 passed).-->
@@ -514,9 +514,9 @@
<Type name="StoredProcedure" defaultSort="Schema, Name"
minSourceVersion="5.0.0">
<Concepts>
<Concept name="StoredProcedure" restrictions="null, {Schema}, {Name},
PROCEDURE" />
-<!-- <Concept name="TabularFunction" restrictions="null, {Schema}, {Name},
PROCEDURE" />-->
+ <!-- <Concept name="TabularFunction" restrictions="null, {Schema},
{Name}, PROCEDURE" />-->
<Concept name="Function" restrictions="null, {Schema}, {Name}, FUNCTION" />
-<!-- <Concept name="ScalarFunction" restrictions="null, {Schema}, {Name},
FUNCTION" />-->
+ <!-- <Concept name="ScalarFunction" restrictions="null, {Schema},
{Name}, FUNCTION" />-->
</Concepts>
<Identifier>
@@ -543,7 +543,7 @@
<Restriction name="Name"/>
<Restriction name="Type"/>
</Restrictions>
-
+
<Properties>
<Property name="Schema" type="System.String" itemName="ROUTINE_SCHEMA">
<Concepts>
@@ -587,40 +587,40 @@
<Concept name="StoredProcedureColumn"
restrictions="{Catalog},{Schema},{StoredProcedure},{Name}"/>
</Concepts>
<Identifier>
- <Part name="Database">
+ <Part name="Database" itemName="BaseCatalogName">
<Concepts>
<Concept name="Identifier0"/>
</Concepts>
</Part>
- <Part name="Schema">
+ <Part name="Schema" itemName="BaseSchemaName">
<Concepts>
<Concept name="Identifier1"/>
</Concepts>
</Part>
- <Part name="StoredProcedure">
+ <Part name="StoredProcedure" itemName="RoutineName">
<Concepts>
<Concept name="Identifier2"/>
</Concepts>
</Part>
- <Part name="Name">
+ <Part name="Name" itemName="ColumnName">
<Concepts>
<Concept name="Identifier3"/>
</Concepts>
</Part>
</Identifier>
<Properties>
- <Property name="Name" type="System.String"/>
- <Property name="Id" type="System.Int32">
+ <Property name="Name" type="System.String" itemName="ColumnName"/>
+ <Property name="Id" type="System.Int32" itemName="ColumnOrdinal">
<Concepts>
<Concept name="Ordinal"/>
</Concepts>
</Property>
- <Property name="ProviderType" type="System.Int32">
+ <Property name="ProviderType" type="System.Int32" itemName="ProviderType">
<Concepts>
<Concept name="ProviderDataType"/>
</Concepts>
</Property>
- <Property name="FrameworkType" type="System.Type">
+ <Property name="FrameworkType" type="System.Type" itemName="DataType">
<Concepts>
<Concept name="FrameworkDataType">
<Conversion>
@@ -629,41 +629,33 @@
</Concept>
</Concepts>
</Property>
- <Property name="Length" type="System.Int32">
+ <Property name="Length" type="System.Int32" itemName="ColumnSize">
<Concepts>
<Concept name="Length"/>
</Concepts>
</Property>
- <Property name="NumericPrecision" type="System.Int16">
+ <Property name="NumericPrecision" type="System.Int32">
<Concepts>
- <Concept name="Precision">
- <Conversion>
- <ChangeType type="System.Int32"/>
- </Conversion>
- </Concept>
+ <Concept name="Precision"/>
</Concepts>
</Property>
- <Property name="NumericScale" type="System.Int16">
+ <Property name="NumericScale" type="System.Int32">
<Concepts>
- <Concept name="Scale">
- <Conversion>
- <ChangeType type="System.Int32"/>
- </Conversion>
- </Concept>
+ <Concept name="Scale"/>
</Concepts>
</Property>
- <Property name="Nullable" type="System.Boolean">
+ <Property name="Nullable" type="System.Boolean" itemName="AllowDBNull">
<Concepts>
<Concept name="Nullable"/>
</Concepts>
</Property>
- <Property name="IsAutoIncrement" type="System.Boolean"/>
+ <Property name="IsAutoIncrement" type="System.Boolean"
itemName="IsAutoIncrement"/>
</Properties>
<Actions>
- <Action guid="61CC0372-384D-42e5-9707-6D7C8DC5287A" name="Enumerate"
handler="Microsoft.VisualStudio.DataTools.Providers.SqlServer.SqlStoredProcedureColumnEnumerator"/>
+ <Action guid="61CC0372-384D-42e5-9707-6D7C8DC5287A" name="Enumerate"
handler="MySql.Data.VisualStudio.StoredProcedureColumnEnumerator"/>
</Actions>
- </Type>
-
+ </Type>
+
<!-- Stored procedure parameter -->
<Type name="StoredProcedureParameter" defaultSort="Database, Schema,
StoredProcedure, Ordinal" minSourceVersion="5.0.0">
<Concepts>
@@ -706,7 +698,7 @@
</Property>
<Property name="SystemType" type="System.String" itemName="DATA_TYPE">
<Concepts>
- <Concept name="NativeDataType"/>
+<!-- <Concept name="NativeDataType"/>-->
<Concept name="ProviderDataType">
<Conversion
mapper="Microsoft.VisualStudio.Data.AdoDotNet.AdoDotNetObjectConceptMapper"/>
</Concept>
@@ -1095,5 +1087,5 @@
</Action>
</Actions>
</Type>
- </Types>
+ </Types>
</VSDataObjectSupport>
Modified: trunk/VisualStudio/MySqlDataViewSupport.xml
===================================================================
--- trunk/VisualStudio/MySqlDataViewSupport.xml 2007-06-11 20:29:02 UTC (rev 753)
+++ trunk/VisualStudio/MySqlDataViewSupport.xml 2007-06-11 20:38:04 UTC (rev 754)
@@ -621,7 +621,7 @@
<TypeExtension name="StoredProcedure">
<DisplayName resource="Type_StoredProcedure" />
<Identifier>
- <!-- <Part name="Database">
+ <Part name="Database">
<DisplayName resource="DisplayName_Object_Database" />
<Category resource="Category_Identifier" />
<Description resource="Description_Object_Database" />
@@ -639,7 +639,7 @@
<StandardValue value="PROCEDURE" resource="Value_Procedure" />
<StandardValue value="FUNCTION" resource="Value_Function" />
</StandardValues>
- </Part>-->
+ </Part>
<Part name="Name">
<DisplayName resource="DisplayName_Object_Name" />
<Category resource="Category_Identifier" />
| Thread |
|---|
| • Connector/NET commit: r754 - in trunk: . Driver/Source VisualStudio VisualStudio/Enumerators | rburnett | 11 Jun |