Skip to content

Commit

Permalink
Revert "Updated Mysql.data.dll version and related dependencies (#58)" (
Browse files Browse the repository at this point in the history
#61)

This reverts commit e54d544.
  • Loading branch information
mithrandyr authored May 14, 2022
1 parent e54d544 commit cd7e5b9
Show file tree
Hide file tree
Showing 10 changed files with 237 additions and 19,159 deletions.
Binary file removed SimplySql/Providers/MySql/BouncyCastle.Crypto.dll
Binary file not shown.
Binary file modified SimplySql/Providers/MySql/Google.Protobuf.dll
Binary file not shown.
Binary file not shown.
Binary file modified SimplySql/Providers/MySql/MySql.Data.dll
Binary file not shown.
18,920 changes: 0 additions & 18,920 deletions SimplySql/Providers/MySql/MySql.Data.xml

This file was deleted.

Binary file removed SimplySql/Providers/MySql/System.Memory.dll
Binary file not shown.
Binary file removed SimplySql/Providers/MySql/Ubiety.Dns.Core.dll
Binary file not shown.
Binary file removed SimplySql/Providers/MySql/ZstdNet.dll
Binary file not shown.
216 changes: 107 additions & 109 deletions SimplySql/Providers/MySql/config.ps1
Original file line number Diff line number Diff line change
@@ -1,110 +1,108 @@
#Load Up My Sql libraries

Add-Type -Path "$PSScriptRoot\Google.Protobuf.dll"
Add-Type -Path "$PSScriptRoot\MySql.Data.dll"

#Provider Class
. "$PSScriptRoot\provider.ps1"

#Open Cmdlet
Function Open-MySqlConnection {
<#
.Synopsis
Open a connection to a MySql Database.
.Description
Open a connection to a MySql Database.
MySql (MySql.Data)
MySql Managed Data Access @ https://dev.mysql.com/downloads/
.NET Provider @ https://www.nuget.org/packages/mysql.Data/6.9.9
.Parameter ConnectionName
The name to associate with the newly created connection.
This connection will be used with other cmdlets when specifying
-ConnectionName <name>. If you don't specify one, it will be
set to the default.
.Parameter ConnectionString
Specifies a provider specific connectionstring to be used.
.Parameter CommandTimeout
The default command timeout to be used for all commands executed against this connection.
.Parameter Server
The Server for the connection.
.Parameter Database
Database name.
.Parameter Port
Port to connect on, if different from default (3306).
.Parameter UserName
User to authenticate as. (deprecated, use -Credential)
.Parameter Password
Password for the user. (deprecated, use -Credential)
.Parameter SSLMode
None: Do not use SSL.
Required: Always use SSL. Deny connection if server does not support SSL. Do not perform server certificate validation.
VerifyCA: Always use SSL. Validate server SSL certificate, but different host name mismatch.
VerifyFull: Always use SSL and perform full certificate validation.
#>
[CmdletBinding(DefaultParameterSetName="default")]
Param([Parameter(ValueFromPipelineByPropertyName)][Alias("cn")][string]$ConnectionName = "default"
, [Parameter(ValueFromPipelineByPropertyName)][int]$CommandTimeout = 30
, [Parameter(ValueFromPipelineByPropertyName, ParameterSetName="default", Position=0)]
[Parameter(ValueFromPipelineByPropertyName, ParameterSetName="userpass", Position=0)][string]$Server = "localhost"
, [Parameter(ValueFromPipelineByPropertyName, ParameterSetName="default", Position=1)]
[Parameter(ValueFromPipelineByPropertyName, ParameterSetName="userpass", Position=1)][string]$Database = "mysql"
, [Parameter(ValueFromPipelineByPropertyName, ParameterSetName="default")]
[Parameter(ValueFromPipelineByPropertyName, ParameterSetName="userpass")][int]$Port = 3306
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="default")][pscredential]$Credential
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="userpass")][string]$UserName
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="userpass")][string]$Password
, [Parameter(ValueFromPipeline, ParameterSetName="default")]
[Parameter(ValueFromPipeline, ParameterSetName="userpass")]
[ValidateSet("None","Required","VerifyCA","VerifyFull")][string]$SSLMode = "None"
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="Conn")][string]$ConnectionString)

If($Script:Connections.ContainsKey($ConnectionName)) { Close-SqlConnection $ConnectionName }

$sb = [MySql.Data.MySqlClient.MySqlConnectionStringBuilder]::new()

If($PSCmdlet.ParameterSetName -eq "Conn") { $conn = [MySql.Data.MySqlClient.MySqlConnection]::new($ConnectionString) }
Else {
$sb.Server = $Server
$sb.Database = $Database
If($Port) { $sb.Port = $Port }
If($Credential) {
$sb.UserID = $Credential.UserName
$sb.Password = $Credential.GetNetworkCredential().Password
}
Else {
Write-Warning "You are using -UserName and -Password, these options are deprecated and will be removed in the future. Please consider using -Credential."
$sb.UserId = $UserName
$sb.Password = $Password
}

$sb.UseAffectedRows = $true
$sb.AllowUserVariables = $true
$sb.SslMode = $SSLMode

$conn = [MySql.Data.MySqlClient.MySqlConnection]::new($sb.ConnectionString)
$sb.Clear()
$sb = $null
Remove-Variable sb
}

