Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/Npgsql.GeoJSON/Internal/GeoJSONTypeHandlerResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ internal GeoJSONTypeHandlerResolver(NpgsqlConnector connector, GeoJSONOptions op
? "geography"
: "geometry";

public override TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName)
=> DoGetMappingByDataTypeName(dataTypeName);
public override TypeMappingInfo? GetMappingByPostgresType(PostgresType type)
=> DoGetMappingByDataTypeName(type.Name);

internal static TypeMappingInfo? DoGetMappingByDataTypeName(string dataTypeName)
=> dataTypeName switch
Expand Down
4 changes: 2 additions & 2 deletions src/Npgsql.Json.NET/Internal/JsonNetTypeHandlerResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ internal JsonNetTypeHandlerResolver(
internal static string? ClrTypeToDataTypeName(Type type, Dictionary<Type, string> clrTypes)
=> clrTypes.TryGetValue(type, out var dataTypeName) ? dataTypeName : null;

public override TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName)
=> DoGetMappingByDataTypeName(dataTypeName);
public override TypeMappingInfo? GetMappingByPostgresType(PostgresType type)
=> DoGetMappingByDataTypeName(type.Name);

internal static TypeMappingInfo? DoGetMappingByDataTypeName(string dataTypeName)
=> dataTypeName switch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ internal NetTopologySuiteTypeHandlerResolver(
? "geography"
: "geometry";

public override TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName)
=> DoGetMappingByDataTypeName(dataTypeName);
public override TypeMappingInfo? GetMappingByPostgresType(PostgresType type)
=> DoGetMappingByDataTypeName(type.Name);

internal static TypeMappingInfo? DoGetMappingByDataTypeName(string dataTypeName)
=> dataTypeName switch
Expand Down
4 changes: 2 additions & 2 deletions src/Npgsql.NodaTime/Internal/NodaTimeTypeHandlerResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,8 @@ internal NodaTimeTypeHandlerResolver(NpgsqlConnector connector)
return null;
}

public override TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName)
=> DoGetMappingByDataTypeName(dataTypeName);
public override TypeMappingInfo? GetMappingByPostgresType(PostgresType type)
=> DoGetMappingByDataTypeName(type.Name);

internal static TypeMappingInfo? DoGetMappingByDataTypeName(string dataTypeName)
=> dataTypeName switch
Expand Down
9 changes: 8 additions & 1 deletion src/Npgsql/Internal/TypeHandling/TypeHandlerResolver.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using Npgsql.PostgresTypes;

namespace Npgsql.Internal.TypeHandling;

Expand All @@ -18,6 +19,12 @@ public abstract class TypeHandlerResolver
/// </summary>
public abstract NpgsqlTypeHandler? ResolveByClrType(Type type);

/// <summary>
/// Resolves a type handler given a PostgreSQL type.
/// </summary>
public virtual NpgsqlTypeHandler? ResolveByPostgresType(PostgresType type)
=> ResolveByDataTypeName(type.Name);

public virtual NpgsqlTypeHandler? ResolveValueDependentValue(object value) => null;

public virtual NpgsqlTypeHandler? ResolveValueTypeGenerically<T>(T value) => null;
Expand All @@ -26,5 +33,5 @@ public abstract class TypeHandlerResolver
/// Gets type mapping information for a given PostgreSQL type.
/// Invoked in scenarios when mapping information is required, rather than a type handler for reading or writing.
/// </summary>
public abstract TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName);
public abstract TypeMappingInfo? GetMappingByPostgresType(PostgresType type);
}
4 changes: 2 additions & 2 deletions src/Npgsql/TypeMapping/BuiltInTypeHandlerResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -650,8 +650,8 @@ static DateTimeKind GetMultirangeKind(IList<NpgsqlRange<DateTime>> multirange)
internal static string? ClrTypeToDataTypeName(Type type)
=> ClrTypeToDataTypeNameTable.TryGetValue(type, out var dataTypeName) ? dataTypeName : null;

public override TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName)
=> DoGetMappingByDataTypeName(dataTypeName);
public override TypeMappingInfo? GetMappingByPostgresType(PostgresType type)
=> DoGetMappingByDataTypeName(type.Name);

internal static TypeMappingInfo? DoGetMappingByDataTypeName(string dataTypeName)
=> Mappings.TryGetValue(dataTypeName, out var mapping) ? mapping : null;
Expand Down
4 changes: 2 additions & 2 deletions src/Npgsql/TypeMapping/JsonTypeHandlerResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ internal JsonTypeHandlerResolver(
? "jsonb"
: clrTypes is not null && clrTypes.TryGetValue(type, out var dataTypeName) ? dataTypeName : null;

public override TypeMappingInfo? GetMappingByDataTypeName(string dataTypeName)
=> DoGetMappingByDataTypeName(dataTypeName);
public override TypeMappingInfo? GetMappingByPostgresType(PostgresType type)
=> DoGetMappingByDataTypeName(type.Name);

internal static TypeMappingInfo? DoGetMappingByDataTypeName(string dataTypeName)
=> dataTypeName switch
Expand Down
Loading