Skip to content

Commit aaf03e6

Browse files
authored
Obsolete NullableType.Get by column name (#3549)
1 parent 218aac3 commit aaf03e6

38 files changed

+30
-297
lines changed

src/NHibernate.DomainModel/NHSpecific/NullableTypesType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ public override object NullSafeGet(DbDataReader rs, string name, ISessionImpleme
3030
}
3131
}
3232

33-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
34-
{
35-
return Get(rs, rs.GetOrdinal(name), session);
36-
}
37-
3833
public override string Name
3934
{
4035
get { return ReturnedClass.Name; }

src/NHibernate.Test/Async/TypesTest/BooleanTypeFixture.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
//------------------------------------------------------------------------------
99

1010

11+
using System;
1112
using System.Data.Common;
1213
using NHibernate.Engine;
1314
using NHibernate.Type;

src/NHibernate.Test/Async/TypesTest/GuidTypeFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,4 @@ public async Task GuidInWhereClauseAsync()
8383
}
8484
}
8585
}
86-
}
86+
}

src/NHibernate.Test/TypesTest/BooleanTypeFixture.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using System.Data.Common;
23
using NHibernate.Engine;
34
using NHibernate.Type;
@@ -69,21 +70,24 @@ public void GetByIndex(bool expected)
6970
}
7071

7172
[Theory]
73+
[Obsolete("Testing obsolete API")]
7274
public void GetByName(bool expected)
7375
{
7476
const string name0 = "name0";
7577
const string name1 = "name1";
76-
BooleanType type = NHibernateUtil.Boolean;
78+
var type = NHibernateUtil.Boolean;
7779
var session = Substitute.For<ISessionImplementor>();
7880
var reader = Substitute.For<DbDataReader>();
79-
reader[name0].Returns(expected);
80-
reader[name1].Returns(expected);
81+
reader.GetOrdinal(name0).Returns(0);
82+
reader.GetOrdinal(name1).Returns(1);
83+
reader[0].Returns(expected);
84+
reader[1].Returns(expected);
8185

8286
var result0 = type.Get(reader, name0, session);
8387
var result1 = type.Get(reader, name1, session);
8488

85-
Assert.AreEqual(expected, (bool) result0);
86-
Assert.AreSame(result0, result1);
89+
Assert.That((bool) result0, Is.EqualTo(expected));
90+
Assert.That(result1, Is.SameAs(result0));
8791
}
8892

8993
[Test]

src/NHibernate.Test/TypesTest/CharBooleanTypeFixture.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Data.Common;
1+
using System;
2+
using System.Data.Common;
23
using NHibernate.Engine;
34
using NHibernate.SqlTypes;
45
using NHibernate.Type;
@@ -29,6 +30,7 @@ public void GetByIndex(bool expected)
2930
}
3031

3132
[Theory]
33+
[Obsolete("Testing obsolete API")]
3234
public void GetByName(bool value)
3335
{
3436
const string name = "0";
@@ -42,7 +44,7 @@ public void GetByName(bool value)
4244

4345
var result = type.Get(reader, name, session);
4446

45-
Assert.AreSame(expected, result);
47+
Assert.That(result, Is.SameAs(expected));
4648
}
4749

4850
[Theory]

src/NHibernate.Test/TypesTest/GuidTypeFixture.cs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public void GuidInWhereClause()
9393
[Test]
9494
public void GetGuidWorksWhenUnderlyingTypeIsRepresentedByString()
9595
{
96-
GuidType type = (GuidType)NHibernateUtil.Guid;
96+
var type = NHibernateUtil.Guid;
9797

9898
Guid value = Guid.NewGuid();
9999
DataTable data = new DataTable("test");
@@ -106,14 +106,15 @@ public void GetGuidWorksWhenUnderlyingTypeIsRepresentedByString()
106106
var reader = data.CreateDataReader();
107107
reader.Read();
108108

109-
using (var s = OpenSession())
110-
{
111-
var si = s.GetSessionImplementation();
112-
Assert.AreEqual(value, type.Get(reader, "guid", si));
113-
Assert.AreEqual(value, type.Get(reader, 0, si));
114-
Assert.AreEqual(value, type.Get(reader, "varchar", si));
115-
Assert.AreEqual(value, type.Get(reader, 1, si));
116-
}
109+
using var s = OpenSession();
110+
var si = s.GetSessionImplementation();
111+
112+
Assert.That(type.Get(reader, 0, si), Is.EqualTo(value));
113+
Assert.That(type.Get(reader, 1, si), Is.EqualTo(value));
114+
#pragma warning disable CS0618 // Type or member is obsolete
115+
Assert.That(type.Get(reader, "guid", si), Is.EqualTo(value));
116+
Assert.That(type.Get(reader, "varchar", si), Is.EqualTo(value));
117+
#pragma warning restore CS0618 // Type or member is obsolete
117118
}
118119
}
119-
}
120+
}

