Thread: NpgsqlCopySerializer blows up if no rows are saved
I am not sure if this is the correct place to post my question to. If this is a wrong list, can you tell me the right one. I am bulk loading rows using the following code: const string connString = "myConnString"; using(var conn = new NpgsqlConnection(connString)) { conn.Open(); var command = conn.CreateCommand(); var copyStr = string.Format("COPY staging.test(col1,col2) FROM STDIN"); command.CommandText = copyStr; command.CommandType = CommandType.Text; var serializer = new NpgsqlCopySerializer(conn); var copyIn = new NpgsqlCopyIn(command, conn, serializer.ToStream); copyIn.Start(); foreach (var row in incomingRows) { //feed the values here } copyIn.End(); serializer.Flush(); serializer.Close(); command.Dispose(); } If incomingRows has one or more items, this works. However, if no rows are saved, serializer.Close() blows up: System.NullReferenceException : Object reference not set to an instance of an object. at Npgsql.NpgsqlCopySerializer.Close() What am I doing wrong? -- View this message in context: http://postgresql.1045698.n5.nabble.com/NpgsqlCopySerializer-blows-up-if-no-rows-are-saved-tp5781300.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
Hi!
You should post Npgsql questions to our user's forums : http://forums.npgsql.org
In this case I think it is a bug in Npgsql. Please add this test program to your post when talking about this problem.
Thanks in advance.
Em 02/12/2013 19:29, "AK" <alkuzo@gmail.com> escreveu:
I am not sure if this is the correct place to post my question to. If this is
a wrong list, can you tell me the right one.
I am bulk loading rows using the following code:
const string connString =
"myConnString";
using(var conn = new NpgsqlConnection(connString))
{
conn.Open();
var command = conn.CreateCommand();
var copyStr = string.Format("COPY staging.test(col1,col2) FROM STDIN");
command.CommandText = copyStr;
command.CommandType = CommandType.Text;
var serializer = new NpgsqlCopySerializer(conn);
var copyIn = new NpgsqlCopyIn(command, conn, serializer.ToStream);
copyIn.Start();
foreach (var row in incomingRows)
{
//feed the values here
}
copyIn.End();
serializer.Flush();
serializer.Close();
command.Dispose();
}
If incomingRows has one or more items, this works. However, if no rows are
saved, serializer.Close() blows up:
System.NullReferenceException : Object reference not set to an instance of
an object.
at Npgsql.NpgsqlCopySerializer.Close()
What am I doing wrong?
--
View this message in context: http://postgresql.1045698.n5.nabble.com/NpgsqlCopySerializer-blows-up-if-no-rows-are-saved-tp5781300.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
I did a week ago - and got no replies at all. Thank you. -- View this message in context: http://postgresql.1045698.n5.nabble.com/NpgsqlCopySerializer-blows-up-if-no-rows-are-saved-tp5781300p5781316.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
Whooops. Sorry for not replying. :-(
I'll check the problem and reply you back.
Em 02/12/2013 20:21, "AK" <alkuzo@gmail.com> escreveu:
I did a week ago - and got no replies at all. Thank you.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/NpgsqlCopySerializer-blows-up-if-no-rows-are-saved-tp5781300p5781316.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general