Skip to content

Commit f913876

Browse files
committed
Merge master into net9.
Conflicts: azure-pipelines.yml
2 parents 8c01776 + e6bb115 commit f913876

File tree

7 files changed

+21
-57
lines changed

7 files changed

+21
-57
lines changed

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
99
<NuGetAudit>true</NuGetAudit>
1010
<NuGetAuditLevel>low</NuGetAuditLevel>
11+
<NuGetAuditMode>all</NuGetAuditMode>
1112
</PropertyGroup>
1213

1314
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">

Directory.Packages.props

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,31 @@
66

77
<ItemGroup>
88
<PackageVersion Include="AdoNet.Specification.Tests" Version="2.0.0-beta.2" />
9-
<PackageVersion Include="Dapper.StrongName" Version="2.1.28" />
9+
<PackageVersion Include="Dapper.StrongName" Version="2.1.35" />
1010
<PackageVersion Include="IndexRange" Version="1.0.2" />
1111
<PackageVersion Include="log4net" Version="2.0.10" />
12-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.1" />
12+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
1313
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
1414
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
1515
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
1616
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
1717
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.1" />
18-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
18+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
1919
<PackageVersion Include="MySql.Data" Version="9.0.0" />
2020
<PackageVersion Include="NLog" Version="4.5.0" />
2121
<PackageVersion Include="Serilog" Version="2.6.0" />
2222
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
2323
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="7.0.2" />
24+
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
2425
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
25-
<PackageVersion Include="xunit" Version="2.7.0" />
26-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.7" />
27-
<PackageVersion Include="YamlDotNet" Version="13.7.1" />
26+
<PackageVersion Include="xunit" Version="2.9.0" />
27+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
28+
<PackageVersion Include="YamlDotNet" Version="15.3.0" />
2829
</ItemGroup>
2930

3031
<ItemGroup>
3132
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
32-
<GlobalPackageReference Include="MinVer" Version="4.3.0" />
33+
<GlobalPackageReference Include="MinVer" Version="5.0.0" />
3334
</ItemGroup>
3435