src/NHibernate/Type/AbstractBinaryType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
9090
return ToExternalFormat(buffer);
9191
}
9292

93-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
94-
{
95-
return Get(rs, rs.GetOrdinal(name), session);
96-
}
97-
9893
public override int GetHashCode(object x)
9994
{
10095
byte[] bytes = ToInternalFormat(x);

src/NHibernate/Type/AbstractCharType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
3030
return '\0'; // This line should never be executed
3131
}
3232

33-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
34-
{
35-
return Get(rs, rs.GetOrdinal(name), session);
36-
}
37-
3833
public override System.Type PrimitiveClass
3934
{
4035
get { return typeof(char); }

src/NHibernate/Type/AbstractDateTimeType.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,6 @@ protected virtual DateTime AdjustDateTime(DateTime dateValue) =>
5858
public override object Get(DbDataReader rs, int index, ISessionImplementor session) =>
5959
GetDateTime(rs, index, session);
6060

61-
/// <inheritdoc />
62-
public override object Get(DbDataReader rs, string name, ISessionImplementor session) =>
63-
Get(rs, rs.GetOrdinal(name), session);
64-
6561
/// <summary>
6662
/// Get the <see cref="DateTime" /> in the <see cref="DbDataReader"/> for the Property.
6763
/// </summary>

src/NHibernate/Type/AbstractStringType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
7676
return Convert.ToString(rs[index]);
7777
}
7878

79-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
80-
{
81-
return Convert.ToString(rs[name]);
82-
}
83-
8479
public override bool IsEqual(object x, object y)
8580
{
8681
return Comparer.Equals(x, y);

src/NHibernate/Type/BooleanType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
4343
return GetBooleanAsObject(Convert.ToBoolean(rs[index]));
4444
}
4545

46-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
47-
{
48-
return GetBooleanAsObject(Convert.ToBoolean(rs[name]));
49-
}
50-
5146
public override System.Type PrimitiveClass => typeof(bool);
5247

5348
public override System.Type ReturnedClass => typeof(bool);

src/NHibernate/Type/ByteType.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
3232
};
3333
}
3434

35-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
36-
{
37-
return rs[name] switch
38-
{
39-
BigInteger bi => (byte) bi,
40-
var c => Convert.ToByte(c)
41-
};
42-
}
43-
4435
public override System.Type ReturnedClass
4536
{
4637
get { return typeof(byte); }

src/NHibernate/Type/CharBooleanType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
4040
}
4141
}
4242

43-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
44-
{
45-
return Get(rs, rs.GetOrdinal(name), session);
46-
}
47-
4843
public override void Set(DbCommand cmd, Object value, int index, ISessionImplementor session)
4944
{
5045
cmd.Parameters[index].Value = ToCharacter(value);

src/NHibernate/Type/CultureInfoType.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
3232
return ParseStringRepresentation(NHibernateUtil.String.Get(rs, index, session));
3333
}
3434

35-
/// <inheritdoc />
36-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
37-
{
38-
return Get(rs, rs.GetOrdinal(name), session);
39-
}
40-
4135
/// <inheritdoc />
4236
public override void Set(DbCommand cmd, object value, int index, ISessionImplementor session)
4337
{

src/NHibernate/Type/DateTimeOffSetType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
7373
}
7474
}
7575

76-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
77-
{
78-
return Get(rs, rs.GetOrdinal(name), session);
79-
}
80-
8176
public object Next(object current, ISessionImplementor session)
8277
{
8378
return Seed(session);

src/NHibernate/Type/DecimalType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
2727
return Convert.ToDecimal(rs[index]);
2828
}
2929

30-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
31-
{
32-
return Convert.ToDecimal(rs[name]);
33-
}
34-
3530
public override System.Type ReturnedClass
3631
{
3732
get { return typeof(Decimal); }

src/NHibernate/Type/DoubleType.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
3030
};
3131
}
3232

