Skip to content

Commit ffe19aa

Browse files
committed
Merge master into send_long_data.
Signed-off-by: Bradley Grainger <[email protected]>
2 parents a82738f + 7f853e3 commit ffe19aa

File tree

138 files changed

+1756
-5409
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+1756
-5409
lines changed

.ci/config/config.compression+ssl.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
55
"PasswordlessUser": "no_password",
66
"SecondaryDatabase": "testdb2",
7-
"UnsupportedFeatures": "CachingSha2Password,Redirection,RsaEncryption,Tls12,Tls13,TlsFingerprintValidation,UuidToBin",
7+
"UnsupportedFeatures": "CachingSha2Password,Redirection,RsaEncryption,Tls12,Tls13,TlsFingerprintValidation,UuidToBin,Vector",
88
"MySqlBulkLoaderLocalCsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
99
"MySqlBulkLoaderLocalTsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
1010
"CertificatesPath": "../../../../.ci/server/certs"

.ci/config/config.compression.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
55
"PasswordlessUser": "no_password",
66
"SecondaryDatabase": "testdb2",
7-
"UnsupportedFeatures": "Ed25519,QueryAttributes,Redirection,StreamingResults,Tls11,TlsFingerprintValidation,UnixDomainSocket,ZeroDateTime",
7+
"UnsupportedFeatures": "Ed25519,QueryAttributes,ParsecAuthentication,Redirection,StreamingResults,Tls11,TlsFingerprintValidation,UnixDomainSocket,Vector,ZeroDateTime",
88
"MySqlBulkLoaderLocalCsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.CSV",
99
"MySqlBulkLoaderLocalTsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.TSV"
1010
}

.ci/config/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
55
"PasswordlessUser": "no_password",
66
"SecondaryDatabase": "testdb2",
7-
"UnsupportedFeatures": "Ed25519,QueryAttributes,Redirection,StreamingResults,Tls11,TlsFingerprintValidation,UnixDomainSocket,ZeroDateTime",
7+
"UnsupportedFeatures": "Ed25519,QueryAttributes,ParsecAuthentication,Redirection,StreamingResults,Tls11,TlsFingerprintValidation,UnixDomainSocket,Vector,ZeroDateTime",
88
"MySqlBulkLoaderLocalCsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.CSV",
99
"MySqlBulkLoaderLocalTsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.TSV"
1010
}

.ci/config/config.ssl.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
55
"PasswordlessUser": "no_password",
66
"SecondaryDatabase": "testdb2",
7-
"UnsupportedFeatures": "CachingSha2Password,Redirection,RsaEncryption,Tls12,Tls13,TlsFingerprintValidation,UuidToBin",
7+
"UnsupportedFeatures": "CachingSha2Password,Redirection,RsaEncryption,Tls12,Tls13,TlsFingerprintValidation,UuidToBin,Vector",
88
"MySqlBulkLoaderLocalCsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.CSV",
99
"MySqlBulkLoaderLocalTsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.TSV",
1010
"CertificatesPath": "../../../../.ci/server/certs"

.ci/docker-run.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ MYSQL_EXTRA=
2626
MYSQL=mysql
2727

2828
if [[ "$IMAGE" == mariadb* ]]; then
29-
MYSQL_EXTRA='--in-predicate-conversion-threshold=100000'
29+
MYSQL_EXTRA='--in-predicate-conversion-threshold=100000 --plugin-maturity=beta'
3030
fi
31-
if [ "$IMAGE" == "mariadb:11.4" ]; then
31+
if [ "$IMAGE" == "mariadb:11.4" ] || [ "$IMAGE" == "mariadb:11.7" ]; then
3232
MYSQL='mariadb'
3333
fi
3434

@@ -79,6 +79,12 @@ for i in `seq 1 120`; do
7979
if [ $? -ne 0 ]; then exit $?; fi
8080
fi
8181

82+
if [[ $OMIT_FEATURES != *"ParsecAuthentication"* ]]; then
83+
echo "Installing auth_parsec component"
84+
docker exec mysql bash -c "$MYSQL -uroot -ptest < /etc/mysql/conf.d/init_parsec.sql"
85+
if [ $? -ne 0 ]; then exit $?; fi
86+
fi
87+
8288
if [[ $OMIT_FEATURES != *"QueryAttributes"* ]]; then
8389
echo "Installing query_attributes component"
8490
docker exec mysql $MYSQL -uroot -ptest -e "INSTALL COMPONENT 'file://component_query_attributes';"

.ci/server/init_parsec.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
INSTALL SONAME 'auth_parsec';
2+
CREATE USER 'parsec-user'@'%' IDENTIFIED via parsec using PASSWORD('P@rs3c-Pa55');
3+
GRANT ALL PRIVILEGES ON *.* TO 'parsec-user'@'%';

.github/copilot-instructions.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# AI Instructions
2+
3+
## Project Context
4+
5+
MySqlConnector is a high-performance ADO.NET Data Provider for MySQL.
6+
It implements the MySQL protocol and handles authentication, connection pooling, and data access.
7+
8+
## Key Conventions
9+
10+
### Code Style
11+
- follow Microsoft's C# coding conventions with the exception that field names are prefixed with `m_` and are specified at the end of the class definition
12+
- use C# nullable reference types and implicit usings
13+
- XML documentation required for public APIs
14+
- use tabs for indentation in *.cs files; use two spaces for indentation in XML and JSON files, including *.csproj files
15+
- follow the rules from `.editorconfig`
16+
- implement async methods using the IOBehavior pattern: sync and async methods delegate to a common implementation that takes an IOBehavior parameter and handles both I/O types
17+
18+
### Performance
19+
- minimize allocations in hot paths
20+
- use Span-based APIs wherever possible
21+
22+
### Testing
23+
- Test files should be located in corresponding test directories. Place unit tests in tests/MySqlConnector.Tests. Place integration tests in tests/IntegrationTests.
24+
- Test names should be descriptive and follow the pattern `CamelCaseShortDescription`.
25+
- Use xUnit for tests.

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
run: dotnet build --configuration Release --no-restore
2626

2727
- name: Component detection
28-
uses: advanced-security/component-detection-dependency-submission-action@v0.0.3
28+
uses: advanced-security/component-detection-dependency-submission-action@v0.1.0
2929

3030
native-aot:
3131
name: Native AOT
@@ -35,7 +35,7 @@ jobs:
3535
tfm: [ 'net8.0', 'net9.0' ]
3636
services:
3737
mysql:
38-
image: mysql:9.1
38+
image: mysql:9.3
3939
env:
4040
MYSQL_DATABASE: testdb
4141
MYSQL_ROOT_PASSWORD: pass

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ project.lock.json
1111
_ReSharper.*
1212
TestResult.xml
1313
Thumbs.db
14+
.aider*
1415
*.csproj.user
1516
*.DotSettings.user
1617
.idea

Directory.Build.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
<NuGetAudit>true</NuGetAudit>
1010
<NuGetAuditLevel>low</NuGetAuditLevel>
1111
<NuGetAuditMode>all</NuGetAuditMode>
12-
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
1312
</PropertyGroup>
1413

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

0 commit comments

Comments
 (0)