Skip to content

Commit c3634f9

Browse files
NH-4023 - Pass ISessionImplementor to all value setters and getters of nullable types
1 parent ab42cdc commit c3634f9

Some content is hidden

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

56 files changed

+260
-346
lines changed

src/NHibernate.DomainModel/NHSpecific/NullInt32UserType.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void NullSafeSet(DbCommand cmd, object value, int index)
5454
}
5555
else
5656
{
57-
_int32Type.Set(cmd, value, index);
57+
_int32Type.Set(cmd, value, index, null);
5858
}
5959
}
6060

@@ -65,7 +65,7 @@ public System.Type ReturnedType
6565

6666
public object NullSafeGet(DbDataReader rs, string[] names, object owner)
6767
{
68-
return _int32Type.NullSafeGet(rs, names);
68+
return _int32Type.NullSafeGet(rs, names, null);
6969
}
7070

7171
public bool IsMutable

src/NHibernate.DomainModel/NHSpecific/NullableInt32Type.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System;
22
using System.Data.Common;
3-
3+
using NHibernate.Engine;
44
using NHibernate.SqlTypes;
55
using NHibernate.Type;
66

@@ -26,12 +26,12 @@ public override System.Type ReturnedClass
2626
get { return typeof(NullableInt32); }
2727
}
2828

29-
public override object Get(DbDataReader rs, int index)
29+
public override object Get(DbDataReader rs, int index, ISessionImplementor session)
3030
{
3131
return new NullableInt32(Convert.ToInt32(rs[index]));
3232
}
3333

34-
public override void Set(DbCommand cmd, object value, int index)
34+
public override void Set(DbCommand cmd, object value, int index, ISessionImplementor session)
3535
{
3636
var parameter = cmd.Parameters[index];
3737
NullableInt32 nullableValue = (NullableInt32) value;

src/NHibernate.DomainModel/NHSpecific/NullableTypesType.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System;
22
using System.Data.Common;
3-
3+
using NHibernate.Engine;
44
using NHibernate.SqlTypes;
55
using NHibernate.Type;
66

@@ -17,9 +17,9 @@ public NullableTypesType(SqlType type) : base(type)
1717
{
1818
}
1919

20-
public override object NullSafeGet(DbDataReader rs, string name)
20+
public override object NullSafeGet(DbDataReader rs, string name, ISessionImplementor session)
2121
{
22-
object value = base.NullSafeGet(rs, name);
22+
object value = base.NullSafeGet(rs, name, session);
2323
if (value == null)
2424
{
2525
return NullValue;
@@ -30,9 +30,9 @@ public override object NullSafeGet(DbDataReader rs, string name)
3030
}
3131
}
3232

33-
public override object Get(DbDataReader rs, string name)
33+
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
3434
{
35-
return Get(rs, rs.GetOrdinal(name));
35+
return Get(rs, rs.GetOrdinal(name), session);
3636
}
3737

3838
public override string ToString(object value)

src/NHibernate.DomainModel/Northwind/Entities/User.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Data.Common;
3+
using NHibernate.Engine;
34
using NHibernate.Type;
45

56
namespace NHibernate.DomainModel.Northwind.Entities
@@ -71,17 +72,17 @@ public class EnumStoredAsStringType : EnumStringType
7172
public EnumStoredAsStringType()
7273
: base(typeof(EnumStoredAsString), 12) { }
7374

74-
public override void Set(DbCommand cmd, object value, int index)
75+
public override void Set(DbCommand cmd, object value, int index, ISessionImplementor session)
7576
{
7677
if (value is EnumStoredAsString && (EnumStoredAsString)value == EnumStoredAsString.Unspecified)
77-
base.Set(cmd, null, index);
78+
base.Set(cmd, null, index, session);
7879
else
79-
base.Set(cmd, value, index);
80+
base.Set(cmd, value, index, session);
8081
}
8182

82-
public override object Get(DbDataReader rs, int index)
83+
public override object Get(DbDataReader rs, int index, ISessionImplementor session)
8384
{
84-
object obj = base.Get(rs, index);
85+
object obj = base.Get(rs, index, session);
8586
if (obj == null) return EnumStoredAsString.Unspecified;
8687
return obj;
8788
}

src/NHibernate.Test/DateTimeOffsetUserType.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Data;
33
using System.Data.Common;
4+
using NHibernate.Engine;
45
using NHibernate.SqlTypes;
56
using NHibernate.UserTypes;
67

@@ -66,7 +67,7 @@ public void NullSafeSet(DbCommand cmd, object value, int index)
6667
{
6768
if (value == null)
6869
{
69-
NHibernateUtil.DateTime.NullSafeSet(cmd, null, index);
70+
NHibernateUtil.DateTime.NullSafeSet(cmd, null, index, null);
7071
}
7172
else
7273
{

src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public object NullSafeGet(DbDataReader rs, string[] names, object owner)
3535

3636
public void NullSafeSet(DbCommand cmd, object value, int index)
3737
{
38-
NHibernateUtil.String.NullSafeSet(cmd, value, index);
38+
NHibernateUtil.String.NullSafeSet(cmd, value, index, null);
3939
}
4040

4141
public object DeepCopy(object value)

src/NHibernate.Test/NHSpecificTest/EntityWithUserTypeCanHaveLinqGenerators/DoubleStringUserType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public int GetHashCode(object x)
3434

3535
public object NullSafeGet(DbDataReader rs, string[] names, object owner)
3636
{
37-
object obj = NHibernateUtil.String.NullSafeGet(rs, names[0]);
37+
object obj = NHibernateUtil.String.NullSafeGet(rs, names[0], null);
3838
if (obj == null)
3939
{
4040
return null;

src/NHibernate.Test/NHSpecificTest/NH1355/UserTypeTimestamp.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public object NullSafeGet(DbDataReader rs, string[] names, object owner)
5656

5757
public void NullSafeSet(DbCommand cmd, object value, int index)
5858
{
59-
NHibernateUtil.Binary.NullSafeSet(cmd, value, index);
59+
NHibernateUtil.Binary.NullSafeSet(cmd, value, index, null);
6060
}
6161

6262
public object Replace(object original, object target, object owner)

src/NHibernate.Test/NHSpecificTest/NH2324/CompositeUserType.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ public void NullSafeSet(DbCommand cmd, object value, int index, bool[] settable,
148148
else
149149
{
150150
var data = (CompositeData) value;
151-
if (settable[0]) NHibernateUtil.DateTime.Set(cmd, data.DataA, index++);
152-
if (settable[1]) NHibernateUtil.DateTime.Set(cmd, data.DataB, index);
151+
if (settable[0]) NHibernateUtil.DateTime.Set(cmd, data.DataA, index++, session);
152+
if (settable[1]) NHibernateUtil.DateTime.Set(cmd, data.DataB, index, session);
153153
}
154154
}
155155

src/NHibernate.Test/NHSpecificTest/NH3237/EnumUserType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void NullSafeSet(DbCommand cmd, object value, int index)
4747
{
4848
if (value == null)
4949
{
50-
NHibernateUtil.DateTime.NullSafeSet(cmd, null, index);
50+
NHibernateUtil.DateTime.NullSafeSet(cmd, null, index, null);
5151
}
5252
else
5353
{

0 commit comments

Comments
 (0)