33-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
34-
{
35-
return rs[name] switch
36-
{
37-
BigInteger bi => (double) bi,
38-
var v => Convert.ToDouble(v)
39-
};
40-
}
41-
4233
/// <summary></summary>
4334
public override System.Type ReturnedClass
4435
{

src/NHibernate/Type/EnumCharType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
119119
}
120120
}
121121

122-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
123-
{
124-
return Get(rs, rs.GetOrdinal(name), session);
125-
}
126-
127122
public override string Name
128123
{
129124
get { return "enumchar - " + this.ReturnedClass.Name; }

src/NHibernate/Type/EnumStringType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
148148
}
149149
}
150150

151-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
152-
{
153-
return Get(rs, rs.GetOrdinal(name), session);
154-
}
155-
156151
/// <inheritdoc />
157152
public override string ToLoggableString(object value, ISessionFactoryImplementor factory)
158153
{

src/NHibernate/Type/GuidType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
3333
return new Guid(Convert.ToString(rs[index]));
3434
}
3535

36-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
37-
{
38-
return Get(rs, rs.GetOrdinal(name), session);
39-
}
40-
4136
/// <summary></summary>
4237
public override System.Type ReturnedClass
4338
{

src/NHibernate/Type/Int16Type.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
4444
}
4545
}
4646

47-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
48-
{
49-
try
50-
{
51-
return rs[name]switch
52-
{
53-
BigInteger bi => (short) bi,
54-
var c => Convert.ToInt16(c)
55-
};
56-
}
57-
catch (Exception ex)
58-
{
59-
throw new FormatException(string.Format("Input string '{0}' was not in the correct format.", rs[name]), ex);
60-
}
61-
}
62-
6347
public override System.Type ReturnedClass
6448
{
6549
get { return typeof(Int16); }

src/NHibernate/Type/Int32Type.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
4545
}
4646
}
4747

48-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
49-
{
50-
try
51-
{
52-
return rs[name] switch
53-
{
54-
BigInteger bi => (int) bi,
55-
var c => Convert.ToInt32(c)
56-
};
57-
}
58-
catch (Exception ex)
59-
{
60-
throw new FormatException(string.Format("Input string '{0}' was not in the correct format.", rs[name]), ex);
61-
}
62-
}
63-
6448
public override System.Type ReturnedClass
6549
{
6650
get { return typeof(Int32); }

src/NHibernate/Type/Int64Type.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,6 @@ public override object Get(DbDataReader rs, int index, ISessionImplementor sessi
4444
}
4545
}
4646

47-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
48-
{
49-
try
50-
{
51-
return rs[name] switch
52-
{
53-
BigInteger bi => (long) bi,
54-
var c => Convert.ToInt64(c)
55-
};
56-
}
57-
catch (Exception ex)
58-
{
59-
throw new FormatException(string.Format("Input string '{0}' was not in the correct format.", rs[name]), ex);
60-
}
61-
}
62-
6347
public override System.Type ReturnedClass
6448
{
6549
get { return typeof(Int64); }

src/NHibernate/Type/NullableType.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ protected NullableType(SqlType sqlType)
8080
/// Most implementors just call the <see cref="Get(DbDataReader, int, ISessionImplementor)"/>
8181
/// overload of this method.
8282
/// </remarks>
83-
public abstract object Get(DbDataReader rs, string name, ISessionImplementor session);
83+
// Since v5.6
84+
[Obsolete("This method has no more usages and will be removed in a future version.")]
85+
public virtual object Get(DbDataReader rs, string name, ISessionImplementor session) =>
86+
Get(rs, rs.GetOrdinal(name), session);
8487

8588
/// <summary>
8689
/// A representation of the value to be embedded in an XML element

src/NHibernate/Type/PersistentEnumType.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,6 @@ public override void Set(DbCommand cmd, object value, int index, ISessionImpleme
226226
cmd.Parameters[index].Value = value != null ? GetValue(value) : DBNull.Value;
227227
}
228228

229-
public override object Get(DbDataReader rs, string name, ISessionImplementor session)
230-
{
231-
return Get(rs, rs.GetOrdinal(name), session);
232-
}
233-
234229
public override string Name
235230
{
236231
get { return ReturnedClass.FullName; }

0 commit comments

Comments
 (0)