From 7efba0821831e7830bb886c19c1d8e7c5e63f6ad Mon Sep 17 00:00:00 2001 From: Ilan Uzan Date: Tue, 29 Jul 2025 15:02:51 +0200 Subject: [PATCH] fix: removing NpgsqlTypeOverrides - relying on driver defaults when possible --- Drivers/NpgsqlDriver.cs | 44 +++++++++---------- examples/NpgsqlDapperExample/QuerySql.cs | 32 +++++++------- .../NpgsqlDapperLegacyExample/QuerySql.cs | 32 +++++++------- examples/NpgsqlExample/QuerySql.cs | 32 +++++++------- examples/NpgsqlLegacyExample/QuerySql.cs | 32 +++++++------- 5 files changed, 86 insertions(+), 86 deletions(-) diff --git a/Drivers/NpgsqlDriver.cs b/Drivers/NpgsqlDriver.cs index 01cfc995..c2120f37 100644 --- a/Drivers/NpgsqlDriver.cs +++ b/Drivers/NpgsqlDriver.cs @@ -78,7 +78,7 @@ public NpgsqlDriver( ["Guid"] = new( new() { - { "uuid", new(NpgsqlTypeOverride: "NpgsqlDbType.Uuid") } + { "uuid", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})" @@ -96,8 +96,8 @@ public NpgsqlDriver( new() { { "date", new(NpgsqlTypeOverride: "NpgsqlDbType.Date") }, - { "timestamp", new(NpgsqlTypeOverride: "NpgsqlDbType.Timestamp") }, - { "timestamptz", new(NpgsqlTypeOverride: "NpgsqlDbType.TimestampTz") } + { "timestamp", new() }, + { "timestamptz", new() } }, readerFn: ordinal => $"reader.GetDateTime({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})" @@ -123,7 +123,7 @@ public NpgsqlDriver( ["short"] = new( new() { - { "int2", new(NpgsqlTypeOverride: "NpgsqlDbType.Smallint") } + { "int2", new() } }, readerFn: ordinal => $"reader.GetInt16({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})" @@ -131,10 +131,10 @@ public NpgsqlDriver( ["int"] = new( new() { - { "integer", new(NpgsqlTypeOverride: "NpgsqlDbType.Integer") }, - { "int", new(NpgsqlTypeOverride: "NpgsqlDbType.Integer") }, - { "int4", new(NpgsqlTypeOverride: "NpgsqlDbType.Integer") }, - { "serial", new(NpgsqlTypeOverride: "NpgsqlDbType.Integer") } + { "integer", new() }, + { "int", new() }, + { "int4", new() }, + { "serial", new() } }, readerFn: ordinal => $"reader.GetInt32({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})" @@ -142,7 +142,7 @@ public NpgsqlDriver( ["float"] = new( new() { - { "float4", new(NpgsqlTypeOverride: "NpgsqlDbType.Real") } + { "float4", new() } }, readerFn: ordinal => $"reader.GetFloat({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})" @@ -150,8 +150,8 @@ public NpgsqlDriver( ["decimal"] = new( new() { - { "numeric", new(NpgsqlTypeOverride: "NpgsqlDbType.Numeric") }, - { "decimal", new(NpgsqlTypeOverride: "NpgsqlDbType.Numeric") }, + { "numeric", new() }, + { "decimal", new() }, { "money", new(NpgsqlTypeOverride: "NpgsqlDbType.Money") } }, readerFn: ordinal => $"reader.GetDecimal({ordinal})", @@ -160,7 +160,7 @@ public NpgsqlDriver( ["double"] = new( new() { - { "float8", new(NpgsqlTypeOverride: "NpgsqlDbType.Double") } + { "float8", new() } }, readerFn: ordinal => $"reader.GetDouble({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})" @@ -177,7 +177,7 @@ public NpgsqlDriver( ["NpgsqlPoint"] = new( new() { - { "point", new(NpgsqlTypeOverride: "NpgsqlDbType.Point") } + { "point", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -187,7 +187,7 @@ public NpgsqlDriver( ["NpgsqlLine"] = new( new() { - { "line", new(NpgsqlTypeOverride: "NpgsqlDbType.Line") } + { "line", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -197,7 +197,7 @@ public NpgsqlDriver( ["NpgsqlLSeg"] = new( new() { - { "lseg", new(NpgsqlTypeOverride: "NpgsqlDbType.LSeg") } + { "lseg", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -207,7 +207,7 @@ public NpgsqlDriver( ["NpgsqlBox"] = new( new() { - { "box", new(NpgsqlTypeOverride: "NpgsqlDbType.Box") } + { "box", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -217,7 +217,7 @@ public NpgsqlDriver( ["NpgsqlPath"] = new( new() { - { "path", new(NpgsqlTypeOverride: "NpgsqlDbType.Path") } + { "path", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -227,7 +227,7 @@ public NpgsqlDriver( ["NpgsqlPolygon"] = new( new() { - { "polygon", new(NpgsqlTypeOverride: "NpgsqlDbType.Polygon") } + { "polygon", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -237,7 +237,7 @@ public NpgsqlDriver( ["NpgsqlCircle"] = new( new() { - { "circle", new(NpgsqlTypeOverride: "NpgsqlDbType.Circle") } + { "circle", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -247,7 +247,7 @@ public NpgsqlDriver( ["NpgsqlCidr"] = new( new() { - { "cidr", new(NpgsqlTypeOverride: "NpgsqlDbType.Cidr") } + { "cidr", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -257,7 +257,7 @@ public NpgsqlDriver( ["IPAddress"] = new( new() { - { "inet", new(NpgsqlTypeOverride: "NpgsqlDbType.Inet") } + { "inet", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", @@ -267,7 +267,7 @@ public NpgsqlDriver( ["PhysicalAddress"] = new( new() { - { "macaddr", new(NpgsqlTypeOverride: "NpgsqlDbType.MacAddr") } + { "macaddr", new() } }, readerFn: ordinal => $"reader.GetFieldValue({ordinal})", readerArrayFn: ordinal => $"reader.GetFieldValue({ordinal})", diff --git a/examples/NpgsqlDapperExample/QuerySql.cs b/examples/NpgsqlDapperExample/QuerySql.cs index 2cf0e114..911f82eb 100644 --- a/examples/NpgsqlDapperExample/QuerySql.cs +++ b/examples/NpgsqlDapperExample/QuerySql.cs @@ -653,25 +653,25 @@ public async Task InsertPostgresTypesBatch(List ar { await writer.StartRowAsync(); await writer.WriteAsync(row.CBoolean); - await writer.WriteAsync(row.CSmallint, NpgsqlDbType.Smallint); - await writer.WriteAsync(row.CInteger, NpgsqlDbType.Integer); + await writer.WriteAsync(row.CSmallint); + await writer.WriteAsync(row.CInteger); await writer.WriteAsync(row.CBigint); - await writer.WriteAsync(row.CReal, NpgsqlDbType.Real); - await writer.WriteAsync(row.CNumeric, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDecimal, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDoublePrecision, NpgsqlDbType.Double); + await writer.WriteAsync(row.CReal); + await writer.WriteAsync(row.CNumeric); + await writer.WriteAsync(row.CDecimal); + await writer.WriteAsync(row.CDoublePrecision); await writer.WriteAsync(row.CMoney, NpgsqlDbType.Money); await writer.WriteAsync(row.CDate, NpgsqlDbType.Date); await writer.WriteAsync(row.CTime, NpgsqlDbType.Time); - await writer.WriteAsync(row.CTimestamp, NpgsqlDbType.Timestamp); - await writer.WriteAsync(row.CTimestampWithTz, NpgsqlDbType.TimestampTz); + await writer.WriteAsync(row.CTimestamp); + await writer.WriteAsync(row.CTimestampWithTz); await writer.WriteAsync(row.CInterval, NpgsqlDbType.Interval); await writer.WriteAsync(row.CChar); await writer.WriteAsync(row.CVarchar); await writer.WriteAsync(row.CCharacterVarying); await writer.WriteAsync(row.CBpchar); await writer.WriteAsync(row.CText); - await writer.WriteAsync(row.CUuid, NpgsqlDbType.Uuid); + await writer.WriteAsync(row.CUuid); await writer.WriteAsync(row.CBytea); } @@ -872,13 +872,13 @@ public async Task InsertPostgresGeoTypesBatch(List ar { await writer.StartRowAsync(); await writer.WriteAsync(row.CBoolean); - await writer.WriteAsync(row.CSmallint, NpgsqlDbType.Smallint); - await writer.WriteAsync(row.CInteger, NpgsqlDbType.Integer); + await writer.WriteAsync(row.CSmallint); + await writer.WriteAsync(row.CInteger); await writer.WriteAsync(row.CBigint); - await writer.WriteAsync(row.CReal, NpgsqlDbType.Real); - await writer.WriteAsync(row.CNumeric, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDecimal, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDoublePrecision, NpgsqlDbType.Double); + await writer.WriteAsync(row.CReal); + await writer.WriteAsync(row.CNumeric); + await writer.WriteAsync(row.CDecimal); + await writer.WriteAsync(row.CDoublePrecision); await writer.WriteAsync(row.CMoney, NpgsqlDbType.Money); await writer.WriteAsync(row.CDate, NpgsqlDbType.Date); await writer.WriteAsync(row.CTime, NpgsqlDbType.Time); - await writer.WriteAsync(row.CTimestamp, NpgsqlDbType.Timestamp); - await writer.WriteAsync(row.CTimestampWithTz, NpgsqlDbType.TimestampTz); + await writer.WriteAsync(row.CTimestamp); + await writer.WriteAsync(row.CTimestampWithTz); await writer.WriteAsync(row.CInterval, NpgsqlDbType.Interval); await writer.WriteAsync(row.CChar); await writer.WriteAsync(row.CVarchar); await writer.WriteAsync(row.CCharacterVarying); await writer.WriteAsync(row.CBpchar); await writer.WriteAsync(row.CText); - await writer.WriteAsync(row.CUuid, NpgsqlDbType.Uuid); + await writer.WriteAsync(row.CUuid); await writer.WriteAsync(row.CBytea); } @@ -873,13 +873,13 @@ public async Task InsertPostgresGeoTypesBatch(List ar { await writer.StartRowAsync(); await writer.WriteAsync(row.CBoolean ?? (object)DBNull.Value); - await writer.WriteAsync(row.CSmallint ?? (object)DBNull.Value, NpgsqlDbType.Smallint); - await writer.WriteAsync(row.CInteger ?? (object)DBNull.Value, NpgsqlDbType.Integer); + await writer.WriteAsync(row.CSmallint ?? (object)DBNull.Value); + await writer.WriteAsync(row.CInteger ?? (object)DBNull.Value); await writer.WriteAsync(row.CBigint ?? (object)DBNull.Value); - await writer.WriteAsync(row.CReal ?? (object)DBNull.Value, NpgsqlDbType.Real); - await writer.WriteAsync(row.CNumeric ?? (object)DBNull.Value, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDecimal ?? (object)DBNull.Value, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDoublePrecision ?? (object)DBNull.Value, NpgsqlDbType.Double); + await writer.WriteAsync(row.CReal ?? (object)DBNull.Value); + await writer.WriteAsync(row.CNumeric ?? (object)DBNull.Value); + await writer.WriteAsync(row.CDecimal ?? (object)DBNull.Value); + await writer.WriteAsync(row.CDoublePrecision ?? (object)DBNull.Value); await writer.WriteAsync(row.CMoney ?? (object)DBNull.Value, NpgsqlDbType.Money); await writer.WriteAsync(row.CDate ?? (object)DBNull.Value, NpgsqlDbType.Date); await writer.WriteAsync(row.CTime ?? (object)DBNull.Value, NpgsqlDbType.Time); - await writer.WriteAsync(row.CTimestamp ?? (object)DBNull.Value, NpgsqlDbType.Timestamp); - await writer.WriteAsync(row.CTimestampWithTz ?? (object)DBNull.Value, NpgsqlDbType.TimestampTz); + await writer.WriteAsync(row.CTimestamp ?? (object)DBNull.Value); + await writer.WriteAsync(row.CTimestampWithTz ?? (object)DBNull.Value); await writer.WriteAsync(row.CInterval ?? (object)DBNull.Value, NpgsqlDbType.Interval); await writer.WriteAsync(row.CChar ?? (object)DBNull.Value); await writer.WriteAsync(row.CVarchar ?? (object)DBNull.Value); await writer.WriteAsync(row.CCharacterVarying ?? (object)DBNull.Value); await writer.WriteAsync(row.CBpchar ?? (object)DBNull.Value); await writer.WriteAsync(row.CText ?? (object)DBNull.Value); - await writer.WriteAsync(row.CUuid ?? (object)DBNull.Value, NpgsqlDbType.Uuid); + await writer.WriteAsync(row.CUuid ?? (object)DBNull.Value); await writer.WriteAsync(row.CBytea ?? (object)DBNull.Value); } @@ -1114,13 +1114,13 @@ public async Task InsertPostgresGeoTypesBatch(List ar { await writer.StartRowAsync(); await writer.WriteAsync(row.CBoolean ?? (object)DBNull.Value); - await writer.WriteAsync(row.CSmallint ?? (object)DBNull.Value, NpgsqlDbType.Smallint); - await writer.WriteAsync(row.CInteger ?? (object)DBNull.Value, NpgsqlDbType.Integer); + await writer.WriteAsync(row.CSmallint ?? (object)DBNull.Value); + await writer.WriteAsync(row.CInteger ?? (object)DBNull.Value); await writer.WriteAsync(row.CBigint ?? (object)DBNull.Value); - await writer.WriteAsync(row.CReal ?? (object)DBNull.Value, NpgsqlDbType.Real); - await writer.WriteAsync(row.CNumeric ?? (object)DBNull.Value, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDecimal ?? (object)DBNull.Value, NpgsqlDbType.Numeric); - await writer.WriteAsync(row.CDoublePrecision ?? (object)DBNull.Value, NpgsqlDbType.Double); + await writer.WriteAsync(row.CReal ?? (object)DBNull.Value); + await writer.WriteAsync(row.CNumeric ?? (object)DBNull.Value); + await writer.WriteAsync(row.CDecimal ?? (object)DBNull.Value); + await writer.WriteAsync(row.CDoublePrecision ?? (object)DBNull.Value); await writer.WriteAsync(row.CMoney ?? (object)DBNull.Value, NpgsqlDbType.Money); await writer.WriteAsync(row.CDate ?? (object)DBNull.Value, NpgsqlDbType.Date); await writer.WriteAsync(row.CTime ?? (object)DBNull.Value, NpgsqlDbType.Time); - await writer.WriteAsync(row.CTimestamp ?? (object)DBNull.Value, NpgsqlDbType.Timestamp); - await writer.WriteAsync(row.CTimestampWithTz ?? (object)DBNull.Value, NpgsqlDbType.TimestampTz); + await writer.WriteAsync(row.CTimestamp ?? (object)DBNull.Value); + await writer.WriteAsync(row.CTimestampWithTz ?? (object)DBNull.Value); await writer.WriteAsync(row.CInterval ?? (object)DBNull.Value, NpgsqlDbType.Interval); await writer.WriteAsync(row.CChar ?? (object)DBNull.Value); await writer.WriteAsync(row.CVarchar ?? (object)DBNull.Value); await writer.WriteAsync(row.CCharacterVarying ?? (object)DBNull.Value); await writer.WriteAsync(row.CBpchar ?? (object)DBNull.Value); await writer.WriteAsync(row.CText ?? (object)DBNull.Value); - await writer.WriteAsync(row.CUuid ?? (object)DBNull.Value, NpgsqlDbType.Uuid); + await writer.WriteAsync(row.CUuid ?? (object)DBNull.Value); await writer.WriteAsync(row.CBytea ?? (object)DBNull.Value); } @@ -1354,13 +1354,13 @@ public async Task InsertPostgresGeoTypesBatch(List