Exemple #1
0
        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));
        }
Exemple #2
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));
        }
Exemple #3
0
        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));
        }
Exemple #4
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));
        }