3536
</Project>

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,3 @@ Development of MySqlConnector is supported by:
113113
[![Faithlife](https://files.logoscdn.com/v1/files/4319104/content.svg?signature=3szVb3XmOfYMAxIv-LmuNYL_290)](https://faithlife.com/about)
114114

115115
[Faithlife](https://faithlife.com/about) ([View jobs](https://faithlife.com/careers))
116-
117-
[![Microsoft Azure](https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Microsoft_Azure.svg/75px-Microsoft_Azure.svg.png)](https://azure.microsoft.com/en-us/overview/open-source/)
118-
119-
[Azure Credits for Open Source](https://opensource.microsoft.com/azure-credits)

azure-pipelines.yml

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -86,48 +86,6 @@ jobs:
8686
image: 'mysql:8.0'
8787
connectionString: 'server=localhost;port=3306;user id=mysqltest;password=test;database=conformance;ssl mode=none;DefaultCommandTimeout=3600;AllowPublicKeyRetrieval=True'
8888

89-
- job: azure_mysql_integration_tests
90-
condition: ne('True', variables['System.PullRequest.IsFork'])
91-
displayName: 'Azure MySQL Integration Tests'
92-
pool:
93-
vmimage: 'windows-latest'
94-
steps:
95-
- task: PowerShell@2
96-
displayName: Create Database
97-
inputs:
98-
targetType: inline
99-
script: "mysql -u$(Azure MySQL Root User) -p$(Azure MySQL Root Password) -h '$(Azure MySQL Host)' -e 'create schema mysqltest_$(Build.BuildId) collate utf8mb4_0900_ai_ci;'"
100-
- task: UseDotNet@2
101-
displayName: 'Install .NET'
102-
inputs:
103-
version: $(DotNetCoreSdkVersion)
104-
includePreviewVersions: true
105-
- task: PowerShell@2
106-
displayName: 'Copy Azure config'
107-
inputs:
108-
targetType: inline
109-
script: Copy-Item -Path ".\.ci\config\config.ssl.json" -Destination ".\tests\IntegrationTests\config.json"
110-
- task: DotNetCoreCLI@2
111-
displayName: 'Restore packages'
112-
inputs:
113-
command: 'restore'
114-
- task: DotNetCoreCLI@2
115-
displayName: 'Integration tests (net9.0)'
116-
inputs:
117-
command: 'test'
118-
projects: 'tests/IntegrationTests/IntegrationTests.csproj'
119-
arguments: '-c Release -f net9.0 --no-restore'
120-
testRunTitle: ${{ format('{0}, $(Agent.OS), {1}, {2}', 'Azure', 'net9.0', 'SSL') }}
121-
env:
122-
DATA__UNSUPPORTEDFEATURES: 'CachingSha2Password,Ed25519,GlobalLog,KnownCertificateAuthority,QueryAttributes,RsaEncryption,Sha256Password,StreamingResults,Timeout,Tls11,Tls13,UnixDomainSocket,ZeroDateTime'
123-
DATA__CONNECTIONSTRING: "$(AzureConnectionString);database=mysqltest_$(Build.BuildId);ssl mode=Required;DefaultCommandTimeout=3600;AllowPublicKeyRetrieval=True"
124-
- task: PowerShell@2
125-
displayName: Drop Database
126-
condition: always()
127-
inputs:
128-
targetType: inline
129-
script: "mysql -u$(Azure MySQL Root User) -p$(Azure MySQL Root Password) -h '$(Azure MySQL Host)' -e 'drop schema if exists mysqltest_$(Build.BuildId);'"
130-
13189
- job: windows_integration_tests_1
13290
displayName: 'Windows Integration Tests (Part 1)'
13391
pool:

src/MySqlConnector/Core/CachedProcedure.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,10 @@ internal static List<CachedParameter> ParseParameters(string parametersSql)
153153
return [];
154154

155155
// strip precision specifier containing comma
156-
parametersSql = s_numericTypes.Replace(parametersSql, @"$1");
156+
parametersSql = s_numericTypes.Replace(parametersSql, "$1");
157157

158158
// strip enum values containing commas (these would have been stripped by ParseDataType anyway)
159-
parametersSql = s_enum.Replace(parametersSql, "ENUM");
159+
parametersSql = s_enumOrSet.Replace(parametersSql, "$1");
160160

161161
var parameters = parametersSql.Split(',');
162162
var cachedParameters = new List<CachedParameter>(parameters.Length);
@@ -195,7 +195,7 @@ internal static string ParseDataType(string sql, out bool unsigned, out int leng
195195
{
196196
sql = s_characterSet.Replace(sql, "");
197197
sql = s_collate.Replace(sql, "");
198-
sql = s_enum.Replace(sql, "ENUM");
198+
sql = s_enumOrSet.Replace(sql, "$1");
199199

200200
length = 0;
201201
var match = s_length.Match(sql);
@@ -260,7 +260,7 @@ private static CachedParameter CreateCachedParameter(int ordinal, string? direct
260260
private static readonly Regex s_singleLineComments = new(@"(^|\s)--.*?$", RegexOptions.Multiline);
261261
private static readonly Regex s_multipleSpaces = new(@"\s+");
262262
private static readonly Regex s_numericTypes = new(@"(DECIMAL|DEC|FIXED|NUMERIC|FLOAT|DOUBLE PRECISION|DOUBLE|REAL)\s*\([0-9]+(,\s*[0-9]+)\)", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
263-
private static readonly Regex s_enum = new(@"ENUM\s*\([^)]+\)", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
263+
private static readonly Regex s_enumOrSet = new(@"(ENUM|SET)\s*\([^)]+\)", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
264264
private static readonly Regex s_parameterName = new(@"^(?:`((?:[\u0001-\u005F\u0061-\uFFFF]+|``)+)`|([A-Za-z0-9$_\u0080-\uFFFF]+)) (.*)$");
265265
private static readonly Regex s_characterSet = new(" (CHARSET|CHARACTER SET) [A-Za-z0-9_]+", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
266266
private static readonly Regex s_collate = new(" (COLLATE) [A-Za-z0-9_]+", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);

tests/IntegrationTests/IntegrationTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
4141
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
4242
<PackageReference Include="Microsoft.Extensions.Configuration.Json" />
43+
<PackageReference Include="System.Text.Json" />
4344
<Using Include="System" />
4445
<Using Include="System.Data" />
4546
<Using Include="System.Data.Common" />

tests/MySqlConnector.Tests/CachedProcedureTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ public static IEnumerable<object[]> CreateParseableParameters()
121121
new CachedParameter(1, "INOUT", "param", "LONGTEXT", false, 0),
122122
}
123123
],
124+
[
125+
"ColSet set('set1','set2','set3')", new object[]
126+
{
127+
new CachedParameter(1, "IN", "ColSet", "SET", false, 0),
128+
}
129+
],
124130
[
125131
@"IN param1 DATETIME(6),
126132
-- ignored1
@@ -189,6 +195,7 @@ param4 INTEGER(3)
189195
[InlineData("NUMERIC(12)", "DECIMAL", false, 12)]
190196
[InlineData("FIXED(12)", "DECIMAL", false, 12)]
191197
[InlineData("ENUM('a','b','c')", "ENUM", false, 0)]
198+
[InlineData("SET('a','b','c')", "SET", false, 0)]
192199
public void ParseDataType(string sql, string expectedDataType, bool expectedUnsigned, int expectedLength)
193200
{
194201
var dataType = CachedProcedure.ParseDataType(sql, out var unsigned, out var length);

0 commit comments

Comments
 (0)