Skip to content

Commit a1a8b64

Browse files
committed
Merge master into schema-collections.
2 parents 0bf25b9 + 25012b3 commit a1a8b64

22 files changed

+297
-123
lines changed

.ci/docker-run.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ docker run -d \
4040
-p $PORT:3306 \
4141
--name mysql \
4242
-e MYSQL_ROOT_PASSWORD='test' \
43+
--tmpfs /var/lib/mysql \
4344
$IMAGE \
4445
--log-bin-trust-function-creators=1 \
4546
--local-infile=1 \

docs/content/home.md

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,33 @@ Install MySqlConnector from [NuGet](https://www.nuget.org/packages/MySqlConnecto
3333
Connecting to your database is simple. For example, in C#:
3434

3535
```csharp
36-
using (var connection = new MySqlConnection("Server=myserver;User ID=mylogin;Password=mypass;Database=mydatabase"))
37-
{
38-
connection.Open();
39-
40-
using (var command = new MySqlCommand("SELECT field FROM table;", connection))
41-
using (var reader = command.ExecuteReader())
42-
while (reader.Read())
43-
Console.WriteLine(reader.GetString(0));
44-
}
36+
using var connection = new MySqlConnection("Server=myserver;User ID=mylogin;Password=mypass;Database=mydatabase");
37+
connection.Open();
38+
39+
using var command = new MySqlCommand("SELECT field FROM table;", connection);
40+
using var reader = command.ExecuteReader();
41+
while (reader.Read())
42+
Console.WriteLine(reader.GetString(0));
4543
```
4644

4745
For more information, see [how to install](./overview/installing/) and a [basic example](./tutorials/basic-api/) of using the API.
4846
[Many ORMs](/overview/use-with-orms/) are supported.
4947

48+
49+
### Asynchronous I/O
50+
51+
MySqlConnector also fully supports asynchronous I/O. The C# example above can be rewritten as:
52+
53+
```csharp
54+
await using var connection = new MySqlConnection("Server=myserver;User ID=mylogin;Password=mypass;Database=mydatabase");
55+
await connection.OpenAsync();
56+
57+
using var command = new MySqlCommand("SELECT field FROM table;", connection);
58+
await using var reader = await command.ExecuteReaderAsync();
59+
while (await reader.ReadAsync())
60+
Console.WriteLine(reader.GetString(0));
61+
```
62+
5063
## Performance
5164

5265
MySqlConnector outperforms Connector/NET (MySql.Data) on benchmarks:

docs/content/overview/version-history.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
lastmod: 2022-06-04
2+
lastmod: 2022-07-13
33
date: 2017-03-27
44
menu:
55
main:
@@ -10,6 +10,12 @@ weight: 30
1010

1111
# Version History
1212

13+
### 2.1.11
14+
15+
* Fix `NullReferenceException` in `MySqlConnector.Utilities.TimerQueue.Callback`: [#1177](https://github.com/mysql-net/MySqlConnector/issues/1177).
16+
* Support floating point infinity: [#1185](https://github.com/mysql-net/MySqlConnector/issues/1185).
17+
* Thanks to [Maico Dionisio](https://github.com/maicodio) for contributions to this release.
18+
1319
### 2.1.10
1420

1521
* Add `MySqlBulkCopy.ConflictOption` setting: [#1176](https://github.com/mysql-net/MySqlConnector/pull/1176).

docs/content/tutorials/migrating-from-connector-net.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ The following bugs in Connector/NET are fixed by switching to MySqlConnector. (~
197197
* [#37283](https://bugs.mysql.com/bug.php?id=37283), [#70587](https://bugs.mysql.com/bug.php?id=70587): Distributed transactions are not supported
198198
* [#50773](https://bugs.mysql.com/bug.php?id=50773): Can’t use multiple connections within one TransactionScope
199199
* [#61477](https://bugs.mysql.com/bug.php?id=61477): `ColumnOrdinal` in schema table is 1-based
200-
* [#66476](https://bugs.mysql.com/bug.php?id=66476): Connection pool uses queue instead of stack
200+
* ~~[#66476](https://bugs.mysql.com/bug.php?id=66476), [#106368](https://bugs.mysql.com/bug.php?id=106368): Connection pool uses queue instead of stack~~
201201
* [#70111](https://bugs.mysql.com/bug.php?id=70111): `Async` methods execute synchronously
202202
* ~~[#70686](https://bugs.mysql.com/bug.php?id=70686): `TIME(3)` and `TIME(6)` fields serialize milliseconds incorrectly~~
203203
* [#72494](https://bugs.mysql.com/bug.php?id=72494), [#83330](https://bugs.mysql.com/bug.php?id=83330): EndOfStreamException inserting large blob with UseCompression=True
@@ -280,22 +280,23 @@ The following bugs in Connector/NET are fixed by switching to MySqlConnector. (~
280280
* ~~[#101252](https://bugs.mysql.com/bug.php?id=101252): Can't query `CHAR(36)` column containing `NULL`~~
281281
* ~~[#101253](https://bugs.mysql.com/bug.php?id=101253): Default value for `MySqlParameter.Value` changed from null to `0`~~
282282
* ~~[#101302](https://bugs.mysql.com/bug.php?id=101302): Stored Procedure `BOOL` parameter can only be mapped to `MySqlDbType.Byte`~~
283-
* [#101485](https://bugs.mysql.com/bug.php?id=101485): Stored Procedure `JSON` parameter throws “Unhandled type encountered” `MySqlException`
283+
* ~~[#101485](https://bugs.mysql.com/bug.php?id=101485): Stored Procedure `JSON` parameter throws “Unhandled type encountered” `MySqlException`~~
284284
* [#101507](https://bugs.mysql.com/bug.php?id=101507): `MySqlCommand.Cancel` throws `NullReferenceException` for a closed connection
285285
* ~~[#101714](https://bugs.mysql.com/bug.php?id=101714): Extremely slow performance reading result sets~~
286+
* ~~[#102303](https://bugs.mysql.com/bug.php?id=102303): Preparing command with incorrect parameter type puts connection in bad state~~
286287
* [#102593](https://bugs.mysql.com/bug.php?id=102593): Can't use `MemoryStream` as `MySqlParameter.Value`
287288
* ~~[#103390](https://bugs.mysql.com/bug.php?id=103390): Can't query `CHAR(36)` column if `MySqlCommand` is prepared~~
288289
* ~~[#103430](https://bugs.mysql.com/bug.php?id=103430): Can't connect using named pipe on Windows~~
289290
* ~~[#103801](https://bugs.mysql.com/bug.php?id=103801): `TimeSpan` parameters lose microseconds with prepared statement~~
290291
* [#103819](https://bugs.mysql.com/bug.php?id=103819): Can't use `StringBuilder` containing non-BMP characters as `MySqlParameter.Value`
291-
* [#104910](https://bugs.mysql.com/bug.php?id=104910): `MySqlConnectionStringBuilder.TryGetValue` always returns `false`
292-
* [#104913](https://bugs.mysql.com/bug.php?id=104913): Cannot execute stored procedure with backtick in name
292+
* ~~[#104910](https://bugs.mysql.com/bug.php?id=104910): `MySqlConnectionStringBuilder.TryGetValue` always returns `false`~~
293+
* ~~[#104913](https://bugs.mysql.com/bug.php?id=104913): Cannot execute stored procedure with backtick in name~~
293294
* ~~[#105209](https://bugs.mysql.com/bug.php?id=105209): Timespan value of zero can't be read with prepared command~~
294295
* [#105728](https://bugs.mysql.com/bug.php?id=105728): Named command parameters override query attribute values
295296
* ~~[#105730](https://bugs.mysql.com/bug.php?id=105730): `MySqlCommand.Clone` doesn't clone attributes~~
296297
* ~~[#105768](https://bugs.mysql.com/bug.php?id=105768): `MySqlCommandBuilder` doesn't support tables with `BIGINT UNSIGNED` primary key~~
297298
* [#105965](https://bugs.mysql.com/bug.php?id=105965): `MySqlParameterCollection.Add(object)` has quadratic performance
298299
* ~~[#106242](https://bugs.mysql.com/bug.php?id=106242): `MySqlConnection.Open` throws `AggregateException` instead of `MySqlException`~~
299-
* [#106243](https://bugs.mysql.com/bug.php?id=106243): `CancellationToken` doesn't cancel `MySqlConnection.OpenAsync`
300+
* ~~[#106243](https://bugs.mysql.com/bug.php?id=106243): `CancellationToken` doesn't cancel `MySqlConnection.OpenAsync`~~
300301
* ~~[#106244](https://bugs.mysql.com/bug.php?id=106244): `MySqlDataReader.GetFieldValue<Stream>` throws `InvalidCastException`~~
301-
* [#106247](https://bugs.mysql.com/bug.php?id=106247): Can't use `MySqlDbType.Enum` or `MySqlDbType.Set` with prepared command
302+
* [#106247](https://bugs.mysql.com/bug.php?id=106247): Can't use ~~`MySqlDbType.Enum` or~~ `MySqlDbType.Set` with prepared command

src/MySqlConnector/Core/ServerSession.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ public async Task DisposeAsync(IOBehavior ioBehavior, CancellationToken cancella
471471
SupportsQueryAttributes = (initialHandshake.ProtocolCapabilities & ProtocolCapabilities.QueryAttributes) != 0;
472472
m_supportsSessionTrack = (initialHandshake.ProtocolCapabilities & ProtocolCapabilities.SessionTrack) != 0;
473473
var serverSupportsSsl = (initialHandshake.ProtocolCapabilities & ProtocolCapabilities.Ssl) != 0;
474-
m_characterSet = ServerVersion.Version >= ServerVersions.SupportsUtf8Mb4 ? CharacterSet.Utf8Mb4GeneralCaseInsensitive : CharacterSet.Utf8GeneralCaseInsensitive;
474+
m_characterSet = ServerVersion.Version >= ServerVersions.SupportsUtf8Mb4 ? CharacterSet.Utf8Mb4GeneralCaseInsensitive : CharacterSet.Utf8Mb3GeneralCaseInsensitive;
475475
m_setNamesPayload = ServerVersion.Version >= ServerVersions.SupportsUtf8Mb4 ?
476476
(SupportsQueryAttributes ? s_setNamesUtf8mb4WithAttributesPayload : s_setNamesUtf8mb4NoAttributesPayload) :
477477
(SupportsQueryAttributes ? s_setNamesUtf8WithAttributesPayload : s_setNamesUtf8NoAttributesPayload);

src/MySqlConnector/Protocol/CharacterSet.cs

Lines changed: 50 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ namespace MySqlConnector.Protocol;
33
/// <summary>
44
/// MySQL character set codes.
55
/// </summary>
6-
/// <remarks>Obtained from <c>SELECT id, collation_name FROM information_schema.collations ORDER BY id;</c> on MySQL 8.0.16.</remarks>
6+
/// <remarks>Obtained from <c>SELECT id, collation_name FROM information_schema.collations ORDER BY id;</c> on MySQL 8.0.30.</remarks>
77
internal enum CharacterSet : ushort
88
{
99
None = 0,
@@ -38,7 +38,7 @@ internal enum CharacterSet : ushort
3838
Latin5TurkishCaseInsensitive = 30,
3939
Latin1German2CaseInsensitive = 31,
4040
Armscii8GeneralCaseInsensitive = 32,
41-
Utf8GeneralCaseInsensitive = 33,
41+
Utf8Mb3GeneralCaseInsensitive = 33,
4242
Cp1250CzechCaseSensitive = 34,
4343
Ucs2GeneralCaseInsensitive = 35,
4444
Cp866GeneralCaseInsensitive = 36,
@@ -81,14 +81,14 @@ internal enum CharacterSet : ushort
8181
Keybcs2Binary = 73,
8282
Koi8rBinary = 74,
8383
Koi8uBinary = 75,
84-
Utf8ToLowerCaseInsensitive = 76,
84+
Utf8Mb3ToLowerCaseInsensitive = 76,
8585
Latin2Binary = 77,
8686
Latin5Binary = 78,
8787
Latin7Binary = 79,
8888
Cp850Binary = 80,
8989
Cp852Binary = 81,
9090
Swe7Binary = 82,
91-
Utf8Binary = 83,
91+
Utf8Mb3Binary = 83,
9292
Big5Binary = 84,
9393
EuckrBinary = 85,
9494
Gb2312Binary = 86,
@@ -178,31 +178,31 @@ internal enum CharacterSet : ushort
178178
Utf32CroatianCaseInsensitive = 181,
179179
Utf32Unicode520CaseInsensitive = 182,
180180
Utf32VietnameseCaseInsensitive = 183,
181-
Utf8UnicodeCaseInsensitive = 192,
182-
Utf8IcelandicCaseInsensitive = 193,
183-
Utf8LatvianCaseInsensitive = 194,
184-
Utf8RomanianCaseInsensitive = 195,
185-
Utf8SlovenianCaseInsensitive = 196,
186-
Utf8PolishCaseInsensitive = 197,
187-
Utf8EstonianCaseInsensitive = 198,
188-
Utf8SpanishCaseInsensitive = 199,
189-
Utf8SwedishCaseInsensitive = 200,
190-
Utf8TurkishCaseInsensitive = 201,
191-
Utf8CzechCaseInsensitive = 202,
192-
Utf8DanishCaseInsensitive = 203,
193-
Utf8LithuanianCaseInsensitive = 204,
194-
Utf8SlovakCaseInsensitive = 205,
195-
Utf8Spanish2CaseInsensitive = 206,
196-
Utf8RomanCaseInsensitive = 207,
197-
Utf8PersianCaseInsensitive = 208,
198-
Utf8EsperantoCaseInsensitive = 209,
199-
Utf8HungarianCaseInsensitive = 210,
200-
Utf8SinhalaCaseInsensitive = 211,
201-
Utf8German2CaseInsensitive = 212,
202-
Utf8CroatianCaseInsensitive = 213,
203-
Utf8Unicode520CaseInsensitive = 214,
204-
Utf8VietnameseCaseInsensitive = 215,
205-
Utf8GeneralMySql500CaseInsensitive = 223,
181+
Utf8Mb3UnicodeCaseInsensitive = 192,
182+
Utf8Mb3IcelandicCaseInsensitive = 193,
183+
Utf8Mb3LatvianCaseInsensitive = 194,
184+
Utf8Mb3RomanianCaseInsensitive = 195,
185+
Utf8Mb3SlovenianCaseInsensitive = 196,
186+
Utf8Mb3PolishCaseInsensitive = 197,
187+
Utf8Mb3EstonianCaseInsensitive = 198,
188+
Utf8Mb3SpanishCaseInsensitive = 199,
189+
Utf8Mb3SwedishCaseInsensitive = 200,
190+
Utf8Mb3TurkishCaseInsensitive = 201,
191+
Utf8Mb3CzechCaseInsensitive = 202,
192+
Utf8Mb3DanishCaseInsensitive = 203,
193+
Utf8Mb3LithuanianCaseInsensitive = 204,
194+
Utf8Mb3SlovakCaseInsensitive = 205,
195+
Utf8Mb3Spanish2CaseInsensitive = 206,
196+
Utf8Mb3RomanCaseInsensitive = 207,
197+
Utf8Mb3PersianCaseInsensitive = 208,
198+
Utf8Mb3EsperantoCaseInsensitive = 209,
199+
Utf8Mb3HungarianCaseInsensitive = 210,
200+
Utf8Mb3SinhalaCaseInsensitive = 211,
201+
Utf8Mb3German2CaseInsensitive = 212,
202+
Utf8Mb3CroatianCaseInsensitive = 213,
203+
Utf8Mb3Unicode520CaseInsensitive = 214,
204+
Utf8Mb3VietnameseCaseInsensitive = 215,
205+
Utf8Mb3GeneralMySql500CaseInsensitive = 223,
206206
Utf8Mb4UnicodeCaseInsensitive = 224,
207207
Utf8Mb4IcelandicCaseInsensitive = 225,
208208
Utf8Mb4LatvianCaseInsensitive = 226,
@@ -279,9 +279,23 @@ internal enum CharacterSet : ushort
279279
Utf8Mb4RussianUca900AccentSensitiveCaseSensitive = 307,
280280
Utf8Mb4ChineseUca900AccentSensitiveCaseSensitive = 308,
281281
Utf8Mb4Uca900Binary = 309,
282-
Utf8CroatianCaseInsensitiveMariaDb = 576,
283-
Utf8MyanmarCaseInsensitive = 577,
284-
Utf8ThaiUnicode520Weight2 = 578,
282+
Utf8Mb4NorwegianBokmal0900AccentInsensitiveCaseInsensitive = 310,
283+
Utf8Mb4NorwegianBokmal0900AccentSensitiveCaseSensitive = 311,
284+
Utf8Mb4NorwegianNynorsk0900AccentInsensitiveCaseInsensitive = 312,
285+
Utf8Mb4NorwegianNynorsk0900AccentSensitiveCaseSensitive = 313,
286+
Utf8Mb4SerbianLatin0900AccentInsensitiveCaseInsensitive = 314,
287+
Utf8Mb4SerbianLatin0900AccentSensitiveCaseSensitive = 315,
288+
Utf8Mb4Bosnian0900AccentInsensitiveCaseInsensitive = 316,
289+
Utf8Mb4Bosnian0900AccentSensitiveCaseSensitive = 317,
290+
Utf8Mb4Bulgarian0900AccentInsensitiveCaseInsensitive = 318,
291+
Utf8Mb4Bulgarian0900AccentSensitiveCaseSensitive = 319,
292+
Utf8Mb4Galician0900AccentInsensitiveCaseInsensitive = 320,
293+
Utf8Mb4Galician0900AccentSensitiveCaseSensitive = 321,
294+
Utf8Mb4MongolianCyrillic0900AccentInsensitiveCaseInsensitive = 322,
295+
Utf8Mb4MongolianCyrillic0900AccentSensitiveCaseSensitive = 323,
296+
Utf8Mb3CroatianCaseInsensitiveMariaDb = 576,
297+
Utf8Mb3MyanmarCaseInsensitive = 577,
298+
Utf8Mb3ThaiUnicode520Weight2 = 578,
285299
Utf8Mb4CroatianCaseInsensitiveMariaDb = 608,
286300
Utf8Mb4MyanmarCaseInsensitive = 609,
287301
Utf8Mb4ThaiUnicode520Weight2 = 610,
@@ -315,7 +329,7 @@ internal enum CharacterSet : ushort
315329
GbkChineseNoPadCaseInsensitive = 1052,
316330
Latin5TurkishNoPadCaseInsensitive = 1054,
317331
Armscii8GeneralNoPadCaseInsensitive = 1056,
318-
Utf8GeneralNoPadCaseInsensitive = 1057,
332+
Utf8Mb3GeneralNoPadCaseInsensitive = 1057,
319333
Ucs2GeneralNoPadCaseInsensitive = 1059,
320334
Cp866GeneralNoPadCaseInsensitive = 1060,
321335
Keybcs2GeneralNoPadCaseInsensitive = 1061,
@@ -357,7 +371,7 @@ internal enum CharacterSet : ushort
357371
Cp850NoPadBinary = 1104,
358372
Cp852NoPadBinary = 1105,
359373
Swe7NoPadBinary = 1106,
360-
Utf8NoPadBinary = 1107,
374+
Utf8Mb3NoPadBinary = 1107,
361375
Big5NoPadBinary = 1108,
362376
EuckrNoPadBinary = 1109,
363377
Gb2312NoPadBinary = 1110,
@@ -378,8 +392,8 @@ internal enum CharacterSet : ushort
378392
Ucs2Unicode520NoPadCaseInsensitive = 1174,
379393
Utf32UnicodeNoPadCaseInsensitive = 1184,
380394
Utf32Unicode520NoPadCaseInsensitive = 1206,
381-
Utf8UnicodeNoPadCaseInsensitive = 1216,
382-
Utf8Unicode520NoPadCaseInsensitive = 1238,
395+
Utf8Mb3UnicodeNoPadCaseInsensitive = 1216,
396+
Utf8Mb3Unicode520NoPadCaseInsensitive = 1238,
383397
Utf8Mb4UnicodeNoPadCaseInsensitive = 1248,
384398
Utf8Mb4Unicode520NoPadCaseInsensitive = 1270,
385399
}

src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs

Lines changed: 49 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -192,48 +192,48 @@ public static int GetBytesPerCharacter(CharacterSet characterSet)
192192
return 2;
193193

194194
case CharacterSet.UjisJapaneseCaseInsensitive:
195-
case CharacterSet.Utf8GeneralCaseInsensitive:
196-
case CharacterSet.Utf8ToLowerCaseInsensitive:
197-
case CharacterSet.Utf8Binary:
195+
case CharacterSet.Utf8Mb3GeneralCaseInsensitive:
196+
case CharacterSet.Utf8Mb3ToLowerCaseInsensitive:
197+
case CharacterSet.Utf8Mb3Binary:
198198
case CharacterSet.UjisBinary:
199199
case CharacterSet.EucjpmsJapaneseCaseInsensitive:
200200
case CharacterSet.EucjpmsBinary:
201-
case CharacterSet.Utf8UnicodeCaseInsensitive:
202-
case CharacterSet.Utf8IcelandicCaseInsensitive:
203-
case CharacterSet.Utf8LatvianCaseInsensitive:
204-
case CharacterSet.Utf8RomanianCaseInsensitive:
205-
case CharacterSet.Utf8SlovenianCaseInsensitive:
206-
case CharacterSet.Utf8PolishCaseInsensitive:
207-
case CharacterSet.Utf8EstonianCaseInsensitive:
208-
case CharacterSet.Utf8SpanishCaseInsensitive:
209-
case CharacterSet.Utf8SwedishCaseInsensitive:
210-
case CharacterSet.Utf8TurkishCaseInsensitive:
211-
case CharacterSet.Utf8CzechCaseInsensitive:
212-
case CharacterSet.Utf8DanishCaseInsensitive:
213-
case CharacterSet.Utf8LithuanianCaseInsensitive:
214-
case CharacterSet.Utf8SlovakCaseInsensitive:
215-
case CharacterSet.Utf8Spanish2CaseInsensitive:
216-
case CharacterSet.Utf8RomanCaseInsensitive:
217-
case CharacterSet.Utf8PersianCaseInsensitive:
218-
case CharacterSet.Utf8EsperantoCaseInsensitive:
219-
case CharacterSet.Utf8HungarianCaseInsensitive:
220-
case CharacterSet.Utf8SinhalaCaseInsensitive:
221-
case CharacterSet.Utf8German2CaseInsensitive:
222-
case CharacterSet.Utf8CroatianCaseInsensitive:
223-
case CharacterSet.Utf8Unicode520CaseInsensitive:
224-
case CharacterSet.Utf8VietnameseCaseInsensitive:
225-
case CharacterSet.Utf8GeneralMySql500CaseInsensitive:
226-
case CharacterSet.Utf8CroatianCaseInsensitiveMariaDb:
227-
case CharacterSet.Utf8MyanmarCaseInsensitive:
228-
case CharacterSet.Utf8ThaiUnicode520Weight2:
201+
case CharacterSet.Utf8Mb3UnicodeCaseInsensitive:
202+
case CharacterSet.Utf8Mb3IcelandicCaseInsensitive:
203+
case CharacterSet.Utf8Mb3LatvianCaseInsensitive:
204+
case CharacterSet.Utf8Mb3RomanianCaseInsensitive:
205+
case CharacterSet.Utf8Mb3SlovenianCaseInsensitive:
206+
case CharacterSet.Utf8Mb3PolishCaseInsensitive:
207+
case CharacterSet.Utf8Mb3EstonianCaseInsensitive:
208+
case CharacterSet.Utf8Mb3SpanishCaseInsensitive:
209+
case CharacterSet.Utf8Mb3SwedishCaseInsensitive:
210+
case CharacterSet.Utf8Mb3TurkishCaseInsensitive:
211+
case CharacterSet.Utf8Mb3CzechCaseInsensitive:
212+
case CharacterSet.Utf8Mb3DanishCaseInsensitive:
213+
case CharacterSet.Utf8Mb3LithuanianCaseInsensitive:
214+
case CharacterSet.Utf8Mb3SlovakCaseInsensitive:
215+
case CharacterSet.Utf8Mb3Spanish2CaseInsensitive:
216+
case CharacterSet.Utf8Mb3RomanCaseInsensitive:
217+
case CharacterSet.Utf8Mb3PersianCaseInsensitive:
218+
case CharacterSet.Utf8Mb3EsperantoCaseInsensitive:
219+
case CharacterSet.Utf8Mb3HungarianCaseInsensitive:
220+
case CharacterSet.Utf8Mb3SinhalaCaseInsensitive:
221+
case CharacterSet.Utf8Mb3German2CaseInsensitive:
222+
case CharacterSet.Utf8Mb3CroatianCaseInsensitive:
223+
case CharacterSet.Utf8Mb3Unicode520CaseInsensitive:
224+
case CharacterSet.Utf8Mb3VietnameseCaseInsensitive:
225+
case CharacterSet.Utf8Mb3GeneralMySql500CaseInsensitive:
226+
case CharacterSet.Utf8Mb3CroatianCaseInsensitiveMariaDb:
227+
case CharacterSet.Utf8Mb3MyanmarCaseInsensitive:
228+
case CharacterSet.Utf8Mb3ThaiUnicode520Weight2:
229229
case CharacterSet.UjisJapaneseNoPadCaseInsensitive:
230-
case CharacterSet.Utf8GeneralNoPadCaseInsensitive:
231-
case CharacterSet.Utf8NoPadBinary:
230+
case CharacterSet.Utf8Mb3GeneralNoPadCaseInsensitive:
231+
case CharacterSet.Utf8Mb3NoPadBinary:
232232
case CharacterSet.UjisNoPadBinary:
233233
case CharacterSet.EucjpmsJapaneseNoPadCaseInsensitive:
234234
case CharacterSet.EucjpmsNoPadBinary:
235-
case CharacterSet.Utf8UnicodeNoPadCaseInsensitive:
236-
case CharacterSet.Utf8Unicode520NoPadCaseInsensitive:
235+
case CharacterSet.Utf8Mb3UnicodeNoPadCaseInsensitive:
236+
case CharacterSet.Utf8Mb3Unicode520NoPadCaseInsensitive:
237237
return 3;
238238

239239
case CharacterSet.Utf8Mb4GeneralCaseInsensitive:
@@ -368,6 +368,20 @@ public static int GetBytesPerCharacter(CharacterSet characterSet)
368368
case CharacterSet.Utf8Mb4RussianUca900AccentSensitiveCaseSensitive:
369369
case CharacterSet.Utf8Mb4ChineseUca900AccentSensitiveCaseSensitive:
370370
case CharacterSet.Utf8Mb4Uca900Binary:
371+
case CharacterSet.Utf8Mb4NorwegianBokmal0900AccentInsensitiveCaseInsensitive:
372+
case CharacterSet.Utf8Mb4NorwegianBokmal0900AccentSensitiveCaseSensitive:
373+
case CharacterSet.Utf8Mb4NorwegianNynorsk0900AccentInsensitiveCaseInsensitive:
374+
case CharacterSet.Utf8Mb4NorwegianNynorsk0900AccentSensitiveCaseSensitive:
375+
case CharacterSet.Utf8Mb4SerbianLatin0900AccentInsensitiveCaseInsensitive:
376+
case CharacterSet.Utf8Mb4SerbianLatin0900AccentSensitiveCaseSensitive:
377+
case CharacterSet.Utf8Mb4Bosnian0900AccentInsensitiveCaseInsensitive:
378+
case CharacterSet.Utf8Mb4Bosnian0900AccentSensitiveCaseSensitive:
379+
case CharacterSet.Utf8Mb4Bulgarian0900AccentInsensitiveCaseInsensitive:
380+
case CharacterSet.Utf8Mb4Bulgarian0900AccentSensitiveCaseSensitive:
381+
case CharacterSet.Utf8Mb4Galician0900AccentInsensitiveCaseInsensitive:
382+
case CharacterSet.Utf8Mb4Galician0900AccentSensitiveCaseSensitive:
383+
case CharacterSet.Utf8Mb4MongolianCyrillic0900AccentInsensitiveCaseInsensitive:
384+
case CharacterSet.Utf8Mb4MongolianCyrillic0900AccentSensitiveCaseSensitive:
371385
case CharacterSet.Utf8Mb4CroatianCaseInsensitiveMariaDb:
372386
case CharacterSet.Utf8Mb4MyanmarCaseInsensitive:
373387
case CharacterSet.Utf8Mb4ThaiUnicode520Weight2:

0 commit comments

Comments
 (0)