Skip to content

Commit fe1ad65

Browse files
committed
Add DBNull support. Issue #70.
1 parent f47f70c commit fe1ad65

File tree

17 files changed

+171
-12
lines changed

17 files changed

+171
-12
lines changed

CHANGES.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,13 @@ Release 0.6.0 Beta2 - 2015/05/24
261261

262262
NEW FEATURE
263263
* New utility method of SerializationContext to switch back the behavior to previous version's one.
264-
* Add corlib only build (MsgPack.Unity3D.Micro). This build only depends mscorlib. This feature is experimental. Related to Issue #72.
264+
* Add corlib only build (MsgPack.Unity3D.Micro). This build only depends mscorlib. This feature is experimental. Related to Issue #70.
265265

266266
IMPROVEMENTS
267267
* Add many workarounds for AOT issues of Mono on iOS (in particular, Unity).
268268
* System.DateTime, System.DateTimeOffset, System.Runtime.InteropServices.ComTypes.FILETIME are now serialized native representation by default, it keeps 100-nanosecond resolution, DateTimeKind, and Offset.
269269
You can revert the behavior to the previous Unix Epoc via SerializationContext.DefaultDateTimeConversion or [MessagePackDateTimeMember] custom attribute. Issue #74
270+
* System.DBNull become serializable now. Issue #72.
270271

271272
BUG FIXES
272273
* Fix System.Object instance causes StackOverflowException. Issue #73

Sync.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
<Exclude Path="Serialization\DefaultSerializers\System_Collections_Specialized_NameValueCollectionMessagePackSerializer.cs" />
9292
<Exclude Path="Serialization\DefaultSerializers\System_Collections_QueueMessagePackSerializer.cs" />
9393
<Exclude Path="Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs" />
94+
<Exclude Path="Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs" />
9495
<Exclude Path="Serialization\Metadata\_IDisposable.cs" />
9596
<Exclude Path="Serialization\EmittingSerializers\*" />
9697
<Preserve Path="Serialization\Reflection\ReflectionHelpers.cs" />

src/MsgPack.Net35/MsgPack.Net35.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,9 @@
410410
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs">
411411
<Link>Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs</Link>
412412
</Compile>
413+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
414+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
415+
</Compile>
413416
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_ObjectMessagePackSerializer.cs">
414417
<Link>Serialization\DefaultSerializers\System_ObjectMessagePackSerializer.cs</Link>
415418
</Compile>

src/MsgPack.Net40/MsgPack.Net40.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,9 @@
400400
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs">
401401
<Link>Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs</Link>
402402
</Compile>
403+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
404+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
405+
</Compile>
403406
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs">
404407
<Link>Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs</Link>
405408
</Compile>

src/MsgPack.Silverlight.5/MsgPack.Silverlight.5.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,9 @@
388388
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_Specialized_NameValueCollectionMessagePackSerializer.cs">
389389
<Link>Serialization\DefaultSerializers\System_Collections_Specialized_NameValueCollectionMessagePackSerializer.cs</Link>
390390
</Compile>
391+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
392+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
393+
</Compile>
391394
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs">
392395
<Link>Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs</Link>
393396
</Compile>

src/MsgPack.Silverlight.WindowsPhone/MsgPack.Silverlight.WindowsPhone.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,9 @@
439439
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_Generic_Stack_1MessagePackSerializer`1.cs">
440440
<Link>Serialization\DefaultSerializers\System_Collections_Generic_Stack_1MessagePackSerializer`1.cs</Link>
441441
</Compile>
442+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
443+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
444+
</Compile>
442445
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs">
443446
<Link>Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs</Link>
444447
</Compile>

src/MsgPack.Unity3D.Micro/MsgPack.Unity3D.Micro.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,9 @@
337337
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs">
338338
<Link>Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs</Link>
339339
</Compile>
340+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
341+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
342+
</Compile>
340343
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs">
341344
<Link>Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs</Link>
342345
</Compile>

src/MsgPack.Unity3D/MsgPack.Unity3D.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,9 @@
350350
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs">
351351
<Link>Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs</Link>
352352
</Compile>
353+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
354+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
355+
</Compile>
353356
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs">
354357
<Link>Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs</Link>
355358
</Compile>

src/MsgPack.Unity3D/Serialization/TypedMessagePackSerializerWrapper`1.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,19 @@ protected internal override T UnpackFromCore( Unpacker unpacker )
5757
return ( T )this._underlyingSerializer.UnpackFrom( unpacker );
5858
}
5959

60+
protected internal override T UnpackNil()
61+
{
62+
var asTyped = this._underlyingSerializer as MessagePackSerializer<T>;
63+
if ( asTyped != null )
64+
{
65+
return asTyped.UnpackNil();
66+
}
67+
else
68+
{
69+
return base.UnpackNil();
70+
}
71+
}
72+
6073
protected internal override void UnpackToCore( Unpacker unpacker, T collection )
6174
{
6275
this._underlyingSerializer.UnpackTo( unpacker, collection );

src/MsgPack.Xamarin.Android/MsgPack.Xamarin.Android.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,9 @@
344344
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs">
345345
<Link>Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs</Link>
346346
</Compile>
347+
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs">
348+
<Link>Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs</Link>
349+
</Compile>
347350
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs">
348351
<Link>Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs</Link>
349352
</Compile>

0 commit comments

Comments
 (0)