Skip to content

Commit 6fee9fb

Browse files
committed
Remove support for net6.0
Closes #5946
1 parent 1d93236 commit 6fee9fb

Some content is hidden

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

44 files changed

+35
-950
lines changed

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"sdk": {
33
"version": "9.0.100",
44
"rollForward": "latestMajor",
5-
"allowPrerelease": "false"
5+
"allowPrerelease": false
66
}
77
}

src/Directory.Build.props

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,8 @@
33

44
<PropertyGroup>
55
<GenerateDocumentationFile>true</GenerateDocumentationFile>
6-
<!-- Compatible from net6.0 onwards (we get warnings otherwise). This implies IsTrimmable as well -->
7-
<IsAotCompatible Condition=" $([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net7.0')) ">true</IsAotCompatible>
86
</PropertyGroup>
97

10-
<ItemGroup>
11-
<Compile Include="..\Shared\*.cs" />
12-
</ItemGroup>
13-
148
<ItemGroup>
159
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
1610
</ItemGroup>

src/Npgsql.DependencyInjection/Npgsql.DependencyInjection.csproj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
<PropertyGroup>
44
<Authors>Shay Rojansky</Authors>
5-
<!-- DbDataSource was introduced to .NET in net7.0. Before that Npgsql has its own built-in copy. -->
6-
<!-- This is why we have to build against both frameworks. -->
7-
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
8-
<TargetFrameworks Condition="'$(DeveloperBuild)' == 'True'">net8.0</TargetFrameworks>
5+
<TargetFramework>net8.0</TargetFramework>
96
<PackageTags>npgsql;postgresql;postgres;ado;ado.net;database;sql;di;dependency injection</PackageTags>
107
<PackageReadmeFile>README.md</PackageReadmeFile>
118
</PropertyGroup>

src/Npgsql.GeoJSON/Npgsql.GeoJSON.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
<Authors>Yoh Deadfall;Shay Rojansky</Authors>
44
<Description>GeoJSON plugin for Npgsql, allowing mapping of PostGIS geometry types to GeoJSON types.</Description>
55
<PackageTags>npgsql;postgresql;postgres;postgis;geojson;spatial;ado;ado.net;database;sql</PackageTags>
6-
<TargetFramework>net6.0</TargetFramework>
7-
<TargetFramework Condition="'$(DeveloperBuild)' == 'True'">net8.0</TargetFramework>
6+
<TargetFramework>net8.0</TargetFramework>
87
<NoWarn>$(NoWarn);NPG9001</NoWarn> <!-- Converter-related APIs are experimental -->
98
</PropertyGroup>
109

src/Npgsql.Json.NET/Npgsql.Json.NET.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
<Authors>Shay Rojansky</Authors>
44
<Description>Json.NET plugin for Npgsql, allowing transparent serialization/deserialization of JSON objects directly to and from the database.</Description>
55
<PackageTags>npgsql;postgresql;json;postgres;ado;ado.net;database;sql</PackageTags>
6-
<TargetFramework>net6.0</TargetFramework>
7-
<TargetFramework Condition="'$(DeveloperBuild)' == 'True'">net8.0</TargetFramework>
6+
<TargetFramework>net8.0</TargetFramework>
87
<Nullable>enable</Nullable>
98
<NoWarn>$(NoWarn);NPG9001</NoWarn> <!-- Converter-related APIs are experimental -->
109
</PropertyGroup>

src/Npgsql.NetTopologySuite/Npgsql.NetTopologySuite.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<Description>NetTopologySuite plugin for Npgsql, allowing mapping of PostGIS geometry types to NetTopologySuite types.</Description>
55
<PackageTags>npgsql;postgresql;postgres;postgis;spatial;nettopologysuite;nts;ado;ado.net;database;sql</PackageTags>
66
<PackageReadmeFile>README.md</PackageReadmeFile>
7-
<TargetFramework>net6.0</TargetFramework>
8-
<TargetFramework Condition="'$(DeveloperBuild)' == 'True'">net8.0</TargetFramework>
7+
<TargetFramework>net8.0</TargetFramework>
98
<NoWarn>$(NoWarn);NU5104</NoWarn>
109
<NoWarn>$(NoWarn);NPG9001</NoWarn> <!-- Converter-related APIs are experimental -->
1110
</PropertyGroup>

src/Npgsql.NodaTime/Npgsql.NodaTime.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<Description>NodaTime plugin for Npgsql, allowing mapping of PostgreSQL date/time types to NodaTime types.</Description>
55
<PackageTags>npgsql;postgresql;postgres;nodatime;date;time;ado;ado;net;database;sql</PackageTags>
66
<PackageReadmeFile>README.md</PackageReadmeFile>
7-
<TargetFramework>net6.0</TargetFramework>
8-
<TargetFramework Condition="'$(DeveloperBuild)' == 'True'">net8.0</TargetFramework>
7+
<TargetFramework>net8.0</TargetFramework>
98
<NoWarn>$(NoWarn);NPG9001</NoWarn> <!-- Converter-related APIs are experimental -->
109
</PropertyGroup>
1110

src/Npgsql.OpenTelemetry/Npgsql.OpenTelemetry.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
<PropertyGroup>
44
<Authors>Shay Rojansky</Authors>
5-
<TargetFramework>net6.0</TargetFramework>
6-
<TargetFramework Condition="'$(DeveloperBuild)' == 'True'">net8.0</TargetFramework>
5+
<TargetFramework>net8.0</TargetFramework>
76
<PackageTags>npgsql;postgresql;postgres;ado;ado.net;database;sql;opentelemetry;tracing;diagnostics;instrumentation</PackageTags>
87
<PackageReadmeFile>README.md</PackageReadmeFile>
98
</PropertyGroup>

