public void PqsqlCopyFromTest6()
        {
            PqsqlTransaction tran = null;
            PqsqlCopyFrom    copy = null;

            try
            {
                tran             = mConnection.BeginTransaction();
                mCmd.Transaction = tran;

                copy = new PqsqlCopyFrom(mConnection)
                {
                    CopyTimeout = 5
                };

                copy.Start();

                Assert.Fail();
            }
            finally
            {
                copy?.Dispose();
                tran?.Dispose();
            }
        }
        public void PqsqlCopyFromTest7()
        {
            PqsqlTransaction tran = null;
            PqsqlCopyFrom    copy = null;

            try
            {
                tran             = mConnection.BeginTransaction();
                mCmd.Transaction = tran;

                mCmd.CommandText    = "CREATE TEMP TABLE temp (id int4, val int4, txt text)";
                mCmd.CommandTimeout = 200;
                mCmd.CommandType    = CommandType.Text;

                int q = mCmd.ExecuteNonQuery();
                Assert.AreEqual(0, q);

                copy = new PqsqlCopyFrom(mConnection)
                {
                    Table       = "temp",
                    CopyTimeout = 5
                };

                copy.WriteInt4(42);                 // write without Start()
                copy.WriteInt4(42);                 // write without Start()
                copy.WriteText("42");               // write without Start()
                copy.End();
                copy.Close();

                Assert.Fail();
            }
            finally
            {
                copy?.Dispose();
                tran?.Dispose();
            }
        }
        public void PqsqlCopyFromTest4()
        {
            PqsqlTransaction tran = null;
            PqsqlCopyFrom    copy = null;

            try
            {
                tran             = mConnection.BeginTransaction();
                mCmd.Transaction = tran;

                mCmd.CommandText    = "CREATE TEMP TABLE temp (id int4, val int4, txt text)";
                mCmd.CommandTimeout = 200;
                mCmd.CommandType    = CommandType.Text;

                int q = mCmd.ExecuteNonQuery();
                Assert.AreEqual(0, q);

                copy = new PqsqlCopyFrom(mConnection)
                {
                    Table       = "temp",
                    CopyTimeout = 1
                };

                copy.Start();

                System.Threading.Thread.Sleep(1500);

                copy.End();

                Assert.Fail();
            }
            finally
            {
                copy?.Dispose();
                tran?.Dispose();
            }
        }
        public void PqsqlCopyFromTest9()
        {
            PqsqlTransaction tran = null;
            PqsqlCopyFrom    copy = null;

            try
            {
                tran             = mConnection.BeginTransaction();
                mCmd.Transaction = tran;

                mCmd.CommandText    = "CREATE TEMP TABLE temp (col timestamp)";
                mCmd.CommandTimeout = 200;
                mCmd.CommandType    = CommandType.Text;

                int q = mCmd.ExecuteNonQuery();
                Assert.AreEqual(0, q);

                copy = new PqsqlCopyFrom(mConnection)
                {
                    Table       = "temp",
                    CopyTimeout = 5
                };

                copy.Start();
                copy.WriteDate(DateTime.UtcNow);
                copy.End();
                copy.Close();

                Assert.Fail();
            }
            finally
            {
                copy?.Dispose();
                tran?.Dispose();
            }
        }