Skip to content

Commit 89bb102

Browse files
committed
Test round-trip JSON procedure parameter.
1 parent 8fae1c7 commit 89bb102

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,4 +262,5 @@ The following bugs in Connector/NET are fixed by switching to MySqlConnector. (~
262262
* [#101252](https://bugs.mysql.com/bug.php?id=101252): Can't query `CHAR(36)` column containing `NULL`
263263
* [#101253](https://bugs.mysql.com/bug.php?id=101253): Default value for `MySqlParameter.Value` changed from null to `0`
264264
* [#101302](https://bugs.mysql.com/bug.php?id=101302): Stored Procedure `BOOL` parameter can only be mapped to `MySqlDbType.Byte`
265+
* [#101485](https://bugs.mysql.com/bug.php?id=101485): Stored Procedure `JSON` parameter throws “Unhandled type encountered” `MySqlException`
265266
* [#101507](https://bugs.mysql.com/bug.php?id=101507): `MySqlCommand.Cancel` throws `NullReferenceException` for a closed connection

tests/SideBySide/StoredProcedureTests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,19 @@ public void DeriveParametersSetJson()
671671
AssertParameter("@vJson", ParameterDirection.Input, MySqlDbType.JSON));
672672
}
673673

674+
[SkippableFact(ServerFeatures.Json, Baseline = "https://bugs.mysql.com/bug.php?id=101485")]
675+
public void PassJsonParameter()
676+
{
677+
using var cmd = new MySqlCommand("SetJson", m_database.Connection);
678+
cmd.CommandType = CommandType.StoredProcedure;
679+
var json = "{\"prop\":[null]}";
680+
cmd.Parameters.AddWithValue("@vJson", json).MySqlDbType = MySqlDbType.JSON;
681+
using var reader = cmd.ExecuteReader();
682+
Assert.True(reader.Read());
683+
Assert.Equal(json, reader.GetString(0).Replace(" ", ""));
684+
Assert.False(reader.Read());
685+
}
686+
674687
private static Action<MySqlParameter> AssertParameter(string name, ParameterDirection direction, MySqlDbType mySqlDbType)
675688
{
676689
return x =>

0 commit comments

Comments
 (0)