public void PqsqlParameterBufferTest2() { PqsqlParameterBuffer buf = new PqsqlParameterBuffer(); buf.AddParameter(new PqsqlParameter("p1", DbType.Int32)); buf.AddParameter(new PqsqlParameter("p2", DbType.Boolean) { Direction = ParameterDirection.InputOutput }); buf.AddParameter(new PqsqlParameter("p3", DbType.Double) { Direction = ParameterDirection.Output }); IntPtr ptyps; // oid* IntPtr pvals; // char** IntPtr plens; // int* IntPtr pfrms; // int* int num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(2, num); Assert.AreNotEqual(IntPtr.Zero, ptyps); Assert.AreNotEqual(IntPtr.Zero, pvals); Assert.AreNotEqual(IntPtr.Zero, plens); Assert.AreNotEqual(IntPtr.Zero, pfrms); buf.Dispose(); }
public void PqsqlParameterBufferTest5() { using (PqsqlParameterBuffer buf = new PqsqlParameterBuffer()) { buf.AddParameter(new PqsqlParameter { ParameterName = "p1", Value = 1 }); buf.AddParameter(new PqsqlParameter { ParameterName = "p2", Value = 2.0 }); buf.AddParameter(new PqsqlParameter { ParameterName = "p3", Value = "3" }); buf.AddParameter(new PqsqlParameter { ParameterName = "p4", Value = new byte[] { 0x0, 0x1, 0x2, 0x3 } }); buf.AddParameter(new PqsqlParameter { ParameterName = "p5", Value = new DateTimeOffset(DateTime.UtcNow) }); buf.AddParameter(new PqsqlParameter { ParameterName = "p6", Value = new TimeSpan(1, 2, 3) }); buf.AddParameter(new PqsqlParameter { ParameterName = "p7", Value = (short)7 }); buf.AddParameter(new PqsqlParameter { ParameterName = "p8", Value = (long)8 }); buf.AddParameter(new PqsqlParameter { ParameterName = "p9", Value = true }); buf.AddParameter(new PqsqlParameter { ParameterName = "p10", Value = DateTime.Now }); buf.AddParameter(new PqsqlParameter { ParameterName = "p11", Value = 11.111M }); buf.AddParameter(new PqsqlParameter { ParameterName = "p12", Value = (sbyte)127 }); buf.AddParameter(new PqsqlParameter { ParameterName = "p13", Value = (float)13.45 }); IntPtr ptyps; // oid* IntPtr pvals; // char** IntPtr plens; // int* IntPtr pfrms; // int* int num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(13, num); Assert.AreNotEqual(IntPtr.Zero, ptyps); Assert.AreNotEqual(IntPtr.Zero, pvals); Assert.AreNotEqual(IntPtr.Zero, plens); Assert.AreNotEqual(IntPtr.Zero, pfrms); } }
public void PqsqlParameterBufferTest1() { PqsqlParameterBuffer buf = new PqsqlParameterBuffer(); IntPtr ptyps; // oid* IntPtr pvals; // char** IntPtr plens; // int* IntPtr pfrms; // int* int num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(0, num); Assert.AreEqual(IntPtr.Zero, ptyps); Assert.AreEqual(IntPtr.Zero, pvals); Assert.AreEqual(IntPtr.Zero, plens); Assert.AreEqual(IntPtr.Zero, pfrms); buf.Dispose(); }
public void PqsqlParameterBufferTest4() { PqsqlParameterCollection col = new PqsqlParameterCollection(); col.AddRange(new PqsqlParameter[] { new PqsqlParameter { ParameterName = "p0", Value = null }, new PqsqlParameter { ParameterName = "p1", Value = DBNull.Value }, new PqsqlParameter("p2", DbType.Int32), new PqsqlParameter("p3", DbType.Boolean) { Direction = ParameterDirection.InputOutput }, new PqsqlParameter("p4", DbType.Double) { Direction = ParameterDirection.Output } }); using (PqsqlParameterBuffer buf = new PqsqlParameterBuffer(col)) { IntPtr ptyps; // oid* IntPtr pvals; // char** IntPtr plens; // int* IntPtr pfrms; // int* int num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(4, num); Assert.AreNotEqual(IntPtr.Zero, ptyps); Assert.AreNotEqual(IntPtr.Zero, pvals); Assert.AreNotEqual(IntPtr.Zero, plens); Assert.AreNotEqual(IntPtr.Zero, pfrms); } }
public void PqsqlParameterBufferTest3() { PqsqlParameterBuffer buf = new PqsqlParameterBuffer(); buf.AddParameter(new PqsqlParameter("p1", DbType.Int32)); buf.AddParameter(new PqsqlParameter("p2", DbType.Boolean) { Direction = ParameterDirection.InputOutput }); buf.AddParameter(new PqsqlParameter("p3", DbType.Double) { Direction = ParameterDirection.Output }); IntPtr ptyps; // oid* IntPtr pvals; // char** IntPtr plens; // int* IntPtr pfrms; // int* int num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(2, num); Assert.AreNotEqual(IntPtr.Zero, ptyps); Assert.AreNotEqual(IntPtr.Zero, pvals); Assert.AreNotEqual(IntPtr.Zero, plens); Assert.AreNotEqual(IntPtr.Zero, pfrms); // after we have called GetQueryParams above, we cannot add more parameters buf.AddParameter(new PqsqlParameter("p4", DbType.Int64)); num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(2, num); Assert.AreNotEqual(IntPtr.Zero, ptyps); Assert.AreNotEqual(IntPtr.Zero, pvals); Assert.AreNotEqual(IntPtr.Zero, plens); Assert.AreNotEqual(IntPtr.Zero, pfrms); // but we can reset the buffer buf.Clear(); num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(0, num); Assert.AreEqual(IntPtr.Zero, ptyps); Assert.AreEqual(IntPtr.Zero, pvals); Assert.AreEqual(IntPtr.Zero, plens); Assert.AreEqual(IntPtr.Zero, pfrms); // and start all over again buf.AddParameter(new PqsqlParameter("p1", DbType.Int32)); buf.AddParameter(new PqsqlParameter("p2", DbType.Boolean) { Direction = ParameterDirection.InputOutput }); buf.AddParameter(new PqsqlParameter("p3", DbType.Double) { Direction = ParameterDirection.Output }); buf.AddParameter(new PqsqlParameter("p4", DbType.Int64)); num = buf.GetQueryParams(out ptyps, out pvals, out plens, out pfrms); Assert.AreEqual(3, num); Assert.AreNotEqual(IntPtr.Zero, ptyps); Assert.AreNotEqual(IntPtr.Zero, pvals); Assert.AreNotEqual(IntPtr.Zero, plens); Assert.AreNotEqual(IntPtr.Zero, pfrms); buf.Dispose(); }