public void TextImportEmpty() { var writer = Conn.BeginTextImport("COPY data (field_text, field_int4) FROM STDIN"); writer.Close(); Assert.That(ExecuteScalar(@"SELECT COUNT(*) FROM data"), Is.EqualTo(0)); }
public void TextImport() { const string line = "HELLO\t1\n"; // Short write var writer = Conn.BeginTextImport("COPY data (field_text, field_int4) FROM STDIN"); StateAssertions(); writer.Write(line); writer.Close(); Assert.That(ExecuteScalar(@"SELECT COUNT(*) FROM data WHERE field_int4=1"), Is.EqualTo(1)); Assert.That(() => writer.Write(line), Throws.Exception.TypeOf <ObjectDisposedException>()); ExecuteNonQuery("TRUNCATE data"); // Long (multi-buffer) write var iterations = NpgsqlBuffer.MinimumBufferSize / line.Length + 100; writer = Conn.BeginTextImport("COPY data (field_text, field_int4) FROM STDIN"); for (var i = 0; i < iterations; i++) { writer.Write(line); } writer.Close(); Assert.That(ExecuteScalar(@"SELECT COUNT(*) FROM data WHERE field_int4=1"), Is.EqualTo(iterations)); }
public void CancelTextImport() { var writer = (NpgsqlCopyTextWriter)Conn.BeginTextImport("COPY data (field_text, field_int4) FROM STDIN"); writer.Write("HELLO\t1\n"); writer.Cancel(); Assert.That(ExecuteScalar(@"SELECT COUNT(*) FROM data"), Is.EqualTo(0)); }
public void TextImportEmpty() { ExecuteNonQuery("CREATE TEMP TABLE data (field_text TEXT, field_int2 SMALLINT, field_int4 INTEGER)", Conn); var writer = Conn.BeginTextImport("COPY data (field_text, field_int4) FROM STDIN"); writer.Close(); Assert.That(ExecuteScalar(@"SELECT COUNT(*) FROM data"), Is.EqualTo(0)); }