Try { $conn.Open() }
Catch {
$conn.Dispose()
Throw $_
}
$Script:Connections.$ConnectionName = [MySqlProvider]::new($ConnectionName, $CommandTimeout, $conn)
}

#Load Up My Sql libraries
Add-Type -Path "$PSScriptRoot\MySql.Data.dll"

#Provider Class
. "$PSScriptRoot\provider.ps1"

#Open Cmdlet
Function Open-MySqlConnection {
<#
.Synopsis
Open a connection to a MySql Database.
.Description
Open a connection to a MySql Database.
MySql (MySql.Data)
MySql Managed Data Access @ https://dev.mysql.com/downloads/
.NET Provider @ https://www.nuget.org/packages/mysql.Data/6.9.9
.Parameter ConnectionName
The name to associate with the newly created connection.
This connection will be used with other cmdlets when specifying
-ConnectionName <name>. If you don't specify one, it will be
set to the default.
.Parameter ConnectionString
Specifies a provider specific connectionstring to be used.
.Parameter CommandTimeout
The default command timeout to be used for all commands executed against this connection.
.Parameter Server
The Server for the connection.
.Parameter Database
Database name.
.Parameter Port
Port to connect on, if different from default (3306).
.Parameter UserName
User to authenticate as. (deprecated, use -Credential)
.Parameter Password
Password for the user. (deprecated, use -Credential)
.Parameter SSLMode
None: Do not use SSL.
Required: Always use SSL. Deny connection if server does not support SSL. Do not perform server certificate validation.
VerifyCA: Always use SSL. Validate server SSL certificate, but different host name mismatch.
VerifyFull: Always use SSL and perform full certificate validation.
#>
[CmdletBinding(DefaultParameterSetName="default")]
Param([Parameter(ValueFromPipelineByPropertyName)][Alias("cn")][string]$ConnectionName = "default"
, [Parameter(ValueFromPipelineByPropertyName)][int]$CommandTimeout = 30
, [Parameter(ValueFromPipelineByPropertyName, ParameterSetName="default", Position=0)]
[Parameter(ValueFromPipelineByPropertyName, ParameterSetName="userpass", Position=0)][string]$Server = "localhost"
, [Parameter(ValueFromPipelineByPropertyName, ParameterSetName="default", Position=1)]
[Parameter(ValueFromPipelineByPropertyName, ParameterSetName="userpass", Position=1)][string]$Database = "mysql"
, [Parameter(ValueFromPipelineByPropertyName, ParameterSetName="default")]
[Parameter(ValueFromPipelineByPropertyName, ParameterSetName="userpass")][int]$Port = 3306
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="default")][pscredential]$Credential
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="userpass")][string]$UserName
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="userpass")][string]$Password
, [Parameter(ValueFromPipeline, ParameterSetName="default")]
[Parameter(ValueFromPipeline, ParameterSetName="userpass")]
[ValidateSet("None","Required","VerifyCA","VerifyFull")][string]$SSLMode = "None"
, [Parameter(Mandatory, ValueFromPipelineByPropertyName, ParameterSetName="Conn")][string]$ConnectionString)

If($Script:Connections.ContainsKey($ConnectionName)) { Close-SqlConnection $ConnectionName }

$sb = [MySql.Data.MySqlClient.MySqlConnectionStringBuilder]::new()

If($PSCmdlet.ParameterSetName -eq "Conn") { $conn = [MySql.Data.MySqlClient.MySqlConnection]::new($ConnectionString) }
Else {
$sb.Server = $Server
$sb.Database = $Database
If($Port) { $sb.Port = $Port }
If($Credential) {
$sb.UserID = $Credential.UserName
$sb.Password = $Credential.GetNetworkCredential().Password
}
Else {
Write-Warning "You are using -UserName and -Password, these options are deprecated and will be removed in the future. Please consider using -Credential."
$sb.UserId = $UserName
$sb.Password = $Password
}

$sb.UseAffectedRows = $true
$sb.AllowUserVariables = $true
$sb.SslMode = $SSLMode

$conn = [MySql.Data.MySqlClient.MySqlConnection]::new($sb.ConnectionString)
$sb.Clear()
$sb = $null
Remove-Variable sb
}

Try { $conn.Open() }
Catch {
$conn.Dispose()
Throw $_
}
$Script:Connections.$ConnectionName = [MySqlProvider]::new($ConnectionName, $CommandTimeout, $conn)
}

Export-ModuleMember -Function Open-MySqlConnection
Loading

0 comments on commit cd7e5b9

Please sign in to comment.