Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 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));
     }
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 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);
         }
     }
 }
Exemplo n.º 5
0
 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);
         }
 }
Exemplo n.º 6
0
        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}.");
                }
            }
        }
Exemplo n.º 7
0
        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}.");
                }
            }
        }
Exemplo n.º 8
0
        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}.");
                }
            }
        }
Exemplo n.º 9
0
 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);
     }
 }
Exemplo n.º 10
0
 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);
     }
 }
Exemplo n.º 11
0
 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);
         }
     }
 }
Exemplo n.º 12
0
 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));
     }
 }