2016-04-05 3 views
1

В этом примере я использую Npgsql в версии 3.1.0-alpha6 разработки.Таймаут при выборе PostgisMultipolygon с Npgsql

Я хочу указать объект PostgisGeometry в качестве параметра в запросе (NpgsqlDbType.Geometry) и снова выбрать объект.

Запросы с такими типами, как Point, MultiPoint, LineString, MultiLineString, Polygon и GeometryCollection будут возвращены правильно. Объект PostgisMultiPolygon с одним полигоном будет возвращен правильно.

Однако он не работает с PostgisMultiPolygon с несколькими полигонами.

PostgisMultiPolygon geom1 = new PostgisMultiPolygon(new[] 
{ 
    new PostgisPolygon(new[] 
    { 
     new[] 
     { 
      new Coordinate2D(40, 40), 
      new Coordinate2D(20, 45), 
      new Coordinate2D(45, 30), 
      new Coordinate2D(40, 40) 
     } 
    }) 
}) {SRID = 4326}; 
PostgisMultiPolygon geom2 = new PostgisMultiPolygon(new[] 
{ 
    new PostgisPolygon(new[] 
    { 
     new[] 
     { 
      new Coordinate2D(40, 40), 
      new Coordinate2D(20, 45), 
      new Coordinate2D(45, 30), 
      new Coordinate2D(40, 40) 
     } 
    }), 
    new PostgisPolygon(new[] 
    { 
     new[] 
     { 
      new Coordinate2D(20, 35), 
      new Coordinate2D(10, 30), 
      new Coordinate2D(10, 10), 
      new Coordinate2D(30, 5), 
      new Coordinate2D(45, 20), 
      new Coordinate2D(20, 35) 
     } 
    }) 
}) {SRID = 4326}; 

using (NpgsqlConnection connection = CreateConnection()) 
{ 
    NpgsqlCommand command = connection.CreateCommand(); 
    command.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry, geom1); 
    command.CommandText = "Select :p1"; 
    command.ExecuteScalar(); 
} 

using (NpgsqlConnection connection = CreateConnection()) 
{ 
    NpgsqlCommand command = connection.CreateCommand(); 
    command.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry, geom2); 
    command.CommandText = "Select :p1"; 
    command.ExecuteScalar(); //timeout occurs... 
} 

При увеличении CommandTimeout тайм-аут происходит в любом случае. Спасибо заранее!

+0

я могу видеть, как это происходит с, пожалуйста, вы можете открыть вопрос в http://github.com/npgsql/npgsql? –

+0

Проблема: https://github.com/npgsql/npgsql/issues/1022 –

ответ

Смежные вопросы