diff --git a/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/PgBulkInsert.java b/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/PgBulkInsert.java index c5b913d..a1cec7f 100644 --- a/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/PgBulkInsert.java +++ b/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/PgBulkInsert.java @@ -9,8 +9,6 @@ import de.bytefish.pgbulkinsert.mapping.AbstractMapping; import de.bytefish.pgbulkinsert.pgsql.PgBinaryWriter; import org.postgresql.PGConnection; -import org.postgresql.copy.CopyIn; -import org.postgresql.copy.CopyManager; import org.postgresql.copy.PGCopyOutputStream; import java.sql.SQLException; @@ -45,13 +43,10 @@ public PgBulkInsert(IConfiguration configuration, AbstractMapping mappi */ public void saveAll(PGConnection connection, Stream entities) throws SQLException { - CopyManager cpManager = connection.getCopyAPI(); - CopyIn copyIn = cpManager.copyIn(mapping.getCopyCommand()); - try (PgBinaryWriter bw = new PgBinaryWriter(configuration.getBufferSize())) { // Wrap the CopyOutputStream in our own Writer: - bw.open(new PGCopyOutputStream(copyIn, 1)); + bw.open(new PGCopyOutputStream(connection, mapping.getCopyCommand(), 1)); // Insert Each Column: entities.forEach(entity -> saveEntitySynchonized(bw, entity)); @@ -67,13 +62,10 @@ public void saveAll(PGConnection connection, Stream entities) throws SQ */ public void saveAll(PGConnection connection, Collection entities) throws SQLException { - CopyManager cpManager = connection.getCopyAPI(); - CopyIn copyIn = cpManager.copyIn(mapping.getCopyCommand()); - try (PgBinaryWriter bw = new PgBinaryWriter(configuration.getBufferSize())) { // Wrap the CopyOutputStream in our own Writer: - bw.open(new PGCopyOutputStream(copyIn, 1)); + bw.open(new PGCopyOutputStream(connection, mapping.getCopyCommand(), 1)); // Insert Each Column: entities.forEach(entity -> saveEntity(bw, entity)); diff --git a/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/pgsql/handlers/ByteArrayValueHandler.java b/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/pgsql/handlers/ByteArrayValueHandler.java index 5d020c1..d4b6ed0 100644 --- a/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/pgsql/handlers/ByteArrayValueHandler.java +++ b/PgBulkInsert/src/main/java/de/bytefish/pgbulkinsert/pgsql/handlers/ByteArrayValueHandler.java @@ -7,11 +7,9 @@ public class ByteArrayValueHandler extends BaseValueHandler { - @Override - protected void internalHandle(DataOutputStream buffer, final byte[] value) throws Exception { - buffer.writeInt(value.length); - for(byte b : value) { - buffer.writeByte(b); - } - } + @Override + protected void internalHandle(DataOutputStream buffer, final byte[] value) throws Exception { + buffer.writeInt(value.length); + buffer.write(value, 0, value.length); + } }