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)); }
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"); }