BUG #12319: NPE in JDBC driver when using PgCopyOutputStream

Поиск
Список
Период
Сортировка
От dhalperi@cs.washington.edu
Тема BUG #12319: NPE in JDBC driver when using PgCopyOutputStream
Дата
Msg-id 20141222200403.11501.68819@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #12319: NPE in JDBC driver when using PgCopyOutputStream
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      12319
Logged by:          Daniel Halperin
Email address:      dhalperi@cs.washington.edu
PostgreSQL version: 9.3.1
Operating system:   Ubuntu 14.04.1 LTS
Description:

This seems like a fairly natural use case, but it runs into a
NullPointerException (NPE):

1. Create a PGCopyOutputStream
2. Write a bunch of data to it, and close the stream
3. Check the number of tuples that were successfully inserted.

(full code snippet below).

However, this use case results in a NullPointerException at line 162 --
because on OutputStream.close(), the PGCopyOutputStream sets the copyIn to
null.

      CopyManager cpManager = ((PGConnection) jdbcConnection).getCopyAPI();
      StringBuilder copyString =
          new StringBuilder().append("COPY
").append(quote(relationKey)).append(" FROM STDIN WITH BINARY");
      CopyIn copyIn = cpManager.copyIn(copyString.toString());
      PGCopyOutputStream out = new
PGCopyOutputStream(Preconditions.checkNotNull(copyIn, "copyIn"));

      TupleWriter tw = new PostgresBinaryTupleWriter(out);
      tw.writeTuples(tupleBatch);
      tw.done();

      // Causes a null pointer exception
      long inserted = out.endCopy();

>From what I can tell, there is currently no reliable way to get the number
of tuples after closing the stream.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Dzmitry Lazerka
Дата:
Сообщение: Re: BUG #12300: ~/.psql_history nonexistent warning on first run
Следующее
От: postgres@bt-r.com
Дата:
Сообщение: BUG #12320: json parsing with embedded double quotes