public void PostgisTestReadSrid(TestAtt a) { using (var cmd = Conn.CreateCommand()) { cmd.CommandText = "Select st_setsrid(" + a.SQL + ",3942)"; var p = cmd.ExecuteScalar(); Assert.IsTrue(p.Equals(a.Geom)); Assert.IsTrue((p as PostgisGeometry).SRID == 3942); } }
public void PostgisTestRead(TestAtt att) { using (var cmd = Conn.CreateCommand()) { var a = att; cmd.CommandText = "Select " + a.SQL; var p = cmd.ExecuteScalar(); Assert.IsTrue(p.Equals(a.Geom)); } }
public void PostgisTestWriteSrid(TestAtt a) { using (var cmd = Conn.CreateCommand()) { cmd.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry, a.Geom); a.Geom.SRID = 3942; cmd.CommandText = "Select st_asewkb(:p1) = st_asewkb(st_setsrid(" + a.SQL + ",3942))"; var p = (bool)cmd.ExecuteScalar(); Assert.IsTrue(p); } }
public void PostgisTestWrite(TestAtt a) { using (var cmd = Conn.CreateCommand()) { cmd.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry, a.Geom); a.Geom.SRID = 0; cmd.CommandText = "Select st_asewkb(:p1) = st_asewkb(" + a.SQL + ")"; try { Assert.IsTrue((bool)cmd.ExecuteScalar(), "Error on comparison of " + a.Geom); } catch (Exception) { Assert.Fail("Exception caught on " + a.Geom); } } }
public void PostgisTestWrite(TestAtt a) { using (var conn = OpenConnection()) using (var cmd = conn.CreateCommand()) { cmd.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry, a.Geom); a.Geom.SRID = 0; cmd.CommandText = "Select st_asewkb(:p1) = st_asewkb(" + a.SQL + ")"; bool areEqual; try { areEqual = (bool)cmd.ExecuteScalar(); } catch (Exception e) { throw new Exception("Exception caught on " + a.Geom, e); } Assert.IsTrue(areEqual, "Error on comparison of " + a.Geom); } }
public void CopyBinaryArray(TestAtt a) { using (var c = OpenConnection()) { using (var cmd = new NpgsqlCommand("CREATE TEMPORARY TABLE testcopybinarray (g geometry[3])", c)) cmd.ExecuteNonQuery(); var t = new PostgisGeometry[3] { a.Geom, a.Geom, a.Geom }; try { using (var writer = c.BeginBinaryImport("COPY testcopybinarray (g) FROM STDIN (FORMAT BINARY)")) { for (var i = 0; i < 1000; i++) { writer.WriteRow(new[] { t }); } writer.Complete(); } } catch (Exception e) { Assert.Fail($"Copy from stdin failed with {e} at geometry {a.Geom}."); } try { using (var rdr = c.BeginBinaryExport("COPY testcopybinarray (g) TO STDOUT (FORMAT BINARY)")) for (var i = 0; i < 1000; i++) { rdr.StartRow(); Assert.IsTrue(t.SequenceEqual(rdr.Read <PostgisGeometry[]>())); } } catch (Exception e) { Assert.Fail($"Copy to stdout failed with {e} at geometry {a.Geom}."); } } }
public void CopyBinary(TestAtt a) { using (var c = OpenConnection()) { using (var cmd = new NpgsqlCommand("CREATE TEMPORARY TABLE testcopybin (g geometry)", c)) cmd.ExecuteNonQuery(); try { using (var writer = c.BeginBinaryImport($"COPY testcopybin (g) FROM STDIN (FORMAT BINARY)")) for (int i = 0; i < 1000; i++) { writer.WriteRow(a.Geom); } } catch (Exception e) { Assert.Fail($"Copy from stdin failed with {e} at geometry {a.Geom}."); } try { using (var rdr = c.BeginBinaryExport($"COPY testcopybin (g) TO STDOUT (FORMAT BINARY) ")) { for (int i = 0; i < 1000; i++) { rdr.StartRow(); Assert.IsTrue(a.Geom.Equals(rdr.Read <PostgisGeometry>())); } } } catch (Exception e) { Assert.Fail($"Copy from stdout failed with {e} at geometry {a.Geom}."); } } }
public void CopyBinaryArray(TestAtt a) { using (var c = OpenConnection()) { using (var cmd = new NpgsqlCommand("CREATE TEMPORARY TABLE testcopybinarray (g geometry[3])", c)) cmd.ExecuteNonQuery(); var t = new PostgisGeometry[3] { a.Geom, a.Geom, a.Geom }; try { using (var writer = c.BeginBinaryImport("COPY testcopybinarray (g) FROM STDIN (FORMAT BINARY)")) for (int i = 0; i < 1000; i++) writer.WriteRow(new[] {t}); } catch(Exception e) { Assert.Fail($"Copy from stdin failed with {e} at geometry {a.Geom}."); } try { using (var rdr = c.BeginBinaryExport("COPY testcopybinarray (g) TO STDOUT (FORMAT BINARY)")) for (int i = 0; i < 1000; i++) { rdr.StartRow(); Assert.IsTrue(t.SequenceEqual(rdr.Read<PostgisGeometry[]>())); } } catch(Exception e) { Assert.Fail($"Copy to stdout failed with {e} at geometry {a.Geom}."); } } }
public void PostgisTestReadSrid(TestAtt a) { using (var conn = OpenConnection()) using (var cmd = conn.CreateCommand()) { cmd.CommandText = "Select st_setsrid(" + a.SQL + ",3942)"; var p = cmd.ExecuteScalar(); Assert.IsTrue(p.Equals(a.Geom)); Assert.IsTrue((p as PostgisGeometry).SRID == 3942); } }
public void PostgisTestWriteSrid(TestAtt a) { using (var conn = OpenConnection()) using (var cmd = conn.CreateCommand()) { cmd.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry, a.Geom); a.Geom.SRID = 3942; cmd.CommandText = "Select st_asewkb(:p1) = st_asewkb(st_setsrid("+ a.SQL + ",3942))"; var p = (bool)cmd.ExecuteScalar(); Assert.IsTrue(p); } }
public void PostgisTestWrite(TestAtt a) { using (var conn = OpenConnection()) using (var cmd = conn.CreateCommand()) { cmd.Parameters.AddWithValue("p1", NpgsqlDbType.Geometry,a.Geom); a.Geom.SRID = 0; cmd.CommandText = "Select st_asewkb(:p1) = st_asewkb(" + a.SQL + ")"; try { Assert.IsTrue((bool)cmd.ExecuteScalar(),"Error on comparison of " + a.Geom); } catch (Exception) { Assert.Fail("Exception caught on " + a.Geom); } } }
public void PostgisTestRead(TestAtt att) { using (var conn = OpenConnection()) using (var cmd = conn.CreateCommand()) { var a = att; cmd.CommandText = "Select " + a.SQL; var p = cmd.ExecuteScalar(); Assert.IsTrue(p.Equals(a.Geom)); } }