Exemple #1
0
        public void DisposeInMiddleOfTextExport()
        {
            ExecuteNonQuery("INSERT INTO data (field_text, field_int4) VALUES ('HELLO', 1)");
            var reader = Conn.BeginTextExport("COPY data (field_text, field_int4) TO STDIN");

            reader.Dispose();
            // Make sure the connection is stil OK
            Assert.That(ExecuteScalar("SELECT 1"), Is.EqualTo(1));
        }
Exemple #2
0
        public void TextExport()
        {
            var chars = new char[30];

            // Short read
            ExecuteNonQuery("INSERT INTO data (field_text, field_int4) VALUES ('HELLO', 1)");
            var reader = Conn.BeginTextExport("COPY data (field_text, field_int4) TO STDIN");

            StateAssertions();
            Assert.That(reader.Read(chars, 0, chars.Length), Is.EqualTo(8));
            Assert.That(new String(chars, 0, 8), Is.EqualTo("HELLO\t1\n"));
            Assert.That(reader.Read(chars, 0, chars.Length), Is.EqualTo(0));
            Assert.That(reader.Read(chars, 0, chars.Length), Is.EqualTo(0));
            reader.Close();
            Assert.That(() => reader.Read(chars, 0, chars.Length), Throws.Exception.TypeOf <ObjectDisposedException>());
            ExecuteNonQuery("TRUNCATE data");
        }