Added:
trunk/Installer/Binary/GlobalInstaller.exe
trunk/Installer/register.cmd
trunk/MySql.Data/Provider/Properties/VersionInfo.cs
trunk/MySql.VisualStudio/DDEX/StoredProcedureColumnEnumerator.cs
trunk/MySql.Web/Providers/Properties/Resources.Designer.cs
Modified:
trunk/CHANGES
trunk/MySQL-VS2005.sln
trunk/MySQLClient.sln
trunk/MySql.Data/Provider/MySql.Data.CF.csproj
trunk/MySql.Data/Provider/MySql.Data.csproj
trunk/MySql.Data/Provider/Properties/AssemblyInfo.cs
trunk/MySql.Data/Provider/Properties/Resources.Designer.cs
trunk/MySql.Data/Provider/Properties/Resources.resx
trunk/MySql.Data/Provider/Source/CharSetMap.cs
trunk/MySql.Data/Provider/Source/CompressedStream.cs
trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs
trunk/MySql.Data/Provider/Source/NativeDriver.cs
trunk/MySql.Data/Provider/Source/ProcedureCache.cs
trunk/MySql.Data/Provider/Source/SchemaProvider.cs
trunk/MySql.Data/Provider/Source/StoredProcedure.cs
trunk/MySql.Data/Provider/Source/Types/MySqlString.cs
trunk/MySql.Data/Tests/MySql.Data.Tests.csproj
trunk/MySql.Data/Tests/Properties/AssemblyInfo.cs
trunk/MySql.Data/Tests/Source/GetSchemaTests.cs
trunk/MySql.Data/Tests/Source/StoredProcedure.cs
trunk/MySql.VisualStudio/DbObjects/Column.cs
trunk/MySql.VisualStudio/DbObjects/ForeignKey.cs
trunk/MySql.VisualStudio/DbObjects/Index.cs
trunk/MySql.VisualStudio/DbObjects/Table.cs
trunk/MySql.VisualStudio/DbObjects/TablePartCollection.cs
trunk/MySql.VisualStudio/Editors/IndexColumnEditorDialog.cs
trunk/MySql.VisualStudio/Editors/TextBufferEditor.cs
trunk/MySql.VisualStudio/LanguageService/Tokenizer.cs
trunk/MySql.VisualStudio/MySql.VisualStudio.csproj
trunk/MySql.VisualStudio/Nodes/BaseNode.cs
trunk/MySql.VisualStudio/Nodes/DocumentNode.cs
trunk/MySql.VisualStudio/Properties/AssemblyInfo.cs
trunk/MySql.Web/Providers/MySql.Web.csproj
trunk/MySql.Web/Providers/Properties/AssemblyInfo.cs
trunk/MySql.Web/Providers/Source/Application.cs
trunk/MySql.Web/Providers/Source/RoleProvider.cs
trunk/MySql.Web/Tests/MySql.Web.Tests.csproj
trunk/MySql.Web/Tests/Properties/AssemblyInfo.cs
Log:
merged
Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/CHANGES 2009-05-18 21:35:46 UTC (rev 1611)
@@ -1,3 +1,7 @@
+Version 6.0.4
+- fixed regression where using stored procs with datasets (bug #44460)
+- fixed compilation under VS 2005 (bug #44822)
+
Version 6.0.3 - 4/22/09
- fixed broken connection prompting
- fixed installer that was no longer referencing the right folders for Visual Studio assemblies [bug #44141]
@@ -32,6 +36,21 @@
- fixed membership provider so that calling GetPassword with an incorrect password will throw the appropriate exception (bug #38939)
- Implemented initial entity framework support
+Version 5.2.7
+- fixed procedure parameters collection so that an exception is thrown if we can't get the
+ parameters. Also used this to optimize the procedure cache optimization
+- Added "nvarchar" and "nchar" to possible data types returned by the DataSourceInformation
+ schema collection so procs that use those types with parameters will work (bug #39409)
+- fixed problem where the connector would incorrectly report the length of utf8 columns on servers
+ 6.0 and later. This was caused by 6.0 now using 4 bytes for utf8 columns
+- fixed bug in role provider that was causing it to not correctly fetch the application
+ id which caused it to incorrectly report roles (bug #44414)
+- fixed Visual Studio 2005 solution so that it builds
+- fixed potential endless loop in CompressedStream in case where end of stream occurs before
+ packet is fully read (bug #43678)
+- fixed ReservedWords schema collection to not incorrectly include blank words and to use the
+ right column name
+
Version 5.2.6
- cleaned up how stored procedure execution operated when the user does or does not have execute privs
on the routine (bug #40139)
Copied: trunk/Installer/Binary/GlobalInstaller.exe (from rev 1610, branches/6.0/Installer/Binary/GlobalInstaller.exe)
===================================================================
(Binary files differ)
Copied: trunk/Installer/register.cmd (from rev 1610, branches/6.0/Installer/register.cmd)
===================================================================
--- trunk/Installer/register.cmd (rev 0)
+++ trunk/Installer/register.cmd 2009-05-18 21:35:46 UTC (rev 1611)
@@ -0,0 +1,8 @@
+echo off
+gacutil /u mysql.data
+gacutil /u mysql.web
+gacutil /i MySql.Data\provider\bin\debug\mysql.data.dll
+installutil mysql.data\provider\bin\debug\mysql.data.dll
+gacutil /i MySql.Web\providers\bin\debug\mysql.web.dll
+installutil mysql.web\providers\bin\debug\mysql.web.dll
+installer\binary\globalinstaller mysql.visualstudio\bin\debug\mysql.visualstudio.dll version=VS2008 debug=true
Modified: trunk/MySQL-VS2005.sln
===================================================================
--- trunk/MySQL-VS2005.sln 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySQL-VS2005.sln 2009-05-18 21:35:46 UTC (rev 1611)
@@ -1,20 +1,18 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data", "Driver\MySql.Data.csproj", "{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web", "MySql.Web\Providers\MySql.Web.csproj", "{C28B1166-1380-445D-AEC1-8A18B990DD18}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.CF", "Driver\MySql.Data.CF.csproj", "{587A47FB-C1CC-459D-93B6-179D95E41EFB}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web.Tests", "MySql.Web\Tests\MySql.Web.Tests.csproj", "{DC704374-EC50-4167-93AA-8D262136502E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Tests", "TestSuite\MySql.Data.Tests.csproj", "{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data", "MySql.Data\Provider\MySql.Data.csproj", "{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Tests.CF", "TestSuite\MySql.Data.Tests.CF.csproj", "{710D9251-17A3-4429-9A91-63F03267F310}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.CF", "MySql.Data\Provider\MySql.Data.CF.csproj", "{587A47FB-C1CC-459D-93B6-179D95E41EFB}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web", "MySql.Web\Providers\MySql.Web.csproj", "{C28B1166-1380-445D-AEC1-8A18B990DD18}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Tests", "MySql.Data\Tests\MySql.Data.Tests.csproj", "{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web.Tests", "MySql.Web\Tests\MySql.Web.Tests.csproj", "{DC704374-EC50-4167-93AA-8D262136502E}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.VisualStudio", "MySql.VisualStudio\MySql.VisualStudio.csproj", "{DC3517FF-AC26-4755-9B7A-EF658FF69593}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.VisualStudio", "VisualStudio\MySql.VisualStudio.csproj", "{DC3517FF-AC26-4755-9B7A-EF658FF69593}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET 2.0 = Debug|.NET 2.0
@@ -27,15 +25,33 @@
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|.NET 2.0.ActiveCfg = Debug|.NET 2.0
- {E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|.NET 2.0.Build.0 = Debug|.NET 2.0
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|.NET 2.0.ActiveCfg = Debug|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|.NET 2.0.ActiveCfg = Release|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x64.ActiveCfg = Release|Any CPU
+ {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x86.ActiveCfg = Release|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Debug|.NET 2.0.ActiveCfg = Debug|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Release|.NET 2.0.ActiveCfg = Release|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Release|x64.ActiveCfg = Release|Any CPU
+ {DC704374-EC50-4167-93AA-8D262136502E}.Release|x86.ActiveCfg = Release|Any CPU
+ {E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|.NET 2.0.ActiveCfg = Debug|x86
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x64.ActiveCfg = Debug|x86
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x86.ActiveCfg = Debug|x86
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x86.Build.0 = Debug|x86
- {E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|.NET 2.0.ActiveCfg = Release|.NET 2.0
- {E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|.NET 2.0.Build.0 = Release|.NET 2.0
+ {E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|.NET 2.0.ActiveCfg = Release|x86
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Any CPU.Build.0 = Release|Any CPU
{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|x64.ActiveCfg = Release|x86
@@ -61,36 +77,6 @@
{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Any CPU.Build.0 = Release|Any CPU
{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|x64.ActiveCfg = Release|Any CPU
{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|x86.ActiveCfg = Release|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Debug|.NET 2.0.ActiveCfg = Debug|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Debug|x64.ActiveCfg = Debug|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Debug|x86.ActiveCfg = Debug|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Release|.NET 2.0.ActiveCfg = Release|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Release|Any CPU.Build.0 = Release|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Release|x64.ActiveCfg = Release|Any CPU
- {710D9251-17A3-4429-9A91-63F03267F310}.Release|x86.ActiveCfg = Release|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|.NET 2.0.ActiveCfg = Debug|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x64.ActiveCfg = Debug|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x86.ActiveCfg = Debug|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|.NET 2.0.ActiveCfg = Release|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.Build.0 = Release|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x64.ActiveCfg = Release|Any CPU
- {C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x86.ActiveCfg = Release|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Debug|.NET 2.0.ActiveCfg = Debug|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Release|.NET 2.0.ActiveCfg = Release|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.Build.0 = Release|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Release|x64.ActiveCfg = Release|Any CPU
- {DC704374-EC50-4167-93AA-8D262136502E}.Release|x86.ActiveCfg = Release|Any CPU
{DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|.NET 2.0.ActiveCfg = Debug|x64
{DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|Any CPU.Build.0 = Debug|Any CPU
Modified: trunk/MySQLClient.sln
===================================================================
--- trunk/MySQLClient.sln 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySQLClient.sln 2009-05-18 21:35:46 UTC (rev 1611)
@@ -13,7 +13,7 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.CF.Tests", "MySql.Data\Tests\MySql.Data.CF.Tests.csproj", "{710D9251-17A3-4429-9A91-63F03267F310}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.VisualStudio", "MySql.VisualStudio\MySql.VisualStudio.csproj", "{E7E48744-7BB3-463E-9A9A-7B4553D79C0E}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.VisualStudio", "MySql.VisualStudio\MySql.VisualStudio.csproj", "{DC3517FF-AC26-4755-9B7A-EF658FF69593}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Entity", "MySql.Data.Entity\Provider\MySql.Data.Entity.csproj", "{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}"
EndProject
@@ -185,30 +185,30 @@
{710D9251-17A3-4429-9A91-63F03267F310}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{710D9251-17A3-4429-9A91-63F03267F310}.Release|x64.ActiveCfg = Release|Any CPU
{710D9251-17A3-4429-9A91-63F03267F310}.Release|x86.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Commercial|Any CPU.Build.0 = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Commercial|x64.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Commercial|x86.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.GPL|Any CPU.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.GPL|Any CPU.Build.0 = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.GPL|x64.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.GPL|x86.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Release|Any CPU.Build.0 = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Release|x64.ActiveCfg = Release|Any CPU
- {E7E48744-7BB3-463E-9A9A-7B4553D79C0E}.Release|x86.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Commercial|Any CPU.Build.0 = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Commercial|x64.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Commercial|x86.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.GPL|Any CPU.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.GPL|Any CPU.Build.0 = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.GPL|x64.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.GPL|x86.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Release|x64.ActiveCfg = Release|Any CPU
+ {DC3517FF-AC26-4755-9B7A-EF658FF69593}.Release|x86.ActiveCfg = Release|Any CPU
{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|Any CPU.Build.0 = Release|Any CPU
{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -264,6 +264,7 @@
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Commercial|x86.Build.0 = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Debug|Any CPU.ActiveCfg = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Debug|Mixed Platforms.ActiveCfg = Commercial|x86
+ {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Debug|Mixed Platforms.Build.0 = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Debug|x64.ActiveCfg = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Debug|x86.ActiveCfg = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Debug|x86.Build.0 = Commercial|x86
@@ -275,6 +276,7 @@
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.GPL|x86.Build.0 = GPL|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Release|Any CPU.ActiveCfg = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Release|Mixed Platforms.ActiveCfg = Commercial|x86
+ {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Release|Mixed Platforms.Build.0 = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Release|x64.ActiveCfg = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Release|x86.ActiveCfg = Commercial|x86
{F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Release|x86.Build.0 = Commercial|x86
Modified: trunk/MySql.Data/Provider/MySql.Data.CF.csproj
===================================================================
--- trunk/MySql.Data/Provider/MySql.Data.CF.csproj 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/MySql.Data.CF.csproj 2009-05-18 21:35:46 UTC (rev 1611)
@@ -60,6 +60,7 @@
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs" />
+ <Compile Include="Properties\VersionInfo.cs" />
<Compile Include="Source\base\DbConnectionStringBuilder.cs" />
<Compile Include="Source\base\DbException.cs" />
<Compile Include="Source\cf\BufferedStream.cs" />
Modified: trunk/MySql.Data/Provider/MySql.Data.csproj
===================================================================
--- trunk/MySql.Data/Provider/MySql.Data.csproj 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/MySql.Data.csproj 2009-05-18 21:35:46 UTC (rev 1611)
@@ -218,6 +218,7 @@
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
+ <Compile Include="Properties\VersionInfo.cs" />
<Compile Include="Source\common\Cache.cs" />
<Compile Include="Source\common\MySqlTokenizer.cs" />
<Compile Include="Source\BulkLoader.cs" />
Modified: trunk/MySql.Data/Provider/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MySql.Data/Provider/Properties/AssemblyInfo.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Properties/AssemblyInfo.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -44,18 +44,7 @@
#else
[assembly: AssemblyTitle("MySql.Data.CF.dll")]
#endif
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("6.0.3")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
Modified: trunk/MySql.Data/Provider/Properties/Resources.Designer.cs
===================================================================
--- trunk/MySql.Data/Provider/Properties/Resources.Designer.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Properties/Resources.Designer.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -727,6 +727,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Unable to retrieve stored routine parameters. Either grant access to the routine or add the 'Use Procedure Bodies=false' option to your connection string..
+ /// </summary>
+ public static string UnableToRetrieveParameters {
+ get {
+ return ResourceManager.GetString("UnableToRetrieveParameters", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Unable to retrieve stored procedure metadata. Either grant SELECT privilege to mysql.proc for this user or use "use procedure bodies=false" with your connection string..
/// </summary>
public static string UnableToRetrieveSProcData {
Modified: trunk/MySql.Data/Provider/Properties/Resources.resx
===================================================================
--- trunk/MySql.Data/Provider/Properties/Resources.resx 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Properties/Resources.resx 2009-05-18 21:35:46 UTC (rev 1611)
@@ -345,6 +345,9 @@
<data name="ValueNotSupportedForGuid" xml:space="preserve">
<value>The requested column value could not be treated as or conveted to a Guid.</value>
</data>
+ <data name="UnableToRetrieveParameters" xml:space="preserve">
+ <value>Unable to retrieve stored routine parameters. Either grant access to the routine or add the 'Use Procedure Bodies=false' option to your connection string.</value>
+ </data>
<data name="UnableToEnumerateUDF" xml:space="preserve">
<value>An error occured attempting to enumerate the user-defined functions. Do you have SELECT privileges on the mysql.func table?</value>
</data>
Copied: trunk/MySql.Data/Provider/Properties/VersionInfo.cs (from rev 1610, branches/6.0/MySql.Data/Provider/Properties/VersionInfo.cs)
===================================================================
--- trunk/MySql.Data/Provider/Properties/VersionInfo.cs (rev 0)
+++ trunk/MySql.Data/Provider/Properties/VersionInfo.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -0,0 +1,39 @@
+// Copyright (C) 2004-2007 MySQL AB
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation
+//
+// There are special exceptions to the terms and conditions of the GPL
+// as it is applied to this software. View the full text of the
+// exception in file EXCEPTIONS in the directory of this software
+// distribution.
+//
+// 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 General Public License for more details.
+//
+// You should have received a copy of the GNU 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.Reflection;
+using System.Runtime.InteropServices;
+using System.Runtime.CompilerServices;
+using System.Security;
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("6.1.0")]
+
Modified: trunk/MySql.Data/Provider/Source/CharSetMap.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/CharSetMap.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/CharSetMap.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -51,7 +51,7 @@
InitializeMapping();
}
- public static CharacterSet GetChararcterSet(DBVersion version, string CharSetName)
+ public static CharacterSet GetCharacterSet(DBVersion version, string CharSetName)
{
CharacterSet cs = (CharacterSet) mapping[CharSetName];
if (cs == null)
@@ -69,7 +69,7 @@
{
try
{
- CharacterSet cs = GetChararcterSet(version, CharSetName);
+ CharacterSet cs = GetCharacterSet(version, CharSetName);
return Encoding.GetEncoding(cs.name);
}
catch (NotSupportedException)
Modified: trunk/MySql.Data/Provider/Source/CompressedStream.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/CompressedStream.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/CompressedStream.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -37,6 +37,7 @@
// reading fields
private byte[] localByte;
private byte[] inBuffer;
+ private byte[] lengthBytes;
private WeakReference inBufferRef;
private int inPos;
private int maxInPos;
@@ -46,6 +47,7 @@
{
this.baseStream = baseStream;
localByte = new byte[1];
+ lengthBytes = new byte[7];
cache = new MemoryStream();
inBufferRef = new WeakReference(inBuffer, false);
}
@@ -94,8 +96,15 @@
public override int ReadByte()
{
- Read(localByte, 0, 1);
- return localByte[0];
+ try
+ {
+ Read(localByte, 0, 1);
+ return localByte[0];
+ }
+ catch (EndOfStreamException)
+ {
+ return -1;
+ }
}
public override int Read(byte[] buffer, int offset, int count)
@@ -131,16 +140,12 @@
private void PrepareNextPacket()
{
- // read off the uncompressed and compressed lengths
- byte b1 = (byte) baseStream.ReadByte();
- byte b2 = (byte) baseStream.ReadByte();
- byte b3 = (byte) baseStream.ReadByte();
- int compressedLength = b1 + (b2 << 8) + (b3 << 16);
+ ReadFully(lengthBytes, 7);
+ int compressedLength = lengthBytes[0] + (lengthBytes[1] << 8) + (lengthBytes[2] << 16);
+ // lengthBytes[3] is seq
+ int unCompressedLength = lengthBytes[4] + (lengthBytes[5] << 8) +
+ (lengthBytes[6] << 16);
- baseStream.ReadByte(); // seq
- int unCompressedLength = baseStream.ReadByte() + (baseStream.ReadByte() << 8) +
- (baseStream.ReadByte() << 16);
-
if (unCompressedLength == 0)
{
unCompressedLength = compressedLength;
@@ -163,11 +168,20 @@
inBuffer = (byte[])inBufferRef.Target;
if (inBuffer == null || inBuffer.Length < len)
inBuffer = new byte[len];
+ ReadFully(inBuffer, len);
+ }
+
+ private void ReadFully(byte[] buffer, int len)
+ {
int numRead = 0;
int numToRead = len;
while (numToRead > 0)
{
- int read = baseStream.Read(inBuffer, numRead, numToRead);
+ int read = baseStream.Read(buffer, numRead, numToRead);
+ if (read == 0)
+ {
+ throw new EndOfStreamException();
+ }
numRead += read;
numToRead -= read;
}
Modified: trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -303,6 +303,34 @@
return parms;
}
+ internal DataTable CreateParametersTable()
+ {
+ DataTable dt = new DataTable("Procedure Parameters");
+ dt.Columns.Add("SPECIFIC_CATALOG", typeof(string));
+ dt.Columns.Add("SPECIFIC_SCHEMA", typeof(string));
+ dt.Columns.Add("SPECIFIC_NAME", typeof(string));
+ dt.Columns.Add("ORDINAL_POSITION", typeof(Int32));
+ dt.Columns.Add("PARAMETER_MODE", typeof(string));
+ dt.Columns.Add("PARAMETER_NAME", typeof(string));
+ dt.Columns.Add("DATA_TYPE", typeof(string));
+ dt.Columns.Add("CHARACTER_MAXIMUM_LENGTH", typeof(Int32));
+ dt.Columns.Add("CHARACTER_OCTET_LENGTH", typeof(Int32));
+ dt.Columns.Add("NUMERIC_PRECISION", typeof(byte));
+ dt.Columns.Add("NUMERIC_SCALE", typeof(Int32));
+ 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));
+ return dt;
+ }
+
+ internal bool CanRetrieveProcedureParameters()
+ {
+ if (connection.driver.Version.isAtLeast(6, 0, 6) ||
+ connection.Settings.UseProcedureBodies) return true;
+ return false;
+ }
+
/// <summary>
/// Return schema information about parameters for procedures and functions
/// Restrictions supported are:
@@ -313,28 +341,14 @@
{
if (connection.driver.Version.isAtLeast(6, 0, 6))
return GetParametersFromIS(restrictions, routines);
- else
+ else if (connection.Settings.UseProcedureBodies)
{
- DataTable dt = new DataTable("Procedure Parameters");
- dt.Columns.Add("SPECIFIC_CATALOG", typeof(string));
- dt.Columns.Add("SPECIFIC_SCHEMA", typeof(string));
- dt.Columns.Add("SPECIFIC_NAME", typeof(string));
- dt.Columns.Add("ORDINAL_POSITION", typeof(Int32));
- dt.Columns.Add("PARAMETER_MODE", typeof(string));
- dt.Columns.Add("PARAMETER_NAME", typeof(string));
- dt.Columns.Add("DATA_TYPE", typeof(string));
- dt.Columns.Add("CHARACTER_MAXIMUM_LENGTH", typeof(Int32));
- dt.Columns.Add("CHARACTER_OCTET_LENGTH", typeof(Int32));
- dt.Columns.Add("NUMERIC_PRECISION", typeof(byte));
- dt.Columns.Add("NUMERIC_SCALE", typeof(Int32));
- 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));
+ DataTable dt = CreateParametersTable();
GetParametersFromShowCreate(dt, restrictions, routines);
-
return dt;
}
+ else
+ throw new InvalidOperationException(Resources.UnableToRetrieveParameters);
}
protected override DataTable GetSchemaInternal(string collection, string[] restrictions)
Modified: trunk/MySql.Data/Provider/Source/NativeDriver.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/NativeDriver.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/NativeDriver.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -29,6 +29,7 @@
#if !CF
using System.Net.Security;
using System.Security.Authentication;
+using System.Globalization;
#endif
namespace MySql.Data.MySqlClient
@@ -729,8 +730,14 @@
if (charSets != null && field.CharacterSetIndex != -1)
{
- CharacterSet cs = CharSetMap.GetChararcterSet(Version, (string) charSets[field.CharacterSetIndex]);
- field.MaxLength = cs.byteCount;
+ CharacterSet cs = CharSetMap.GetCharacterSet(Version, (string) charSets[field.CharacterSetIndex]);
+ // starting with 6.0.4 utf8 has a maxlen of 4 instead of 3. The old
+ // 3 byte utf8 is utf8mb3
+ if (cs.name.ToLower(System.Globalization.CultureInfo.InvariantCulture) == "utf-8" &&
+ Version.Major >= 6)
+ field.MaxLength = 4;
+ else
+ field.MaxLength = cs.byteCount;
field.Encoding = CharSetMap.GetEncoding(version, (string) charSets[field.CharacterSetIndex]);
}
Modified: trunk/MySql.Data/Provider/Source/ProcedureCache.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/ProcedureCache.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/ProcedureCache.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -125,16 +125,20 @@
if (procTable.Rows.Count == 0)
throw new MySqlException(String.Format(Resources.InvalidProcName, name, schema));
+ DataSet ds = new DataSet();
+ ds.Tables.Add(procTable);
+
// we don't use GetSchema here because that would cause another
// query of procedures and we don't need that since we already
// know the procedure we care about.
ISSchemaProvider isp = new ISSchemaProvider(connection);
string[] rest = isp.CleanRestrictions(restrictions);
- DataTable parametersTable = isp.GetProcedureParameters(rest, procTable);
+ if (isp.CanRetrieveProcedureParameters())
+ {
+ DataTable parametersTable = isp.GetProcedureParameters(rest, procTable);
+ ds.Tables.Add(parametersTable);
+ }
- DataSet ds = new DataSet();
- ds.Tables.Add(procTable);
- ds.Tables.Add(parametersTable);
return ds;
}
}
Modified: trunk/MySql.Data/Provider/Source/SchemaProvider.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/SchemaProvider.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/SchemaProvider.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -823,7 +823,7 @@
private static DataTable GetReservedWords()
{
DataTable dt = new DataTable("ReservedWords");
- dt.Columns.Add(new DataColumn("Reserved Word", typeof (string)));
+ dt.Columns.Add(new DataColumn(DbMetaDataColumnNames.ReservedWord, typeof(string)));
Stream str = Assembly.GetExecutingAssembly().GetManifestResourceStream(
"MySql.Data.MySqlClient.Properties.ReservedWords.txt");
@@ -834,6 +834,7 @@
string[] keywords = line.Split(new char[] {' '});
foreach (string s in keywords)
{
+ if (String.IsNullOrEmpty(s)) continue;
DataRow row = dt.NewRow();
row[0] = s;
dt.Rows.Add(row);
Modified: trunk/MySql.Data/Provider/Source/StoredProcedure.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/StoredProcedure.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/StoredProcedure.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -64,25 +64,17 @@
private DataSet GetParameters(string procName)
{
// if we can use mysql.proc, then do so
- if (Connection.Settings.UseProcedureBodies)
- return Connection.ProcedureCache.GetProcedure(Connection, procName);
+ //if (Connection.Settings.UseProcedureBodies)
+ DataSet ds = Connection.ProcedureCache.GetProcedure(Connection, procName);
- // we can't use mysql.proc so we attempt to "make do"
- DataSet ds = new DataSet();
- string[] restrictions = new string[4];
- int dotIndex = procName.IndexOf('.');
- restrictions[1] = procName.Substring(0, dotIndex++);
- restrictions[2] = procName.Substring(dotIndex, procName.Length - dotIndex);
- ds.Tables.Add(Connection.GetSchema("procedures", restrictions));
+ // if we got both proc and parameter data then just return
+ if (ds.Tables.Count == 2) return ds;
- // we use an internal method to create our procedure parameters table. We pass
- // in a non-null routines table and this will prevent the code from attempting
- // a show create. It will process zero routine records but will return an empty
- // parameters table we can then fill.
- DataTable zeroRoutines = new DataTable();
+ // we were not able to retrieve parameter data so we have to make do by
+ // adding the parameters from the command object to our table
+ // we use an internal method to create our procedure parameters table.
ISSchemaProvider sp = new ISSchemaProvider(Connection);
- DataTable pTable = sp.GetProcedureParameters(null, zeroRoutines);
- pTable.TableName = "procedure parameters";
+ DataTable pTable = sp.CreateParametersTable();
ds.Tables.Add(pTable);
// now we run through the parameters that were set and fill in the parameters table
Modified: trunk/MySql.Data/Provider/Source/Types/MySqlString.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/Types/MySqlString.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Provider/Source/Types/MySqlString.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -122,11 +122,12 @@
internal static void SetDSInfo(DataTable dsTable)
{
- string[] types = new string[] { "CHAR", "VARCHAR", "SET", "ENUM",
- "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT" };
- MySqlDbType[] dbtype = new MySqlDbType[] { MySqlDbType.String,
- MySqlDbType.VarChar, MySqlDbType.Set, MySqlDbType.Enum, MySqlDbType.TinyText,
- MySqlDbType.Text, MySqlDbType.MediumText, MySqlDbType.LongText };
+ string[] types = new string[] { "CHAR", "NCHAR", "VARCHAR", "NVARCHAR", "SET",
+ "ENUM", "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT" };
+ MySqlDbType[] dbtype = new MySqlDbType[] { MySqlDbType.String, MySqlDbType.String,
+ MySqlDbType.VarChar, MySqlDbType.VarChar, MySqlDbType.Set, MySqlDbType.Enum,
+ MySqlDbType.TinyText, MySqlDbType.Text, MySqlDbType.MediumText,
+ MySqlDbType.LongText };
// we use name indexing because this method will only be called
// when GetSchema is called for the DataSourceInformation
@@ -137,8 +138,8 @@
row["TypeName"] = types[x];
row["ProviderDbType"] = dbtype[x];
row["ColumnSize"] = 0;
- row["CreateFormat"] = x < 2 ? types[x] + "({0})" : types[x];
- row["CreateParameters"] = x < 2 ? "size" : null;
+ row["CreateFormat"] = x < 4 ? types[x] + "({0})" : types[x];
+ row["CreateParameters"] = x < 4 ? "size" : null;
row["DataType"] = "System.String";
row["IsAutoincrementable"] = false;
row["IsBestMatch"] = true;
Modified: trunk/MySql.Data/Tests/MySql.Data.Tests.csproj
===================================================================
--- trunk/MySql.Data/Tests/MySql.Data.Tests.csproj 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Tests/MySql.Data.Tests.csproj 2009-05-18 21:35:46 UTC (rev 1611)
@@ -36,7 +36,7 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
- <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" />
+ <Reference Include="nunit.framework" />
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Data" />
@@ -44,6 +44,9 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="..\Provider\Properties\VersionInfo.cs">
+ <Link>Properties\VersionInfo.cs</Link>
+ </Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Source\AsyncTests.cs" />
<Compile Include="Source\BaseTest.cs" />
Modified: trunk/MySql.Data/Tests/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MySql.Data/Tests/Properties/AssemblyInfo.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Tests/Properties/AssemblyInfo.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -36,18 +36,6 @@
[assembly: AssemblyCulture("")]
//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("6.0.3")]
-//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
Modified: trunk/MySql.Data/Tests/Source/GetSchemaTests.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/GetSchemaTests.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Tests/Source/GetSchemaTests.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -624,5 +624,13 @@
Assert.AreEqual("test1", dt.Rows[0][2]);
Assert.AreEqual("`test1`", restrictions[2]);
}
+
+ [Test]
+ public void ReservedWords()
+ {
+ DataTable dt = conn.GetSchema("ReservedWords");
+ foreach (DataRow row in dt.Rows)
+ Assert.IsFalse(String.IsNullOrEmpty(row[0] as string));
+ }
}
}
Modified: trunk/MySql.Data/Tests/Source/StoredProcedure.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/StoredProcedure.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Data/Tests/Source/StoredProcedure.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -118,6 +118,7 @@
public StoredProcedure()
{
+ pooling = false;
csAdditions = ";procedure cache size=0;logging=true;";
}
@@ -1419,5 +1420,35 @@
Assert.AreEqual(1, o);
}
}
+
+ [Test]
+ public void ParametersInReverseOrder()
+ {
+ execSQL(@"CREATE PROCEDURE spTest(IN p_1 VARCHAR(5), IN p_2 VARCHAR(5))
+ BEGIN SELECT p_1 AS P1, p_2 AS P2; END");
+ MySqlCommand cmd = new MySqlCommand("spTest", conn);
+ cmd.CommandType = CommandType.StoredProcedure;
+ cmd.CommandTimeout = 0;
+ cmd.Parameters.AddWithValue("?p_2", ("World"));
+ cmd.Parameters[0].DbType = DbType.AnsiString;
+ cmd.Parameters[0].Direction = ParameterDirection.Input;
+ cmd.Parameters.AddWithValue("?p_1", ("Hello"));
+ cmd.Parameters[1].DbType = DbType.AnsiString;
+ cmd.Parameters[1].Direction = ParameterDirection.Input;
+ MySqlDataAdapter da = new MySqlDataAdapter(cmd);
+ DataTable dt = new DataTable();
+ da.Fill(dt);
+ string s = GetConnectionString(true);
+ if (s.IndexOf("use procedure bodies=false") != -1)
+ {
+ Assert.AreEqual("World", dt.Rows[0]["P1"]);
+ Assert.AreEqual("Hello", dt.Rows[0]["P2"]);
+ }
+ else
+ {
+ Assert.AreEqual("Hello", dt.Rows[0]["P1"]);
+ Assert.AreEqual("World", dt.Rows[0]["P2"]);
+ }
+ }
}
}
Copied: trunk/MySql.VisualStudio/DDEX/StoredProcedureColumnEnumerator.cs (from rev 1610, branches/6.0/MySql.VisualStudio/DDEX/StoredProcedureColumnEnumerator.cs)
===================================================================
--- trunk/MySql.VisualStudio/DDEX/StoredProcedureColumnEnumerator.cs (rev 0)
+++ trunk/MySql.VisualStudio/DDEX/StoredProcedureColumnEnumerator.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -0,0 +1,87 @@
+// 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)
+ {
+ DbConnection conn = (DbConnection)Connection.GetLockedProviderObject();
+ try
+ {
+ string spName = String.Format("{0}.{1}", restrictions[1], restrictions[2]);
+
+ if (conn.State != ConnectionState.Open)
+ conn.Open();
+
+ string[] parmRest = new string[5];
+ parmRest[1] = (string)restrictions[1];
+ parmRest[2] = (string)restrictions[2];
+ parmRest[3] = (string)restrictions[3];
+ DataTable parmTable = conn.GetSchema("Procedure Parameters", parmRest);
+
+ DbCommand cmd = conn.CreateCommand();
+ cmd.CommandText = spName;
+ cmd.CommandType = CommandType.StoredProcedure;
+
+ foreach (DataRow row in parmTable.Rows)
+ {
+ if (row["ORDINAL_POSITION"].Equals(0)) continue;
+
+ DbParameter p = cmd.CreateParameter();
+ p.ParameterName = row["PARAMETER_NAME"].ToString();
+ p.Value = GetDefaultValue(row["DATA_TYPE"].ToString());
+ cmd.Parameters.Add(p);
+ }
+
+ using (IDataReader reader = cmd.ExecuteReader(CommandBehavior.SchemaOnly))
+ {
+ DataTable dt = reader.GetSchemaTable();
+ dt.Columns.Add(new DataColumn("RoutineName", typeof(string)));
+ foreach (DataRow row in dt.Rows)
+ {
+ row["RoutineName"] = restrictions[2];
+ string basedb = row["BaseSchemaName"] as string;
+ if (String.IsNullOrEmpty(basedb) || row["BaseSchemaName"] == DBNull.Value)
+ row["BaseSchemaName"] = cmd.Connection.Database;
+ }
+
+ return new AdoDotNetDataTableReader(dt);
+ }
+ }
+ finally
+ {
+ Connection.UnlockProviderObject();
+ }
+ }
+
+ private object GetDefaultValue(string dataType)
+ {
+ if (dataType == "VARCHAR" || dataType == "VARBINARY" ||
+ dataType == "ENUM" || dataType == "SET" || dataType == "CHAR")
+ return "";
+ return 0;
+ }
+ }
+}
Modified: trunk/MySql.VisualStudio/DbObjects/Column.cs
===================================================================
--- trunk/MySql.VisualStudio/DbObjects/Column.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/DbObjects/Column.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -48,52 +48,98 @@
#region Properties
[Browsable(false)]
- internal Table OwningTable { get; set; }
+ internal Table OwningTable;
+ private string _columnName;
[Category("General")]
[Description("The name of this column")]
- public string ColumnName { get; set; }
+ public string ColumnName
+ {
+ get { return _columnName; }
+ set { _columnName = value; }
+ }
+ private string _dataType;
[Category("General")]
[DisplayName("Data Type")]
[TypeConverter(typeof(DataTypeConverter))]
[RefreshProperties(RefreshProperties.All)]
- public string DataType { get; set; }
+ public string DataType
+ {
+ get { return _dataType; }
+ set { _dataType = value; }
+ }
+ private bool _allowNull;
[TypeConverter(typeof(YesNoTypeConverter))]
[Category("Options")]
[DisplayName("Allow Nulls")]
- public bool AllowNull { get; set; }
+ public bool AllowNull
+ {
+ get { return _allowNull; }
+ set { _allowNull = value; }
+ }
+ private bool _isUnsigned;
[TypeConverter(typeof(YesNoTypeConverter))]
[Category("Options")]
[DisplayName("Is Unsigned")]
- public bool IsUnsigned { get; set; }
+ public bool IsUnsigned
+ {
+ get { return _isUnsigned; }
+ set { _isUnsigned = value; }
+ }
+ private bool _isZeroFill;
[TypeConverter(typeof(YesNoTypeConverter))]
[Category("Options")]
[DisplayName("Is Zerofill")]
- public bool IsZerofill { get; set; }
+ public bool IsZerofill
+ {
+ get { return _isZeroFill; }
+ set { _isZeroFill = value; }
+ }
+ private string _defaultValue;
[Category("General")]
[DisplayName("Default Value")]
- public string DefaultValue { get; set; }
+ public string DefaultValue
+ {
+ get { return _defaultValue; }
+ set { _defaultValue = value; }
+ }
+ private bool _autoIncrement;
[TypeConverter(typeof(YesNoTypeConverter))]
[Category("Options")]
[DisplayName("Autoincrement")]
- public bool AutoIncrement { get; set; }
+ public bool AutoIncrement
+ {
+ get { return _autoIncrement; }
+ set { _autoIncrement = value; }
+ }
//[TypeConverter(typeof(YesNoTypeConverter))]
//[Category("Options")]
//[DisplayName("Primary Key")]
//[RefreshProperties(RefreshProperties.All)]
[Browsable(false)]
- public bool PrimaryKey { get; set; }
+ public bool PrimaryKey;
- public int Precision { get; set; }
- public int Scale { get; set; }
+ private int _precision;
+ public int Precision
+ {
+ get { return _precision; }
+ set { _precision = value; }
+ }
+ private int _scale;
+ public int Scale
+ {
+ get { return _scale; }
+ set { _scale = value; }
+ }
+
[Category("Encoding")]
[DisplayName("Character Set")]
[TypeConverter(typeof(CharacterSetTypeConverter))]
@@ -108,12 +154,22 @@
}
}
+ private string _collation;
[Category("Encoding")]
[TypeConverter(typeof(CollationTypeConverter))]
- public string Collation { get; set; }
+ public string Collation
+ {
+ get { return _collation; }
+ set { _collation = value; }
+ }
+ private string _comment;
[Category("Miscellaneous")]
- public string Comment { get; set; }
+ public string Comment
+ {
+ get { return _comment; }
+ set { _comment = value; }
+ }
#endregion
Modified: trunk/MySql.VisualStudio/DbObjects/ForeignKey.cs
===================================================================
--- trunk/MySql.VisualStudio/DbObjects/ForeignKey.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/DbObjects/ForeignKey.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -25,6 +25,7 @@
{
bool isNew;
ForeignKey oldFk;
+ Table Table;
private ForeignKey(Table t)
{
@@ -67,19 +68,54 @@
}
}
- private Table Table { get; set; }
- public string Name { get; set; }
- public string ReferencedTable { get; set; }
- public MatchOption Match { get; set; }
- public ReferenceOption UpdateAction { get; set; }
- public ReferenceOption DeleteAction { get; set; }
- public List<FKColumnPair> Columns { get; set; }
+ private string _name;
+ public string Name
+ {
+ get { return _name; }
+ set { _name = value; }
+ }
+ private string _referencedTable;
+ public string ReferencedTable
+ {
+ get { return _referencedTable; }
+ set { _referencedTable = value; }
+ }
+
+ private MatchOption _match;
+ public MatchOption Match
+ {
+ get { return _match; }
+ set { _match = value; }
+ }
+
+ private ReferenceOption _updateAction;
+ public ReferenceOption UpdateAction
+ {
+ get { return _updateAction; }
+ set { _updateAction = value; }
+ }
+
+ private ReferenceOption _deleteAction;
+ public ReferenceOption DeleteAction
+ {
+ get { return _deleteAction; }
+ set { _deleteAction = value; }
+ }
+
+ private List<FKColumnPair> _columns;
+ public List<FKColumnPair> Columns
+ {
+ get { return _columns; }
+ set { _columns = value; }
+ }
+
+ public bool NameSet;
+
public override string ToString()
{
return Name;
}
- public bool NameSet { get; set; }
public void SetName(string name, bool makeUnique)
{
@@ -207,7 +243,7 @@
class FKColumnPair
{
- public string ReferencedColumn { get; set; }
- public string Column { get; set; }
+ public string ReferencedColumn;
+ public string Column;
}
}
Modified: trunk/MySql.VisualStudio/DbObjects/Index.cs
===================================================================
--- trunk/MySql.VisualStudio/DbObjects/Index.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/DbObjects/Index.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -96,14 +96,24 @@
get { return table; }
}
+ private string _name;
[Category("Identity")]
[DisplayName("(Name)")]
[Description("The name of this index/key")]
- public string Name { get; set; }
+ public string Name
+ {
+ get { return _name; }
+ set { _name = value; }
+ }
+ private string _comment;
[Category("Identity")]
[Description("A description or comment about this index/key")]
- public string Comment { get; set; }
+ public string Comment
+ {
+ get { return _comment; }
+ set { _comment = value; }
+ }
[Category("(General)")]
[Description("The columns of this index/key and their associated sort order")]
@@ -114,43 +124,83 @@
get { return indexColumns; }
}
+ private IndexType _indexType;
[Category("(General)")]
[Description("Specifies if this object is an index or key")]
- public IndexType Type { get; set; }
+ public IndexType Type
+ {
+ get { return _indexType; }
+ set { _indexType = value; }
+ }
+ private bool _isUnique;
[Category("(General)")]
[DisplayName("Is Unique")]
[Description("Specifies if this index/key uniquely identifies every row")]
[TypeConverter(typeof(YesNoTypeConverter))]
- public bool IsUnique { get; set; }
+ public bool IsUnique
+ {
+ get { return _isUnique; }
+ set { _isUnique = value; }
+ }
+ private bool _isPrimary;
[Browsable(false)]
- public bool IsPrimary { get; set; }
+ public bool IsPrimary
+ {
+ get { return _isPrimary; }
+ set { _isPrimary = value; }
+ }
+ private IndexUsingType _indexUsing;
[Category("Storage")]
[DisplayName("Index Algorithm")]
[Description("Specifies the algorithm that should be used for storing the index/key")]
- public IndexUsingType IndexUsing { get; set; }
+ public IndexUsingType IndexUsing
+ {
+ get { return _indexUsing; }
+ set { _indexUsing = value; }
+ }
+ private int _keyBlockSize;
[Category("Storage")]
[DisplayName("Key Block Size")]
[Description("Suggested size in bytes to use for index key blocks. A zero value means to use the storage engine default.")]
- public int KeyBlockSize { get; set; }
+ public int KeyBlockSize
+ {
+ get { return _keyBlockSize; }
+ set { _keyBlockSize = value; }
+ }
+ private string _parser;
[Description("Specifies a parser plugin to be used for this index/key. This is only valid for full-text indexes or keys.")]
- public string Parser { get; set; }
+ public string Parser
+ {
+ get { return _parser; }
+ set { _parser = value; }
+ }
+ private bool _fullText;
[DisplayName("Is Full-text Index/Key")]
[Description("Specifies if this is a full-text index or key. This is only supported on MyISAM tables.")]
[TypeConverter(typeof(YesNoTypeConverter))]
[RefreshProperties(RefreshProperties.All)]
- public bool FullText { get; set; }
+ public bool FullText
+ {
+ get { return _fullText; }
+ set { _fullText = value; }
+ }
+ private bool _spatial;
[DisplayName("Is Spatial Index/Key")]
[Description("Specifies if this is a spatial index or key. This is only supported on MyISAM tables.")]
[TypeConverter(typeof(YesNoTypeConverter))]
[RefreshProperties(RefreshProperties.All)]
- public bool Spatial { get; set; }
+ public bool Spatial
+ {
+ get { return _spatial; }
+ set { _spatial = value; }
+ }
#endregion
@@ -382,8 +432,8 @@
class IndexColumn
{
- public Index OwningIndex { get; set; }
- public string ColumnName { get; set; }
- public IndexSortOrder SortOrder { get; set; }
+ public Index OwningIndex;
+ public string ColumnName;
+ public IndexSortOrder SortOrder;
}
}
Modified: trunk/MySql.VisualStudio/DbObjects/Table.cs
===================================================================
--- trunk/MySql.VisualStudio/DbObjects/Table.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/DbObjects/Table.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -38,7 +38,7 @@
}
internal class Table : ICustomTypeDescriptor
- {
+ {
private TableNode owningNode;
internal Table OldTable;
private string characterSet;
@@ -85,14 +85,37 @@
ForeignKeys.Saved();
}
+ private bool _isNew;
[Browsable(false)]
- public bool IsNew { get; private set; }
+ public bool IsNew
+ {
+ get { return _isNew; }
+ private set { _isNew = value; }
+ }
+
+ private TablePartCollection<Column> _columns;
[Browsable(false)]
- public TablePartCollection<Column> Columns { get; private set; }
+ public TablePartCollection<Column> Columns
+ {
+ get { return _columns; }
+ private set { _columns = value; }
+ }
+
+ private TablePartCollection<Index> _indexes;
[Browsable(false)]
- public TablePartCollection<Index> Indexes { get; private set; }
+ public TablePartCollection<Index> Indexes
+ {
+ get { return _indexes; }
+ private set { _indexes = value; }
+ }
+
+ private TablePartCollection<ForeignKey> _foreignKeys;
[Browsable(false)]
- public TablePartCollection<ForeignKey> ForeignKeys { get; private set; }
+ public TablePartCollection<ForeignKey> ForeignKeys
+ {
+ get { return _foreignKeys; }
+ private set { _foreignKeys = value; }
+ }
internal TableNode OwningNode
{
@@ -110,16 +133,31 @@
#region Table options
+ private string _name;
[Category("(Identity)")]
[MyDescription("TableNameDesc")]
- public string Name { get; set; }
+ public string Name
+ {
+ get { return _name; }
+ set { _name = value; }
+ }
+ private string _schema;
[Category("(Identity)")]
[MyDescription("TableSchemaDesc")]
- public string Schema { get; private set; }
+ public string Schema
+ {
+ get { return _schema; }
+ private set { _schema = value; }
+ }
+ private string _comment;
[MyDescription("TableCommentDesc")]
- public string Comment { get; set; }
+ public string Comment
+ {
+ get { return _comment; }
+ set { _comment = value; }
+ }
[Category("Table Options")]
[DisplayName("Character Set")]
@@ -137,88 +175,153 @@
}
}
+ private string _collation;
[Category("Table Options")]
[DisplayName("Collation")]
[TypeConverter(typeof(CollationTypeConverter))]
[MyDescription("TableCollationDesc")]
- public string Collation { get; set; }
+ public string Collation
+ {
+ get { return _collation; }
+ set { _collation = value; }
+ }
+ private ulong _autoInc;
[Category("Table")]
[DisplayName("Auto Increment")]
[MyDescription("TableAutoIncStartDesc")]
- public ulong AutoInc { get; set; }
+ public ulong AutoInc
+ {
+ get { return _autoInc; }
+ set { _autoInc = value; }
+ }
#endregion
#region Storage options
+ private string _engine;
[Category("Storage")]
[DisplayName("Storage Engine")]
[MyDescription("TableEngineDescription")]
[TypeConverter(typeof(TableEngineTypeConverter))]
[RefreshProperties(RefreshProperties.All)]
- public string Engine { get; set; }
+ public string Engine
+ {
+ get { return _engine; }
+ set { _engine = value; }
+ }
+ private string _dataDirectory;
[Category("Storage")]
[DisplayName("Data Directory")]
[MyDescription("TableDataDirDesc")]
- public string DataDirectory { get; set; }
+ public string DataDirectory
+ {
+ get { return _dataDirectory; }
+ set { _dataDirectory = value; }
+ }
+ private string _indexDirectory;
[Category("Storage")]
[DisplayName("Index Directory")]
[MyDescription("TableIndexDirDesc")]
- public string IndexDirectory { get; set; }
+ public string IndexDirectory
+ {
+ get { return _indexDirectory; }
+ set { _indexDirectory = value; }
+ }
#endregion
#region Row options
+ private RowFormat _rowFormat;
[Category("Row")]
[DisplayName("Row Format")]
[MyDescription("TableRowFormatDesc")]
- public RowFormat RowFormat { get; set; }
+ public RowFormat RowFormat
+ {
+ get { return _rowFormat; }
+ set { _rowFormat = value; }
+ }
+ private bool _checkSum;
[Category("Row")]
[DisplayName("Compute Checksum")]
[MyDescription("TableCheckSumDesc")]
[DefaultValue(false)]
[TypeConverter(typeof(YesNoTypeConverter))]
- public bool CheckSum { get; set; }
+ public bool CheckSum
+ {
+ get { return _checkSum; }
+ set { _checkSum = value; }
+ }
+ private ulong _avgRowLength;
[Category("Row")]
[DisplayName("Average Row Length")]
[MyDescription("TableAvgRowLengthDesc")]
[TypeConverter(typeof(NumericTypeConverter))]
- public ulong AvgRowLength { get; set; }
+ public ulong AvgRowLength
+ {
+ get { return _avgRowLength; }
+ set { _avgRowLength = value; }
+ }
+ private ulong _minRows;
[Category("Row")]
[DisplayName("Minimum Rows")]
[MyDescription("TableMinRowsDesc")]
[TypeConverter(typeof(NumericTypeConverter))]
- public ulong MinRows { get; set; }
+ public ulong MinRows
+ {
+ get { return _minRows; }
+ set { _minRows = value; }
+ }
+ private UInt64 _maxRows;
[Category("Row")]
[DisplayName("Maximum Rows")]
[MyDescription("TableMaxRowsDesc")]
[TypeConverter(typeof(NumericTypeConverter))]
- public UInt64 MaxRows { get; set; }
+ public UInt64 MaxRows
+ {
+ get { return _maxRows; }
+ set { _maxRows = value; }
+ }
+ private PackKeysMethod _packKeys;
[Category("Row")]
[DisplayName("Pack Keys")]
[MyDescription("TablePackKeysDesc")]
[DefaultValue(PackKeysMethod.Default)]
- public PackKeysMethod PackKeys { get; set; }
+ public PackKeysMethod PackKeys
+ {
+ get { return _packKeys; }
+ set { _packKeys = value; }
+ }
+ private InsertMethod _insertMethod;
[Category("Row")]
[DisplayName("Insert method")]
[MyDescription("TableInsertMethodDesc")]
[DefaultValue(InsertMethod.First)]
- public InsertMethod InsertMethod { get; set; }
+ public InsertMethod InsertMethod
+ {
+ get { return _insertMethod; }
+ set { _insertMethod = value; }
+ }
+ private bool _delayKeyWrite;
[Category("Row")]
[DisplayName("Delay Key Write")]
[MyDescription("DelayKeyWriteDesc")]
- public bool DelayKeyWrite { get; set; }
+ public bool DelayKeyWrite
+ {
+ get { return _delayKeyWrite; }
+ set { _delayKeyWrite = value; }
+ }
#endregion
Modified: trunk/MySql.VisualStudio/DbObjects/TablePartCollection.cs
===================================================================
--- trunk/MySql.VisualStudio/DbObjects/TablePartCollection.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/DbObjects/TablePartCollection.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -36,7 +36,12 @@
Deleted = new List<T>();
}
- public List<T> Deleted { get; private set; }
+ private List<T> _deleted;
+ public List<T> Deleted
+ {
+ get { return _deleted; }
+ private set { _deleted = value; }
+ }
public void Delete(T t)
{
Modified: trunk/MySql.VisualStudio/Editors/IndexColumnEditorDialog.cs
===================================================================
--- trunk/MySql.VisualStudio/Editors/IndexColumnEditorDialog.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/Editors/IndexColumnEditorDialog.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -198,8 +198,19 @@
public class IndexColumnGridRow
{
- public string ColumnName { get; set; }
- public string SortOrder { get; set; }
+ private string _columnName;
+ public string ColumnName
+ {
+ get { return _columnName; }
+ set { _columnName = value; }
+ }
+
+ private string _sortOrder;
+ public string SortOrder
+ {
+ get { return _sortOrder; }
+ set { _sortOrder = value; }
+ }
}
}
Modified: trunk/MySql.VisualStudio/Editors/TextBufferEditor.cs
===================================================================
--- trunk/MySql.VisualStudio/Editors/TextBufferEditor.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/Editors/TextBufferEditor.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -33,9 +33,20 @@
CreateCodeEditor();
}
- public IVsCodeWindow CodeWindow { get; private set; }
- public IVsTextBuffer TextBuffer { get; private set; }
+ private IVsCodeWindow _codeWindow;
+ public IVsCodeWindow CodeWindow
+ {
+ get { return _codeWindow; }
+ private set { _codeWindow = value; }
+ }
+ private IVsTextBuffer _textBuffer;
+ public IVsTextBuffer TextBuffer
+ {
+ get { return _textBuffer; }
+ private set { _textBuffer = value; }
+ }
+
private void CreateCodeEditor()
{
Guid clsidTextBuffer = typeof(VsTextBufferClass).GUID;
Modified: trunk/MySql.VisualStudio/LanguageService/Tokenizer.cs
===================================================================
--- trunk/MySql.VisualStudio/LanguageService/Tokenizer.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/LanguageService/Tokenizer.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -23,7 +23,18 @@
class Tokenizer
{
private string text;
+ private int Pos;
+ private string LastToken;
+ private int _startIndex;
+ private int _stopIndex;
+ private bool _lineComment;
+ private bool _quoted;
+ public bool AnsiQuotes;
+ public bool BackslashEscapes;
+ public bool ReturnComments;
+ public bool BlockComment;
+
#region Properties
public string Text
@@ -32,17 +43,30 @@
set { text = value; Pos = 0; }
}
- public bool AnsiQuotes { get; set; }
- public bool BackslashEscapes { get; set; }
- public int StartIndex { get; private set; }
- public int StopIndex { get; private set; }
- public bool ReturnComments { get; set; }
- public bool LineComment { get; private set; }
- public bool BlockComment { get; set; }
- public bool Quoted { get; private set; }
- private int Pos { get; set; }
- private string LastToken { get; set; }
+ public int StartIndex
+ {
+ get { return _startIndex; }
+ private set { _startIndex = value; }
+ }
+ public int StopIndex
+ {
+ get { return _stopIndex; }
+ private set { _stopIndex = value; }
+ }
+
+ public bool LineComment
+ {
+ get { return _lineComment; }
+ private set { _lineComment = value; }
+ }
+
+ public bool Quoted
+ {
+ get { return _quoted; }
+ private set { _quoted = value; }
+ }
+
#endregion
Modified: trunk/MySql.VisualStudio/MySql.VisualStudio.csproj
===================================================================
--- trunk/MySql.VisualStudio/MySql.VisualStudio.csproj 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/MySql.VisualStudio.csproj 2009-05-18 21:35:46 UTC (rev 1611)
@@ -11,7 +11,7 @@
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
- <ProjectGuid>{E7E48744-7BB3-463E-9A9A-7B4553D79C0E}</ProjectGuid>
+ <ProjectGuid>{DC3517FF-AC26-4755-9B7A-EF658FF69593}</ProjectGuid>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>2.0</OldToolsVersion>
@@ -85,6 +85,9 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="..\MySql.Data\Provider\Properties\VersionInfo.cs">
+ <Link>Properties\VersionInfo.cs</Link>
+ </Compile>
<Compile Include="DbObjects\CollationTypeConverter.cs" />
<Compile Include="DbObjects\CharacterSetTypeConverter.cs" />
<Compile Include="DbObjects\DataRowHelpers.cs" />
@@ -120,6 +123,7 @@
<Compile Include="DDEX\MySqlDataViewCommandHandler.cs" />
<Compile Include="DDEX\MySqlDataViewSupport.cs" />
<Compile Include="DbObjects\ColumnWithTypeDescriptor.cs" />
+ <Compile Include="DDEX\StoredProcedureColumnEnumerator.cs" />
<Compile Include="Editors\CustomPropertyDescriptor.cs" />
<Compile Include="Editors\ForeignKeyDialog.cs">
<SubType>Form</SubType>
Modified: trunk/MySql.VisualStudio/Nodes/BaseNode.cs
===================================================================
--- trunk/MySql.VisualStudio/Nodes/BaseNode.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/Nodes/BaseNode.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -42,6 +42,8 @@
protected Guid commandGroupGuid;
protected string name;
private static string defaultStorageEngine;
+ public DataViewHierarchyAccessor HierarchyAccessor;
+ public bool IsNew;
public BaseNode(DataViewHierarchyAccessor hierarchyAccessor, int id)
{
@@ -81,20 +83,52 @@
}
}
- public bool IsNew { get; set; }
- public int ItemId { get; protected set; }
- public string NodeId { get; protected set; }
- public DataViewHierarchyAccessor HierarchyAccessor { get; set; }
- public string Server { get; private set; }
- public string Database { get; private set; }
- public virtual bool Dirty { get; protected set; }
+ private int _itemId;
+ public int ItemId
+ {
+ get { return _itemId; }
+ protected set { _itemId = value; }
+ }
+ private string _nodeId;
+ public string NodeId
+ {
+ get { return _nodeId; }
+ protected set { _nodeId = value; }
+ }
+
+ private string _server;
+ public string Server
+ {
+ get { return _server; }
+ private set { _server = value; }
+ }
+
+ private string _database;
+ public string Database
+ {
+ get { return _database; }
+ private set { _database = value; }
+ }
+
+ private bool _dirty;
+ public virtual bool Dirty
+ {
+ get { return _dirty; }
+ protected set { _dirty = value; }
+ }
+
protected string Moniker
{
get { return String.Format("mysql://{0}/{1}/{2}", Server, Database, Name); }
}
- public int NameIndex { get; protected set; }
+ private int _nameIndex;
+ public int NameIndex
+ {
+ get { return _nameIndex; }
+ protected set { _nameIndex = value; }
+ }
public virtual string SchemaCollection
{
Modified: trunk/MySql.VisualStudio/Nodes/DocumentNode.cs
===================================================================
--- trunk/MySql.VisualStudio/Nodes/DocumentNode.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/Nodes/DocumentNode.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -42,12 +42,8 @@
{
}
- #region Properties
+ private uint DocumentCookie;
- private uint DocumentCookie { get; set; }
-
- #endregion
-
protected abstract void Load();
public abstract string GetSaveSql();
protected abstract string GetCurrentName();
Modified: trunk/MySql.VisualStudio/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MySql.VisualStudio/Properties/AssemblyInfo.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.VisualStudio/Properties/AssemblyInfo.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -33,14 +33,4 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly : Guid("5860AC5F-9DE5-4e2b-9FDA-D2AC4B1D6FA5")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("6.0.3")]
\ No newline at end of file
+[assembly: AssemblyKeyName("ConnectorNet")]
Modified: trunk/MySql.Web/Providers/MySql.Web.csproj
===================================================================
--- trunk/MySql.Web/Providers/MySql.Web.csproj 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Web/Providers/MySql.Web.csproj 2009-05-18 21:35:46 UTC (rev 1611)
@@ -51,6 +51,9 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="..\..\MySql.Data\Provider\Properties\VersionInfo.cs">
+ <Link>Properties\VersionInfo.cs</Link>
+ </Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
Modified: trunk/MySql.Web/Providers/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MySql.Web/Providers/Properties/AssemblyInfo.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Web/Providers/Properties/AssemblyInfo.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -44,14 +44,4 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
//[assembly: Guid("01520f33-9ecd-4574-96d0-5e6604e0f3aa")]
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("6.0.3")]
[assembly: AssemblyKeyName("ConnectorNet")]
Added: trunk/MySql.Web/Providers/Properties/Resources.Designer.cs
===================================================================
--- trunk/MySql.Web/Providers/Properties/Resources.Designer.cs (rev 0)
+++ trunk/MySql.Web/Providers/Properties/Resources.Designer.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -0,0 +1,459 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.3053
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace MySql.Web.Properties {
+ using System;
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MySql.Web.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Cannot delete a populated role..
+ /// </summary>
+ public static string CannotDeleteAPopulatedRole {
+ get {
+ return ResourceManager.GetString("CannotDeleteAPopulatedRole", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Setting EnablePasswordRetrieval to true when PasswordFormat is Hashed is not supported..
+ /// </summary>
+ public static string CannotRetrieveHashedPasswords {
+ get {
+ return ResourceManager.GetString("CannotRetrieveHashedPasswords", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Cannot unencode a hashed password..
+ /// </summary>
+ public static string CannotUnencodeHashedPwd {
+ get {
+ return ResourceManager.GetString("CannotUnencodeHashedPwd", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Change password operation was canceled..
+ /// </summary>
+ public static string ChangePasswordCanceled {
+ get {
+ return ResourceManager.GetString("ChangePasswordCanceled", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to There was an error during membership provider initilization..
+ /// </summary>
+ public static string ErrorInitOfMembershipProvider {
+ get {
+ return ResourceManager.GetString("ErrorInitOfMembershipProvider", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to There was an error during role provider initilization..
+ /// </summary>
+ public static string ErrorInitOfRoleProvider {
+ get {
+ return ResourceManager.GetString("ErrorInitOfRoleProvider", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to There was an error during profile provider initilization..
+ /// </summary>
+ public static string ErrorInitProfileProvider {
+ get {
+ return ResourceManager.GetString("ErrorInitProfileProvider", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to There was an error resetting the password..
+ /// </summary>
+ public static string ErrorResettingPassword {
+ get {
+ return ResourceManager.GetString("ErrorResettingPassword", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Role names must not be null or empty..
+ /// </summary>
+ public static string IllegalRoleName {
+ get {
+ return ResourceManager.GetString("IllegalRoleName", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to User names must not be null or empty..
+ /// </summary>
+ public static string IllegalUserName {
+ get {
+ return ResourceManager.GetString("IllegalUserName", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Incorrect password answer..
+ /// </summary>
+ public static string IncorrectPasswordAnswer {
+ get {
+ return ResourceManager.GetString("IncorrectPasswordAnswer", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Invalid characters in user name..
+ /// </summary>
+ public static string InvalidCharactersInUserName {
+ get {
+ return ResourceManager.GetString("InvalidCharactersInUserName", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unable to initialize provider. Missing or incorrect schema..
+ /// </summary>
+ public static string MissingOrWrongSchema {
+ get {
+ return ResourceManager.GetString("MissingOrWrongSchema", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The mono runtime did not support hashed passwords. Please use clear or encrypted passwords..
+ /// </summary>
+ public static string MonoDoesNotSupportHash {
+ get {
+ return ResourceManager.GetString("MonoDoesNotSupportHash", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Change password canceled due to New password validation failure..
+ /// </summary>
+ public static string NewPasswordValidationFailed {
+ get {
+ return ResourceManager.GetString("NewPasswordValidationFailed", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Non alpha numeric characters in '{0}' needs to be greater than or equal to '{1}'..
+ /// </summary>
+ public static string NotEnoughNonAlphaNumericInPwd {
+ get {
+ return ResourceManager.GetString("NotEnoughNonAlphaNumericInPwd", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Password answer supplied is invalid..
+ /// </summary>
+ public static string PasswordAnswerInvalid {
+ get {
+ return ResourceManager.GetString("PasswordAnswerInvalid", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The length of parameter '{0}' needs to be greater or equal to '{1}'..
+ /// </summary>
+ public static string PasswordNotLongEnough {
+ get {
+ return ResourceManager.GetString("PasswordNotLongEnough", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Password question supplied is invalid..
+ /// </summary>
+ public static string PasswordQuestionInvalid {
+ get {
+ return ResourceManager.GetString("PasswordQuestionInvalid", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Password answer required for password reset..
+ /// </summary>
+ public static string PasswordRequiredForReset {
+ get {
+ return ResourceManager.GetString("PasswordRequiredForReset", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Reset password canceled due to password validation failure..
+ /// </summary>
+ public static string PasswordResetCanceledNotValid {
+ get {
+ return ResourceManager.GetString("PasswordResetCanceledNotValid", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Password Reset is not enabled..
+ /// </summary>
+ public static string PasswordResetNotEnabled {
+ get {
+ return ResourceManager.GetString("PasswordResetNotEnabled", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Password Retrieval Not Enabled..
+ /// </summary>
+ public static string PasswordRetrievalNotEnabled {
+ get {
+ return ResourceManager.GetString("PasswordRetrievalNotEnabled", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Profile update failed..
+ /// </summary>
+ public static string ProfileUpdateFailed {
+ get {
+ return ResourceManager.GetString("ProfileUpdateFailed", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Role name already exists..
+ /// </summary>
+ public static string RoleNameAlreadyExists {
+ get {
+ return ResourceManager.GetString("RoleNameAlreadyExists", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Role name not found..
+ /// </summary>
+ public static string RoleNameNotFound {
+ get {
+ return ResourceManager.GetString("RoleNameNotFound", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to CREATE TABLE mysql_Membership(`PKID` varchar(36) NOT NULL,
+ /// Username varchar(255) NOT NULL,
+ /// ApplicationName varchar(255) NOT NULL,
+ /// Email varchar(128) NOT NULL,
+ /// Comment varchar(255) default NULL,
+ /// Password varchar(128) NOT NULL,
+ /// PasswordQuestion varchar(255) default NULL,
+ /// PasswordAnswer varchar(255) default NULL,
+ /// IsApproved tinyint(1) default NULL,
+ /// LastActivityDate datetim [rest of string was truncated]";.
+ /// </summary>
+ public static string schema1 {
+ get {
+ return ResourceManager.GetString("schema1", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to ALTER TABLE mysql_Membership
+ /// ADD PasswordKey char(32) AFTER Password,
+ /// ADD PasswordFormat tinyint AFTER PasswordKey,
+ /// CHANGE Email Email VARCHAR(128), COMMENT='2';
+ ///
+ ///
+ /// .
+ /// </summary>
+ public static string schema2 {
+ get {
+ return ResourceManager.GetString("schema2", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to /* Provider schema block -- version 3 */
+ ///
+ ////* create our application and user tables */
+ ///create table my_aspnet_Applications(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(256), description VARCHAR(256));
+ ///create table my_aspnet_Users(id INT PRIMARY KEY AUTO_INCREMENT,
+ /// applicationId INT NOT NULL, name VARCHAR(256) NOT NULL,
+ /// isAnonymous TINYINT(1) NOT NULL DEFAULT 1, lastActivityDate DATETIME);
+ ///create table my_aspnet_Profiles(userId INT PRIMARY KEY, valueindex longtext, stringdata longtext, binary [rest of string was truncated]";.
+ /// </summary>
+ public static string schema3 {
+ get {
+ return ResourceManager.GetString("schema3", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to ALTER TABLE my_aspnet_Membership CONVERT TO CHARACTER SET DEFAULT;
+ ///ALTER TABLE my_aspnet_Roles CONVERT TO CHARACTER SET DEFAULT;
+ ///ALTER TABLE my_aspnet_UsersInRoles CONVERT TO CHARACTER SET DEFAULT;
+ ///
+ ///UPDATE my_aspnet_SchemaVersion SET version=4 WHERE version=3;
+ ///.
+ /// </summary>
+ public static string schema4 {
+ get {
+ return ResourceManager.GetString("schema4", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unable to create application..
+ /// </summary>
+ public static string UnableToCreateApplication {
+ get {
+ return ResourceManager.GetString("UnableToCreateApplication", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unable to create user..
+ /// </summary>
+ public static string UnableToCreateUser {
+ get {
+ return ResourceManager.GetString("UnableToCreateUser", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unable to lock out user..
+ /// </summary>
+ public static string UnableToLockOutUser {
+ get {
+ return ResourceManager.GetString("UnableToLockOutUser", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unable to retrieve profile data from database..
+ /// </summary>
+ public static string UnableToRetrieveProfileData {
+ get {
+ return ResourceManager.GetString("UnableToRetrieveProfileData", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unable to update failure count. Membership database may be corrupt..
+ /// </summary>
+ public static string UnableToUpdateFailureCount {
+ get {
+ return ResourceManager.GetString("UnableToUpdateFailureCount", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Unsupported password format..
+ /// </summary>
+ public static string UnsupportedPasswordFormat {
+ get {
+ return ResourceManager.GetString("UnsupportedPasswordFormat", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to User is already in role..
+ /// </summary>
+ public static string UserIsAlreadyInRole {
+ get {
+ return ResourceManager.GetString("UserIsAlreadyInRole", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The supplied user is locked out..
+ /// </summary>
+ public static string UserIsLockedOut {
+ get {
+ return ResourceManager.GetString("UserIsLockedOut", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Username not found..
+ /// </summary>
+ public static string UsernameNotFound {
+ get {
+ return ResourceManager.GetString("UsernameNotFound", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to User not in role..
+ /// </summary>
+ public static string UserNotInRole {
+ get {
+ return ResourceManager.GetString("UserNotInRole", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The validate password operation was canceled..
+ /// </summary>
+ public static string ValidatePasswordCanceled {
+ get {
+ return ResourceManager.GetString("ValidatePasswordCanceled", resourceCulture);
+ }
+ }
+ }
+}
Modified: trunk/MySql.Web/Providers/Source/Application.cs
===================================================================
--- trunk/MySql.Web/Providers/Source/Application.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Web/Providers/Source/Application.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -9,17 +9,28 @@
{
internal class Application
{
+ private int _id;
+ private string _desc;
+
public Application(string name, string desc)
{
Id = -1;
Name = name;
Description = desc;
}
-
- public int Id { get; private set; }
+ public int Id
+ {
+ get { return _id; }
+ private set { _id = value; }
+ }
public string Name;
- public string Description { get; private set; }
+ public string Description
+ {
+ get { return _desc; }
+ private set { _desc = value; }
+ }
+
public int FetchId(MySqlConnection connection)
{
if (Id == -1)
Modified: trunk/MySql.Web/Providers/Source/RoleProvider.cs
===================================================================
--- trunk/MySql.Web/Providers/Source/RoleProvider.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Web/Providers/Source/RoleProvider.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -183,7 +183,7 @@
{
// either create a new user or fetch the existing user id
int userId = SchemaManager.CreateOrFetchUserId(connection,
- username, app.Id, true);
+ username, app.FetchId(connection), true);
foreach (string rolename in rolenames)
{
int roleId = GetRoleId(connection, rolename);
@@ -262,7 +262,7 @@
my_aspnet_Roles r ON uir.roleId=r.id
WHERE r.name LIKE @rolename AND r.applicationId=@appId", connection);
cmd.Parameters.AddWithValue("@rolename", rolename);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
cmd.ExecuteNonQuery();
// now delete the role itself
@@ -335,7 +335,7 @@
WHERE u.applicationId=@appId";
MySqlCommand cmd = new MySqlCommand(sql, connection);
cmd.Parameters.AddWithValue("@roleId", roleId);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
@@ -378,7 +378,7 @@
WHERE u.applicationId=@appId AND
u.name LIKE @userName AND r.name LIKE @roleName";
MySqlCommand cmd = new MySqlCommand(sql, connection);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
cmd.Parameters.AddWithValue("@userName", username);
cmd.Parameters.AddWithValue("@roleName", rolename);
int count = Convert.ToInt32(cmd.ExecuteScalar());
@@ -434,7 +434,7 @@
MySqlCommand cmd = new MySqlCommand(sql, connection);
cmd.Parameters.Add("@username", MySqlDbType.VarChar, 255);
cmd.Parameters.Add("@rolename", MySqlDbType.VarChar, 255);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
foreach (string username in usernames)
{
@@ -516,7 +516,7 @@
MySqlCommand cmd = new MySqlCommand(sql, connection);
cmd.Parameters.AddWithValue("@username", usernameToMatch);
cmd.Parameters.AddWithValue("@rolename", rolename);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
@@ -557,7 +557,7 @@
GetUserId(connection, username);
sql += " WHERE r.applicationId=@appId";
MySqlCommand cmd = new MySqlCommand(sql, connection);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
@@ -579,7 +579,7 @@
"SELECT id FROM my_aspnet_Users WHERE name=@name AND applicationId=@appId",
connection);
cmd.Parameters.AddWithValue("@name", username);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
object id = cmd.ExecuteScalar();
return Convert.ToInt32(id);
}
@@ -590,7 +590,7 @@
"SELECT id FROM my_aspnet_Roles WHERE name=@name AND applicationId=@appId",
connection);
cmd.Parameters.AddWithValue("@name", rolename);
- cmd.Parameters.AddWithValue("@appId", app.Id);
+ cmd.Parameters.AddWithValue("@appId", app.FetchId(connection));
return (int)cmd.ExecuteScalar();
}
Modified: trunk/MySql.Web/Tests/MySql.Web.Tests.csproj
===================================================================
--- trunk/MySql.Web/Tests/MySql.Web.Tests.csproj 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Web/Tests/MySql.Web.Tests.csproj 2009-05-18 21:35:46 UTC (rev 1611)
@@ -33,7 +33,7 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
- <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" />
+ <Reference Include="nunit.framework" />
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Data" />
@@ -41,6 +41,9 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="..\..\MySql.Data\Provider\Properties\VersionInfo.cs">
+ <Link>Properties\VersionInfo.cs</Link>
+ </Compile>
<Compile Include="BaseTest.cs" />
<Compile Include="ProfileTests.cs" />
<Compile Include="RoleManagement.cs" />
Modified: trunk/MySql.Web/Tests/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MySql.Web/Tests/Properties/AssemblyInfo.cs 2009-05-18 21:30:42 UTC (rev 1610)
+++ trunk/MySql.Web/Tests/Properties/AssemblyInfo.cs 2009-05-18 21:35:46 UTC (rev 1611)
@@ -42,13 +42,3 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5ea74c78-c679-464f-99ba-ae1b0b54550b")]
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("6.0.3")]
\ No newline at end of file
| Thread |
|---|
| • Connector/NET commit: r1611 - in trunk: . Installer Installer/Binary MySql.Data/Provider MySql.Data/Provider/Properties MySql.Data/Provider/Source MyS... | rburnett | 18 May |