Removed:
trunk/Installer/main.iss
trunk/Installer/misc.iss
trunk/Installer/vs2005.iss
trunk/Installer/vs2008.iss
Modified:
trunk/CHANGES
trunk/Installer/Installer.wixproj
trunk/MySQLClient.sln
trunk/MySql.Data/Provider/Source/CharSetMap.cs
trunk/MySql.Data/Provider/Source/Driver.cs
trunk/MySql.Data/Provider/Source/Field.cs
trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs
trunk/MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs
trunk/MySql.Data/Provider/Source/MySqlScript.cs
trunk/MySql.Data/Provider/Source/command.cs
trunk/MySql.Data/Provider/Source/datareader.cs
trunk/MySql.Data/Provider/Source/transaction.cs
trunk/MySql.Data/Tests/Source/CharacterSetTests.cs
trunk/MySql.Data/Tests/Source/ConnectionStringBuilder.cs
trunk/MySql.Data/Tests/Source/DataTypeTests.cs
trunk/MySql.Data/Tests/Source/PoolingTests.cs
trunk/MySql.Data/Tests/Source/ScriptExecution.cs
trunk/MySql.Data/Tests/Source/SimpleTransactions.cs
trunk/MySql.Data/Tests/Source/TimeoutAndCancel.cs
trunk/MySql.VisualStudio/MySql.VisualStudio.csproj
Log:
merged
Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/CHANGES 2008-11-12 16:53:36 UTC (rev 1459)
@@ -32,6 +32,27 @@
values (bug #39294)
- fixed problem where using a stored procedure with parameters with a table adapter
was no longer working after our parameter schema changes (bug #39252)
+- Defaulting max allowed packet to 1024 to account for the possible case where the
+ value doesn't come in as a server variable
+- fixed bug #39728 by making MySqlConnectionStringBuilder.GetConnectionString an internal method.
+ It should not have been publicly available anyway. It is used internally by the
+ MySqlConnection.ConnectionString property
+- implemented Disposable pattern on MySqlTransaction class so including one in a using statement
+ and then not calling commit will cause a rollback when the using exits (bug #39817)
+- fixed MySqlScript object so that it handles scripts with user variables
+- fixed bug where specifying 'functions return string=yes' would cause strings to be returned
+ using the 'binary' charset which would not properly render some characters. Now the
+ connection character set is used. (bug #40076)
+- fixed problem that caused in use connection strings to be modified when a pooled connection
+ timed out and was cancelled. (bug #40091)
+- fixed problem where using respect binary flags would not use the connection char set
+ and therefore return strings with a bad encoding.
+- fixed bug where provider was attempting to use the new parameters I_S view on servers
+ that didn't have it (bug #40382)
+- fixed problem where CharSetMap.GetDefaultCollation and CharSetMap.GetMaxLengths
+ might have a thread sync issue on high load systems. They were not locking
+ the static collections there were initializing. (bug #40231)
+- added GetSByte to the reader for returning tinyint columns (bug #40571)
Version 5.2.3 - 8/14/08
- Increased the speed of MySqlDataReader.GetOrdinal dramatically by using a couple
Modified: trunk/Installer/Installer.wixproj
===================================================================
--- trunk/Installer/Installer.wixproj 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/Installer/Installer.wixproj 2008-11-12 16:53:36 UTC (rev 1459)
@@ -97,7 +97,7 @@
</WixVariables>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GPL|x86' ">
- <DefineConstants>Version=5.2.3;IsGPL=1</DefineConstants>
+ <DefineConstants>Version=5.2.4;IsGPL=1</DefineConstants>
<WixVariables>
</WixVariables>
</PropertyGroup>
@@ -129,5 +129,11 @@
<HintPath>C:\Program Files (x86)\Windows Installer XML v3\bin\WixVSExtension.dll</HintPath>
</WixExtension>
</ItemGroup>
+ <ItemGroup>
+ <Content Include="VS2005_Data.wxi" />
+ <Content Include="VS2005_Registry.wxi" />
+ <Content Include="VS2008_Data.wxi" />
+ <Content Include="VS2008_Registry.wxi" />
+ </ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WiX\v3.0\Wix.targets" />
</Project>
\ No newline at end of file
Deleted: trunk/Installer/main.iss
===================================================================
--- trunk/Installer/main.iss 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/Installer/main.iss 2008-11-12 16:53:36 UTC (rev 1459)
@@ -1,168 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-[Setup]
-AppName=MySQL Connector/Net
-AppVersion=5.2.2
-AppVerName=MySQL Connector/Net {#SetupSetting("AppVersion")}
-AppPublisher=MySQL, Inc.
-AppPublisherURL=http://www.mysql.com.com/
-AppSupportURL=http://www.mysql.com.com/
-AppUpdatesURL=http://www.mysql.com.com/
-DefaultDirName={pf}\MySQL\MySQL Connector Net {#SetupSetting("AppVersion")}
-DefaultGroupName=MySQL\MySQL Connector Net {#SetupSetting("AppVersion")}
-AllowNoIcons=true
-OutputBaseFilename=setup
-Compression=lzma
-SolidCompression=true
-PrivilegesRequired=admin
-WizardImageFile=Bitmaps\dlgbmp-is.bmp
-WizardImageStretch=false
-WizardSmallImageFile=compiler:wizmodernsmallimage-is.bmp
-VersionInfoVersion={#SetupSetting("AppVersion")}
-
-[Languages]
-Name: english; MessagesFile: compiler:Default.isl
-
-[Files]
-Source: ..\MySql.Data\Provider\bin\net-2.0\Release\MySql.Data.dll; DestDir: {app}\.NET Framework; Flags: ignoreversion; AfterInstall: AfterMySqlDataInstall
-Source: ..\MySql.Data\Provider\bin\net-2.0\Release\MySql.Data.CF.dll; DestDir: {app}\Compact Framework; Flags: ignoreversion; Components: CF
-Source: ..\CHANGES; DestDir: {app}; Flags: ignoreversion
-Source: ..\Release Notes.txt; DestDir: {app}; Flags: ignoreversion
-Source: ..\MySql.Web\Providers\bin\release\MySql.Web.dll; DestDir: {app}\Web Providers; Flags: ignoreversion; AfterInstall: AfterWebInstall; Components: Providers
-
-; Handle conditional licensing
-#if defined (GPL)
-Source: ..\COPYING; DestDir: {app}; Flags: ignoreversion
-Source: ..\EXCEPTIONS; DestDir: {app}; Flags: ignoreversion
-#else
-Source: ..\License.txt; DestDir: {app}; Flags: ignoreversion
-#endif
-
-Source: ..\Samples\*.*; DestDir: {app}\Samples; Excludes: bin,obj,bin\debug,bin\release,obj\debug,obj\release; Flags: ignoreversion createallsubdirs recursesubdirs
-Source: binary\installtools.dll; DestDir: {app}; Attribs: hidden
-Source: binary\globalinstaller.exe; DestDir: {app}; Attribs: hidden
-
-; Documentation files
-Source: ..\Documentation\Output\MySql.Data.chm; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\CollectionFiles\COL_Master.HxC; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\CollectionFiles\COL_Master.HxT; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\CollectionFiles\COL_Master_A.HxK; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\CollectionFiles\COL_Master_F.HxK; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\CollectionFiles\COL_Master_K.HxK; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\CollectionFiles\COL_Master_N.HxK; DestDir: {app}\Documentation; Components: Docs
-Source: ..\Documentation\Output\MySql.Data.HxS; DestDir: {app}\Documentation; Components: Docs
-
-; Documentation registration tools
-Source: ..\Installer\Binary\H2Reg.exe; DestDir: {app}\Uninstall; Components: Docs
-Source: ..\Installer\Binary\h2reg.ini; DestDir: {app}\Uninstall; Components: Docs
-
-; VS integration
-Source: ..\MySql.VisualStudio\bin\Release\MySql.VisualStudio.dll; DestDir: {app}\Visual Studio Integration; Components: VS
-
-[Icons]
-Name: {group}\{cm:UninstallProgram,MySQL Connector Net}; Filename: {uninstallexe}
-Name: {group}\Change Log; Filename: {app}\CHANGES
-Name: {group}\Release Notes; Filename: {app}\Release Notes.txt
-Name: {group}\Help; Filename: {app}\Documentation\MySql.Data.chm
-
-[Components]
-Name: Core; Description: Core assemblies; Flags: fixed; Types: full custom compact
-Name: Docs; Description: Documentation; Types: full custom
-Name: Providers; Description: ASP.NET 2.0 Web Providers; Types: full custom
-Name: VS; Description: Visual Studio Integration; Types: full custom
-Name: VS/2005; Description: Visual Studio 2005; Types: full custom; Check: VS2005Installed
-Name: VS/2008; Description: Visual Studio 2008; Types: full custom; Check: VS2008Installed
-Name: CF; Description: Compact Framework Support; Types: full custom
-Name: Samples; Description: Samples; Types: full custom
-
-[Registry]
-Root: HKLM; Subkey: Software\MySQL AB\MySQL Connector/Net; Flags: uninsdeletekey
-Root: HKLM; Subkey: Software\MySQL AB\MySQL Connector/Net; ValueType: string; ValueName: Location; ValueData: {app}
-Root: HKLM; Subkey: Software\MySQL AB\MySQL Connector/Net; ValueType: string; ValueName: Version; ValueData: {#SetupSetting('AppVersion')}
-
-; make our assembly visible to Visual Studio
-Root: HKLM; Subkey: Software\Microsoft\.NETFramework\AssemblyFolders\MySQL Connector/Net {#SetupSetting('AppVersion')}; Flags: uninsdeletekey
-Root: HKLM; Subkey: Software\Microsoft\.NETFramework\AssemblyFolders\MySQL Connector/Net {#SetupSetting('AppVersion')}; ValueType: string; ValueData: {app}\.NET Framework
-
-[Run]
-Filename: "{code:GetVersion2InstallUtil}"; Parameters: {app}\.NET Framework\mysql.data.dll; WorkingDir: {app}; StatusMsg: Adding data provider to machine.config; Flags: runhidden
-Filename: "{code:GetVersion2InstallUtil}"; Parameters: {app}\Web Providers\mysql.web.dll; WorkingDir: {app}; StatusMsg: Adding web providers to machine.config; Flags: runhidden; Components: Providers
-Filename: {app}\GlobalInstaller.exe; Parameters: mysql.visualstudio.dll version=VS2005; WorkingDir: {app}\Visual Studio Integration; StatusMsg: Integrating with Visual Studio 2005; Flags: runhidden; Components: VS/2005
-Filename: {app}\GlobalInstaller.exe; Parameters: mysql.visualstudio.dll version=VS2008; WorkingDir: {app}\Visual Studio Integration; StatusMsg: Integrating with Visual Studio 2008; Flags: runhidden; Components: VS/2008
-Filename: "{code:GetVS2005Path}"; Parameters: /setup; WorkingDir: {app}; StatusMsg: Reconfiguring Visual Studio 2005. Please wait...; Flags: runhidden; Components: VS/2005
-Filename: "{code:GetVS2008Path}"; Parameters: /setup; WorkingDir: {app}; StatusMsg: Reconfiguring Visual Studio 2008 Please wait...; Flags: runhidden; Components: VS/2008
-Filename: {app}\Uninstall\h2reg.exe; Parameters: -r -q; WorkingDir: {app}\Uninstall; StatusMsg: Registering help collection; Flags: runhidden; Components: docs and (VS/2005 or VS/2008)
-
-[UninstallRun]
-Filename: {app}\GlobalInstaller.exe; Parameters: /u mysql.visualstudio.dll version=VS2005; WorkingDir: {app}\Visual Studio Integration; StatusMsg: Removing Visual Studio 2005 integration; Flags: runhidden; Components: VS/2005
-Filename: {app}\GlobalInstaller.exe; Parameters: /u mysql.visualstudio.dll version=VS2008; WorkingDir: {app}\Visual Studio Integration; StatusMsg: Removing Visual Studio 2008 integration; Flags: runhidden; Components: VS/2008
-Filename: "{code:GetVS2005Path}"; Parameters: /setup; WorkingDir: {app}; StatusMsg: Reconfiguring Visual Studio 2005; Flags: runhidden runascurrentuser; Components: VS/2005
-Filename: "{code:GetVS2008Path}"; Parameters: /setup; WorkingDir: {app}; StatusMsg: Reconfiguring Visual Studio 2008; Flags: runhidden runascurrentuser; Components: VS/2008
-Filename: "{code:GetVersion2InstallUtil}"; Parameters: /u {app}\.NET Framework\mysql.data.dll; WorkingDir: {app}; StatusMsg: Removing data provider from machine.config; Flags: runhidden
-Filename: "{code:GetVersion2InstallUtil}"; Parameters: /u {app}\Web Providers\mysql.web.dll; WorkingDir: {app}; StatusMsg: Removing web providers from machine.config; Flags: runhidden; Components: Providers
-Filename: {app}\Uninstall\h2reg.exe; Parameters: -u -q; WorkingDir: {app}\Uninstall; Flags: runhidden; Components: docs and (VS/2005 or VS/2008)
-
-[Code]
-#include "misc.iss"
-
-function InitializeSetup(): Boolean;
-begin
- Result := true;
- if not CheckForFramework('2.0', true) then
- Result := false
-
- if PreviousVersionsInstalled() then
- begin
- MsgBox('There is already a version of Connector/Net installed. ' +
- 'Please uninstall all versions before installing this product.', mbError, MB_OK);
- Result := false
- end;
-end;
-
-procedure AfterMySqlDataInstall();
-begin
- if Not RegisterAssembly(ExpandConstant('{app}' + '\.NET Framework\mysql.data.dll'), 2) then
- MsgBox('Registration of the Connector/Net core components failed.', mbError, MB_OK);
-end;
-
-procedure AfterWebInstall();
-begin
- if Not RegisterAssembly(ExpandConstant('{app}' + '\Web Providers\mysql.web.dll'), 2) then
- MsgBox('Registration of the Connector/Net web components failed.', mbError, MB_OK);
-end;
-
-procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
-begin
- if CurUninstallStep = usUninstall then
- begin
- if Not UnRegisterAssembly(ExpandConstant('{app}' + '\.NET Framework\mysql.data.dll'), 'mysql.data', 2) then
- MsgBox('Unregistration of the Connector/Net core components failed.', mbError, MB_OK);
-
- if FileExists(ExpandConstant('{app}' + '\Web Providers\mysql.web.dll')) then
- if Not UnRegisterAssembly(ExpandConstant('{app}' + '\Web Providers\mysql.web.dll'), 'mysql.web', 2) then
- MsgBox('Unregistration of the Connector/Net web components failed.', mbError, MB_OK);
-
- // Now that we're finished with it, unload MyDll.dll from memory.
- // We have to do this so that the uninstaller will be able to remove the DLL and the {app} directory.
- UnloadDLL(ExpandConstant('{app}\installtools.dll'));
- end
-end;
-
-function VS2005Installed() : Boolean;
-begin
- Result := RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Microsoft\VisualStudio\8.0\Setup\VS');
-end;
-
-function VS2008Installed() : Boolean;
-begin
- Result := RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Microsoft\VisualStudio\9.0\Setup\VS');
-end;
-
-function GetVersion2InstallUtil(Param: String) : String;
-begin
- Result := GetInstallUtilPath(2);
-end;
-
-
-
Deleted: trunk/Installer/misc.iss
===================================================================
--- trunk/Installer/misc.iss 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/Installer/misc.iss 2008-11-12 16:53:36 UTC (rev 1459)
@@ -1,107 +0,0 @@
-function InstallToGAC(filename: String; ver: Integer): Boolean;
-external 'InstallToGAC@files:installtools.dll cdecl';
-
-function RemoveFromGAC(name: String; ver: Integer): Boolean;
-external 'RemoveFromGAC@{app}\installtools.dll cdecl uninstallonly';
-
-function CheckForFramework(version: String; required: Boolean): Boolean;
-var
- regkey : String;
- msg : String;
-begin
- Result := true;
- regkey := Format('SOFTWARE\Microsoft\.NETFramework\policy\v%s', [version]);
- if not RegKeyExists(HKLM, regkey) then
- begin
- msg := Format('This setup requires .NET Framework %s.', [version]);
- MsgBox(msg, mbError, MB_OK);
- Result:=false;
- end
-end;
-
-function GetInstallUtilPath(version: Integer) : String;
-var
- installroot : String;
-begin
- if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\.NETFramework', 'InstallRoot', installroot) then
- begin
- if version = 2 then
- Result := Format('%s\v2.0.50727\installutil.exe', [installroot]);
- if version = 11 then
- Result := Format('%s\v1.1.4322\installutil.exe', [installroot]);
- end
- Log('Returning ' + Result + ' as path to installutil');
-end;
-
-function RegisterAssembly(name: String; version: Integer) : Boolean;
-var
- ResultCode : Integer;
-begin
- Result := true;
- Log(Format('Registering %s for version %d', [name, version]));
-
- // Install our assembly to the GAC now
- if Not InstallToGAC(name, version) then
- begin
- Log('Installing ' + name + ' into the GAC failed.');
- Result := false;
- end
-end;
-
-function UnRegisterAssembly(assemblyFile: String; assemblyName: String; version: Integer) : Boolean;
-var
- ResultCode : Integer;
- InstallutilPath: String;
-begin
- Result := true;
- Log(Format('Unregistering %s for version %d', [assemblyName, version]));
-
- // Remove our assembly from the GAC now
- if Not RemoveFromGAC(Format('%s, Version={#SetupSetting("AppVersion")}', [assemblyName]), version) then
- begin
- Log('Removing ' + assemblyName + ' from the GAC failed.');
- Result := false;
- end
- else
- begin
- InstallUtilPath := GetInstallUtilPath(version);
-
- Exec(InstallUtilPath, '/LogFile= /u "' + assemblyFile + '"', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
- if ResultCode <> 0 then
- begin
- Log('Running remove methods in ' + assemblyName + ' failed.');
- Result := false;
- end
- else
- Log('Successfully unregistered ' + assemblyName);
- end
-end;
-
-function PreviousVersionsInstalled() : Boolean;
-var
- Names: TArrayOfString;
- I : Integer;
-begin
- Result := false;
- if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, 'Software\MySQL AB', Names) then
- begin
- for I := 0 to GetArrayLength(Names)-1 do
- if Pos('MySQL Connector/Net', Names[I]) = 1 then
- Result := true;
- end
-end;
-
-function GetVS2005Path(Param: String) : String;
-begin
- if Not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\VisualStudio\8.0\Setup\VS', 'EnvironmentDirectory', Result) Then
- RaiseException('Unable to locate the Visual Studio 2005 installation directory');
- Result := Format('%sdevenv.com', [Result]);
-end;
-
-function GetVS2008Path(Param: String) : String;
-begin
- if Not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\VisualStudio\9.0\Setup\VS', 'EnvironmentDirectory', Result) Then
- RaiseException('Unable to locate the Visual Studio 2008 installation directory');
- Result := Format('%sdevenv.com', [Result]);
-end;
-
Deleted: trunk/Installer/vs2005.iss
===================================================================
--- trunk/Installer/vs2005.iss 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/Installer/vs2005.iss 2008-11-12 16:53:36 UTC (rev 1459)
@@ -1,52 +0,0 @@
-; Visual Studio integration
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}; Flags: uninsdeletekey; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}; ValueData: "MySQL Server"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "Description"; ValueData: "Provider_Description, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "DisplayName"; ValueData: "Datasource_Displayname, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2005
-
-; Data Providers
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; Flags: uninsdeletekey; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueData: ".NET Framework Data Provider for MySQL"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "DisplayName"; ValueData: "Provider_DisplayName, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "ShortDisplayName"; ValueData: "Provider_ShortDisplayName, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "Description"; ValueData: "Provider_Description, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "FactoryService"; ValueData: "{{D949EA95-EDA1-4b65-8A9E-266949A99360}}"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "InvariantName"; ValueData: "MySql.Data.MySqlClient"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionPromptDialog; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionProperties; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionSupport; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionUIControl; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataObjectSupport; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataSourceInformation; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataViewSupport; Components: VS/2005
-
-; Menus
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Menus\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType:string; ValueName:"{{79A115C9-B133-4891-9E7B-242509DAD272}}"; ValueData:",1000,1"; Flags: uninsdeletekey; Components: VS/2005
-
-; Service
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Services\{{D949EA95-EDA1-4b65-8A9E-266949A99360}}; Flags: uninsdeletekey; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Services\{{D949EA95-EDA1-4b65-8A9E-266949A99360}}; ValueType:string; ValueData:"{{79A115C9-B133-4891-9E7B-242509DAD272}}"; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Services\{{D949EA95-EDA1-4b65-8A9E-266949A99360}}; ValueType:string; ValueName:"Name"; ValueData:"MySQL Provider Object Factory"; Components: VS/2005
-
-; Installed products
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\InstalledProducts\[ProductName]; Flags: uninsdeletekey; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\InstalledProducts\[ProductName]; ValueData: [Productname]; ValueType:string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\InstalledProducts\[ProductName]; ValueName: "Package"; ValueData: "{{79A115C9-B133-4891-9E7B-242509DAD272}}"; ValueType:string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\InstalledProducts\[ProductName]; ValueName: "UseInterface"; ValueData: "1"; ValueType:dword; Components: VS/2005
-
-; Package section
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; Flags: uninsdeletekey; Components: VS/2005
-
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueData: [ProductName]; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "InprocServer32"; ValueData: "[WindowsFolder]system32\mscoree.dll"; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "Class"; ValueData: "MySql.Data.VisualStudio.MySqlDataProviderPackage"; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "CodeBase"; ValueData: "[INSTALLDIR]\Visual Studio Integration\MySql.VisualStudio.dll"; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "ProductName"; ValueData: "MySQL Tools for Visual Studio"; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "ProductVersion"; ValueData: "1.1"; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "CompanyName"; ValueData: "MySQL AB c/o MySQL, Inc."; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "MinEdition"; ValueData: "standard"; ValueType: string; Components: VS/2005
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\8.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "ID"; ValueData: "100"; ValueType: dword; Components: VS/2005
-
Deleted: trunk/Installer/vs2008.iss
===================================================================
--- trunk/Installer/vs2008.iss 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/Installer/vs2008.iss 2008-11-12 16:53:36 UTC (rev 1459)
@@ -1,52 +0,0 @@
-; Visual Studio integration
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}; Flags: uninsdeletekey; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}; ValueData: "MySQL Server"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "Description"; ValueData: "Provider_Description, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataSources\{{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}}\SupportingProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "DisplayName"; ValueData: "Datasource_Displayname, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2008
-
-; Data Providers
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; Flags: uninsdeletekey; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueData: ".NET Framework Data Provider for MySQL"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "DisplayName"; ValueData: "Provider_DisplayName, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "ShortDisplayName"; ValueData: "Provider_ShortDisplayName, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "Description"; ValueData: "Provider_Description, MySql.Data.VisualStudio.Properties.Resources"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "FactoryService"; ValueData: "{{D949EA95-EDA1-4b65-8A9E-266949A99360}}"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType: string; ValueName: "InvariantName"; ValueData: "MySql.Data.MySqlClient"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionPromptDialog; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionProperties; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionSupport; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataConnectionUIControl; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataObjectSupport; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataSourceInformation; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\DataProviders\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}\SupportedObjects\DataViewSupport; Components: VS/2008
-
-; Menus
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Menus\{{C6882346-E592-4da5-80BA-D2EADCDA0359}}; ValueType:string; ValueName:"{{79A115C9-B133-4891-9E7B-242509DAD272}}"; ValueData:",1000,1"; Flags: uninsdeletekey; Components: VS/2008
-
-; Service
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Services\{{D949EA95-EDA1-4b65-8A9E-266949A99360}}; Flags: uninsdeletekey; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Services\{{D949EA95-EDA1-4b65-8A9E-266949A99360}}; ValueType:string; ValueData:"{{79A115C9-B133-4891-9E7B-242509DAD272}}"; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Services\{{D949EA95-EDA1-4b65-8A9E-266949A99360}}; ValueType:string; ValueName:"Name"; ValueData:"MySQL Provider Object Factory"; Components: VS/2008
-
-; Installed products
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\InstalledProducts\[ProductName]; Flags: uninsdeletekey; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\InstalledProducts\[ProductName]; ValueData: [Productname]; ValueType:string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\InstalledProducts\[ProductName]; ValueName: "Package"; ValueData: "{{79A115C9-B133-4891-9E7B-242509DAD272}}"; ValueType:string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\InstalledProducts\[ProductName]; ValueName: "UseInterface"; ValueData: "1"; ValueType:dword; Components: VS/2008
-
-; Package section
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; Flags: uninsdeletekey; Components: VS/2008
-
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueData: [ProductName]; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "InprocServer32"; ValueData: "[WindowsFolder]system32\mscoree.dll"; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "Class"; ValueData: "MySql.Data.VisualStudio.MySqlDataProviderPackage"; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "CodeBase"; ValueData: "[INSTALLDIR]\Visual Studio Integration\MySql.VisualStudio.dll"; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "ProductName"; ValueData: "MySQL Tools for Visual Studio"; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "ProductVersion"; ValueData: "1.1"; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "CompanyName"; ValueData: "MySQL AB c/o MySQL, Inc."; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "MinEdition"; ValueData: "standard"; ValueType: string; Components: VS/2008
-Root: HKLM; Subkey: Software\Microsoft\VisualStudio\9.0\Packages\{{79A115C9-B133-4891-9E7B-242509DAD272}}; ValueName: "ID"; ValueData: "100"; ValueType: dword; Components: VS/2008
-
Modified: trunk/MySQLClient.sln
===================================================================
--- trunk/MySQLClient.sln 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySQLClient.sln 2008-11-12 16:53:36 UTC (rev 1459)
@@ -15,8 +15,6 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.VisualStudio", "MySql.VisualStudio\MySql.VisualStudio.csproj", "{E7E48744-7BB3-463E-9A9A-7B4553D79C0E}"
EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Installer", "Installer\Installer.wixproj", "{F533FC43-6C05-4A64-8AF6-72B690EB06C3}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Entity", "MySql.Data.Entity\Provider\MySql.Data.Entity.csproj", "{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Entity.Tests", "MySql.Data.Entity\Tests\MySql.Data.Entity.Tests.csproj", "{77EC4E20-293A-48BA-8415-D0AD869D91FA}"
@@ -211,30 +209,6 @@
{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
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Commercial|Any CPU.ActiveCfg = Commercial|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Commercial|Mixed Platforms.ActiveCfg = Commercial|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Commercial|Mixed Platforms.Build.0 = Commercial|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Commercial|x64.ActiveCfg = Commercial|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.Commercial|x86.ActiveCfg = Commercial|x86
- {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
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.GPL|Any CPU.ActiveCfg = GPL|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.GPL|Mixed Platforms.ActiveCfg = GPL|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.GPL|Mixed Platforms.Build.0 = GPL|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.GPL|x64.ActiveCfg = GPL|x86
- {F533FC43-6C05-4A64-8AF6-72B690EB06C3}.GPL|x86.ActiveCfg = GPL|x86
- {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
{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
Modified: trunk/MySql.Data/Provider/Source/CharSetMap.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/CharSetMap.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/CharSetMap.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -166,8 +166,11 @@
internal static string GetDefaultCollation(string charset, MySqlConnection connection)
{
- if (defaultCollations == null)
- InitCollections(connection);
+ lock (defaultCollations)
+ {
+ if (defaultCollations == null)
+ InitCollections(connection);
+ }
if (!defaultCollations.ContainsKey(charset))
return null;
return defaultCollations[charset];
@@ -175,8 +178,13 @@
internal static int GetMaxLength(string charset, MySqlConnection connection)
{
- if (maxLengths == null)
- InitCollections(connection);
+ // we lock on defaultCollations here too so GetDefaultCollation
+ // is on the same lock as us.
+ lock (defaultCollations)
+ {
+ if (maxLengths == null)
+ InitCollections(connection);
+ }
if (!maxLengths.ContainsKey(charset))
return 1;
Modified: trunk/MySql.Data/Provider/Source/Driver.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/Driver.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/Driver.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -59,6 +59,7 @@
connectionString = settings;
threadId = -1;
serverCharSetIndex = -1;
+ maxPacketSize = 1024;
}
#region Properties
@@ -129,6 +130,11 @@
get { return maxPacketSize; }
}
+ internal int ConnectionCharSetIndex
+ {
+ get { return serverCharSetIndex; }
+ }
+
#endregion
public string Property(string key)
Modified: trunk/MySql.Data/Provider/Source/Field.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/Field.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/Field.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -190,6 +190,9 @@
connection.Settings.FunctionsReturnString)
{
mySqlDbType = MySqlDbType.VarString;
+ // we are treating a binary as string so we have to choose some
+ // charset index. Connection seems logical.
+ CharacterSetIndex = connection.driver.ConnectionCharSetIndex;
binaryOk = false;
}
@@ -270,6 +273,9 @@
mySqlDbType = MySqlDbType.VarBinary;
}
+ if (CharacterSetIndex == 63)
+ CharacterSetIndex = connection.driver.ConnectionCharSetIndex;
+
if (Type == MySqlDbType.Binary && ColumnLength == 16)
mySqlDbType = MySqlDbType.Guid;
}
Modified: trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/ISSchemaProvider.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -286,7 +286,7 @@
public virtual DataTable GetProcedureParameters(string[] restrictions,
DataTable routines)
{
- if (connection.driver.Version.isAtLeast(6, 0, 0))
+ if (connection.driver.Version.isAtLeast(6, 0, 6))
return GetParametersFromIS(restrictions);
else
{
Modified: trunk/MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/MySqlConnectionStringBuilder.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -1017,7 +1017,7 @@
/// stripping out the password info
/// </summary>
/// <returns></returns>
- public string GetConnectionString(bool includePass)
+ internal string GetConnectionString(bool includePass)
{
if (includePass)
return originalConnectionString;
Modified: trunk/MySql.Data/Provider/Source/MySqlScript.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/MySqlScript.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/MySqlScript.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -145,6 +145,13 @@
connection.Open();
}
+ // since we don't allow setting of parameters on a script we can
+ // therefore safely allow the use of user variables. no one should be using
+ // this connection while we are using it so we can temporarily tell it
+ // to allow the use of user variables
+ bool allowUserVars = connection.Settings.AllowUserVariables;
+ connection.Settings.AllowUserVariables = true;
+
try
{
string mode = connection.driver.Property("sql_mode");
@@ -179,6 +186,7 @@
}
finally
{
+ connection.Settings.AllowUserVariables = allowUserVars;
if (openedConnection)
{
connection.Close();
Modified: trunk/MySql.Data/Provider/Source/command.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/command.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/command.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -252,9 +252,11 @@
if (!connection.driver.Version.isAtLeast(5, 0, 0))
throw new NotSupportedException(Resources.CancelNotSupported);
- using(MySqlConnection c = new MySqlConnection(connection.Settings.GetConnectionString(true)))
+ MySqlConnectionStringBuilder cb = new MySqlConnectionStringBuilder(
+ connection.Settings.GetConnectionString(true));
+ cb.Pooling = false;
+ using(MySqlConnection c = new MySqlConnection(cb.ConnectionString))
{
- c.Settings.Pooling = false;
c.Open();
MySqlCommand cmd = new MySqlCommand(String.Format("KILL QUERY {0}",
connection.ServerThread), c);
Modified: trunk/MySql.Data/Provider/Source/datareader.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/datareader.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/datareader.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -242,6 +242,30 @@
return (byte)((MySqlByte)v).Value;
}
+ /// <summary>
+ /// Gets the value of the specified column as a sbyte.
+ /// </summary>
+ /// <param name="name"></param>
+ /// <returns></returns>
+ public byte GetSByte(string name)
+ {
+ return GetByte(GetOrdinal(name));
+ }
+
+ /// <summary>
+ /// Gets the value of the specified column as a sbyte.
+ /// </summary>
+ /// <param name="i"></param>
+ /// <returns></returns>
+ public sbyte GetSByte(int i)
+ {
+ IMySqlValue v = GetFieldValue(i, false);
+ if (v is MySqlByte)
+ return ((MySqlByte)v).Value;
+ else
+ return (sbyte)((MySqlByte)v).Value;
+ }
+
/// <summary>
/// Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset.
/// </summary>
Modified: trunk/MySql.Data/Provider/Source/transaction.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/transaction.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Provider/Source/transaction.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -77,6 +77,13 @@
#endregion
+ protected override void Dispose(bool disposing)
+ {
+ if ((conn != null && conn.State == ConnectionState.Open || conn.SoftClosed) && open)
+ Rollback();
+ base.Dispose(disposing);
+ }
+
/// <include file='docs/MySqlTransaction.xml' path='docs/Commit/*'/>
public override void Commit()
{
Modified: trunk/MySql.Data/Tests/Source/CharacterSetTests.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/CharacterSetTests.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/CharacterSetTests.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -552,6 +552,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Modified: trunk/MySql.Data/Tests/Source/ConnectionStringBuilder.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/ConnectionStringBuilder.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/ConnectionStringBuilder.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -92,7 +92,7 @@
MySqlConnectionStringBuilder s = new MySqlConnectionStringBuilder();
s["database"] = "test";
s["database"] = "test2";
- Assert.AreEqual("database=test2", s.GetConnectionString(false));
+ Assert.AreEqual("database=test2", s.ConnectionString);
}
}
}
Modified: trunk/MySql.Data/Tests/Source/DataTypeTests.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/DataTypeTests.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/DataTypeTests.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -768,7 +768,27 @@
}
}
+ /// <summary>
+ /// Bug #40571 Add GetSByte to the list of public methods supported by MySqlDataReader
+ /// </summary>
[Test]
+ public void SByteFromReader()
+ {
+ execSQL("DROP TABLE IF EXISTS Test");
+ execSQL("CREATE TABLE Test (c1 TINYINT, c2 TINYINT UNSIGNED)");
+ execSQL("INSERT INTO Test VALUES (99, 217)");
+
+ MySqlCommand cmd = new MySqlCommand("SELECT * FROM Test", conn);
+ using (MySqlDataReader reader = cmd.ExecuteReader())
+ {
+ reader.Read();
+ Assert.AreEqual(99, reader.GetSByte(0));
+ Assert.AreEqual(217, reader.GetByte(1));
+ Assert.AreEqual(99, reader.GetByte(0));
+ }
+ }
+
+ [Test]
public void NewGuidDataType()
{
execSQL("CREATE TABLE Test(id INT, g BINARY(16))");
Modified: trunk/MySql.Data/Tests/Source/PoolingTests.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/PoolingTests.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/PoolingTests.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -728,7 +728,7 @@
-
Modified: trunk/MySql.Data/Tests/Source/ScriptExecution.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/ScriptExecution.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/ScriptExecution.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -155,11 +155,18 @@
[Test]
public void ExecuteScriptWithUserVariables()
{
- string scriptText = "SET @myvar = 1";
- MySqlScript script = new MySqlScript(scriptText);
- script.Connection = conn;
- int count = script.Execute();
- Assert.AreEqual(2, count);
+ string connStr = conn.ConnectionString.ToLowerInvariant();
+ connStr = connStr.Replace("allow user variables=true",
+ "allow user variables=false");
+ using (MySqlConnection c = new MySqlConnection(connStr))
+ {
+ c.Open();
+ string scriptText = "SET @myvar = 1";
+ MySqlScript script = new MySqlScript(scriptText);
+ script.Connection = c;
+ int count = script.Execute();
+ Assert.AreEqual(1, count);
+ }
}
}
}
Modified: trunk/MySql.Data/Tests/Source/SimpleTransactions.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/SimpleTransactions.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/SimpleTransactions.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -24,6 +24,7 @@
using NUnit.Framework;
#if NET20
using System.Data.Common;
+using System.Reflection;
#endif
namespace MySql.Data.MySqlClient.Tests
@@ -133,12 +134,31 @@
trans.Commit();
Assert.Fail("Should have thrown an exception");
}
- catch (Exception ex)
+ catch (Exception)
{
}
Assert.AreEqual(ConnectionState.Closed, c.State);
c.Close(); // this should work even though we are closed
}
}
+
+ /// <summary>
+ /// Bug #39817 Transaction Dispose does not roll back
+ /// </summary>
+ [Test]
+ public void DisposingCallsRollback()
+ {
+ MySqlCommand cmd = new MySqlCommand("INSERT INTO Test VALUES ('a', 'b', 'c')", conn);
+ MySqlTransaction txn = conn.BeginTransaction();
+ using (txn)
+ {
+ cmd.ExecuteNonQuery();
+ }
+ // the txn should be closed now as a rollback should have happened.
+ Type t = txn.GetType();
+ FieldInfo fi = t.GetField("open", BindingFlags.Instance | BindingFlags.NonPublic);
+ bool isOpen = (bool)fi.GetValue(txn);
+ Assert.IsFalse(isOpen);
+ }
}
}
Modified: trunk/MySql.Data/Tests/Source/TimeoutAndCancel.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/TimeoutAndCancel.cs 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.Data/Tests/Source/TimeoutAndCancel.cs 2008-11-12 16:53:36 UTC (rev 1459)
@@ -23,6 +23,7 @@
using System.IO;
using System.Threading;
using NUnit.Framework;
+using System.Globalization;
namespace MySql.Data.MySqlClient.Tests
{
@@ -210,5 +211,35 @@
}
Assert.IsTrue(rows < 10000);
}
+
+ /// <summary>
+ /// Bug #40091 mysql driver 5.2.3.0 connection pooling issue
+ /// </summary>
+ [Test]
+ public void ConnectionStringModifiedAfterCancel()
+ {
+ bool isPooling = pooling;
+ pooling = true;
+ string connStr = GetConnectionString(true);
+ pooling = isPooling;
+ connStr = connStr.Replace("persist security info=true", "persist security info=false");
+
+ using (MySqlConnection c = new MySqlConnection(connStr))
+ {
+ c.Open();
+ string connStr1 = c.ConnectionString;
+
+ MySqlCommand cmd = new MySqlCommand("SELECT SLEEP(10)", c);
+ cmd.CommandTimeout = 5;
+
+ using (MySqlDataReader reader = cmd.ExecuteReader())
+ {
+ string connStr2 = c.ConnectionString.ToLower(CultureInfo.InvariantCulture);
+ Assert.AreEqual(-1, connStr2.IndexOf("pooling=true"));
+ Assert.AreEqual(-1, connStr2.IndexOf("pooling=false"));
+ reader.Read();
+ }
+ }
+ }
}
}
Modified: trunk/MySql.VisualStudio/MySql.VisualStudio.csproj
===================================================================
--- trunk/MySql.VisualStudio/MySql.VisualStudio.csproj 2008-11-12 16:42:28 UTC (rev 1458)
+++ trunk/MySql.VisualStudio/MySql.VisualStudio.csproj 2008-11-12 16:53:36 UTC (rev 1459)
@@ -77,7 +77,6 @@
<HintPath>C:\Program Files (x86)\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Common\Assemblies\Microsoft.VisualStudio.TextManager.Interop.8.0.dll</HintPath>
</Reference>
<Reference Include="System" />
- <Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
@@ -162,9 +161,6 @@
<Compile Include="Guids.cs" />
<Compile Include="LanguageService\MySqlScanner.cs" />
<Compile Include="LanguageService\Source.cs" />
- <Compile Include="MyInstaller.cs">
- <SubType>Component</SubType>
- </Compile>
<Compile Include="MySqlProviderObjectFactory.cs" />
<Compile Include="Nodes\BaseNode.cs" />
<Compile Include="DbObjects\Column.cs" />
| Thread |
|---|
| • Connector/NET commit: r1459 - in trunk: . Installer MySql.Data/Provider/Source MySql.Data/Tests/Source MySql.VisualStudio | rburnett | 12 Nov |