src/Npgsql/Internal/Converters/Internal/InternalCharConverter.cs

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,14 @@
44
// ReSharper disable once CheckNamespace
55
namespace Npgsql.Internal.Converters;
66

7-
sealed class InternalCharConverter<T> : PgBufferedConverter<T>
8-
#if NET7_0_OR_GREATER
9-
where T : INumberBase<T>
10-
#endif
7+
sealed class InternalCharConverter<T> : PgBufferedConverter<T> where T : INumberBase<T>
118
{
129
public override bool CanConvert(DataFormat format, out BufferRequirements bufferRequirements)
1310
{
1411
bufferRequirements = BufferRequirements.CreateFixedSize(sizeof(byte));
1512
return format is DataFormat.Binary;
1613
}
1714

18-
#if NET7_0_OR_GREATER
1915
protected override T ReadCore(PgReader reader) => T.CreateChecked(reader.ReadByte());
2016
protected override void WriteCore(PgWriter writer, T value) => writer.WriteByte(byte.CreateChecked(value));
21-
#else
22-
protected override T ReadCore(PgReader reader)
23-
{
24-
var value = reader.ReadByte();
25-
if (typeof(byte) == typeof(T))
26-
return (T)(object)value;
27-
if (typeof(char) == typeof(T))
28-
return (T)(object)(char)value;
29-
30-
throw new NotSupportedException();
31-
}
32-
33-
protected override void WriteCore(PgWriter writer, T value)
34-
{
35-
if (typeof(byte) == typeof(T))
36-
writer.WriteByte((byte)(object)value!);
37-
else if (typeof(char) == typeof(T))
38-
writer.WriteByte(checked((byte)(char)(object)value!));
39-
else
40-
throw new NotSupportedException();
41-
}
42-
#endif
4317
}

src/Npgsql/Internal/Converters/MoneyConverter.cs

Lines changed: 4 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3,72 +3,17 @@
33

44
namespace Npgsql.Internal.Converters;
55

6-
sealed class MoneyConverter<T> : PgBufferedConverter<T>
7-
#if NET7_0_OR_GREATER
8-
where T : INumberBase<T>
9-
#endif
6+
sealed class MoneyConverter<T> : PgBufferedConverter<T> where T : INumberBase<T>
107
{
118
public override bool CanConvert(DataFormat format, out BufferRequirements bufferRequirements)
129
{
1310
bufferRequirements = BufferRequirements.CreateFixedSize(sizeof(long));
1411
return format is DataFormat.Binary;
1512
}
13+
1614
protected override T ReadCore(PgReader reader) => ConvertTo(new PgMoney(reader.ReadInt64()));
1715
protected override void WriteCore(PgWriter writer, T value) => writer.WriteInt64(ConvertFrom(value).GetValue());
1816

19-
static PgMoney ConvertFrom(T value)
20-
{
21-
#if !NET7_0_OR_GREATER
22-
if (typeof(short) == typeof(T))
23-
return new PgMoney((decimal)(short)(object)value!);
24-
if (typeof(int) == typeof(T))
25-
return new PgMoney((decimal)(int)(object)value!);
26-
if (typeof(long) == typeof(T))
27-
return new PgMoney((decimal)(long)(object)value!);
28-
29-
if (typeof(byte) == typeof(T))
30-
return new PgMoney((decimal)(byte)(object)value!);
31-
if (typeof(sbyte) == typeof(T))
32-
return new PgMoney((decimal)(sbyte)(object)value!);
33-
34-
if (typeof(float) == typeof(T))
35-
return new PgMoney((decimal)(float)(object)value!);
36-
if (typeof(double) == typeof(T))
37-
return new PgMoney((decimal)(double)(object)value!);
38-
if (typeof(decimal) == typeof(T))
39-
return new PgMoney((decimal)(object)value!);
40-
41-
throw new NotSupportedException();
42-
#else
43-
return new PgMoney(decimal.CreateChecked(value));
44-
#endif
45-
}
46-
47-
static T ConvertTo(PgMoney money)
48-
{
49-
#if !NET7_0_OR_GREATER
50-
if (typeof(short) == typeof(T))
51-
return (T)(object)(short)money.ToDecimal();
52-
if (typeof(int) == typeof(T))
53-
return (T)(object)(int)money.ToDecimal();
54-
if (typeof(long) == typeof(T))
55-
return (T)(object)(long)money.ToDecimal();
56-
57-
if (typeof(byte) == typeof(T))
58-
return (T)(object)(byte)money.ToDecimal();
59-
if (typeof(sbyte) == typeof(T))
60-
return (T)(object)(sbyte)money.ToDecimal();
61-
62-
if (typeof(float) == typeof(T))
63-
return (T)(object)(float)money.ToDecimal();
64-
if (typeof(double) == typeof(T))
65-
return (T)(object)(double)money.ToDecimal();
66-
if (typeof(decimal) == typeof(T))
67-
return (T)(object)money.ToDecimal();
68-
69-
throw new NotSupportedException();
70-
#else
71-
return T.CreateChecked(money.ToDecimal());
72-
#endif
73-
}
17+
static PgMoney ConvertFrom(T value) => new(decimal.CreateChecked(value));
18+
static T ConvertTo(PgMoney money) => T.CreateChecked(money.ToDecimal());
7419
}

0 commit comments

Comments
 (0)