Skip to content

Commit 92bd22d

Browse files
authored
Make GeoJSON plugin compatible with global mapping (#4662)
Fixes #4661
1 parent 12375b4 commit 92bd22d

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

src/Npgsql.GeoJSON/Internal/GeoJSONTypeHandlerResolver.cs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,21 @@ internal GeoJSONTypeHandlerResolver(NpgsqlConnector connector, GeoJSONOptions op
3030
? default : CRSMaps.GetOrAdd(connector.Settings.ConnectionString, _ =>
3131
{
3232
var builder = new CrsMapBuilder();
33-
using (var cmd = connector.CreateCommand(
34-
"SELECT min(srid), max(srid), auth_name " +
35-
"FROM(SELECT srid, auth_name, srid - rank() OVER(ORDER BY srid) AS range " +
36-
"FROM spatial_ref_sys) AS s GROUP BY range, auth_name ORDER BY 1;"))
37-
using (var reader = cmd.ExecuteReader())
38-
while (reader.Read())
39-
{
40-
builder.Add(new CrsMapEntry(
41-
reader.GetInt32(0),
42-
reader.GetInt32(1),
43-
reader.GetString(2)));
44-
}
33+
using var cmd = connector.CreateCommand(
34+
"SELECT min(srid), max(srid), auth_name " +
35+
"FROM(SELECT srid, auth_name, srid - rank() OVER(ORDER BY srid) AS range " +
36+
"FROM spatial_ref_sys) AS s GROUP BY range, auth_name ORDER BY 1;");
37+
cmd.AllResultTypesAreUnknown = true;
38+
using var reader = cmd.ExecuteReader();
39+
40+
while (reader.Read())
41+
{
42+
builder.Add(new CrsMapEntry(
43+
int.Parse(reader.GetString(0)),
44+
int.Parse(reader.GetString(1)),
45+
reader.GetString(2)));
46+
}
47+
4548
return builder.Build();
4649
});
4750

0 commit comments

Comments
 (0)