Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 067f57c

Browse files
committed
Revert to Npgsql 5.0.10, v6 needs more effort to handle to many breaking changes
1 parent 84d9fab commit 067f57c

File tree

4 files changed

+35
-6
lines changed

4 files changed

+35
-6
lines changed

src/ServiceStack.OrmLite.PostgreSQL/PostgreSQLDialectProvider.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace ServiceStack.OrmLite.PostgreSQL
2121
{
2222
public class PostgreSqlDialectProvider : OrmLiteDialectProviderBase<PostgreSqlDialectProvider>
2323
{
24-
public static PostgreSqlDialectProvider Instance = new PostgreSqlDialectProvider();
24+
public static PostgreSqlDialectProvider Instance = new();
2525

2626
public bool UseReturningForLastInsertId { get; set; } = true;
2727

@@ -72,8 +72,9 @@ public PostgreSqlDialectProvider()
7272
RegisterConverter<DateTimeOffset[]>(new PostgreSqlDateTimeOffsetTimeStampTzArrayConverter());
7373

7474
RegisterConverter<XmlValue>(new PostgreSqlXmlConverter());
75-
75+
7676
#if NET6_0
77+
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
7778
RegisterConverter<DateOnly>(new PostgreSqlDateOnlyConverter());
7879
#endif
7980

@@ -85,8 +86,12 @@ public PostgreSqlDialectProvider()
8586
{ OrmLiteVariables.True, SqlBool(true) },
8687
{ OrmLiteVariables.False, SqlBool(false) },
8788
};
89+
90+
//this.ExecFilter = new PostgreSqlExecFilter {
91+
// OnCommand = cmd => cmd.AllResultTypesAreUnknown = true
92+
//};
8893
}
89-
94+
9095
public bool UseHstore
9196
{
9297
set
@@ -118,7 +123,7 @@ public bool Normalize
118123
}
119124

120125
//https://www.postgresql.org/docs/7.3/static/sql-keywords-appendix.html
121-
public static HashSet<string> ReservedWords = new HashSet<string>(new[]
126+
public static HashSet<string> ReservedWords = new(new[]
122127
{
123128
"ALL",
124129
"ANALYSE",
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using System;
2+
using System.Data;
3+
using Npgsql;
4+
5+
namespace ServiceStack.OrmLite.PostgreSQL
6+
{
7+
public class PostgreSqlExecFilter : OrmLiteExecFilter
8+
{
9+
public Action<NpgsqlCommand> OnCommand { get; set; }
10+
11+
public override IDbCommand CreateCommand(IDbConnection dbConn)
12+
{
13+
var cmd = base.CreateCommand(dbConn);
14+
if (OnCommand != null)
15+
{
16+
if (cmd.ToDbCommand() is NpgsqlCommand psqlCmd)
17+
{
18+
OnCommand?.Invoke(psqlCmd);
19+
}
20+
}
21+
return cmd;
22+
}
23+
}
24+
}

src/ServiceStack.OrmLite.PostgreSQL/ServiceStack.OrmLite.PostgreSQL.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<PackageReference Include="Npgsql" Version="6.0.0" />
2121
</ItemGroup>
2222
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
23-
<PackageReference Include="Npgsql" Version="6.0.0" />
23+
<PackageReference Include="Npgsql" Version="5.0.10" />
2424
</ItemGroup>
2525

2626
<ItemGroup>

src/ServiceStack.OrmLite/OrmLiteDialectProviderBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public virtual void InitDbParam(IDbDataParameter dbParam, Type columnType)
167167

168168
public IOrmLiteExecFilter ExecFilter { get; set; }
169169

170-
public Dictionary<Type, IOrmLiteConverter> Converters = new Dictionary<Type, IOrmLiteConverter>();
170+
public Dictionary<Type, IOrmLiteConverter> Converters = new();
171171

172172
public string AutoIncrementDefinition = "AUTOINCREMENT"; //SqlServer express limit
173173

0 commit comments

Comments
 (0)