diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java b/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java index 7e6d47ff5..6ac1ec7f6 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java @@ -19,8 +19,6 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import java.sql.Connection; import java.sql.Date; import java.sql.ResultSet; @@ -1765,16 +1763,16 @@ private void getDestinationMetadata() throws SQLServerException { } if (loggerExternal.isLoggable(Level.FINER)) { - loggerExternal.finer(this.toString() + " Acquiring existing destination column metadata " + - "from cache for bulk copy"); + loggerExternal.finer(this.toString() + " Acquiring existing destination column metadata " + + "from cache for bulk copy"); } } else { setDestinationColumnMetadata(escapedDestinationTableName); if (loggerExternal.isLoggable(Level.FINER)) { - loggerExternal.finer(this.toString() + " cacheBulkCopyMetadata=false - Querying server " + - "for destination column metadata"); + loggerExternal.finer(this.toString() + " cacheBulkCopyMetadata=false - Querying server " + + "for destination column metadata"); } } } @@ -2129,7 +2127,8 @@ private void writeNullToTdsWriter(TDSWriter tdsWriter, int srcJdbcType, private void writeColumnToTdsWriter(TDSWriter tdsWriter, int bulkPrecision, int bulkScale, int bulkJdbcType, boolean bulkNullable, // should it be destNullable instead? - int srcColOrdinal, int destColOrdinal, boolean isStreaming, Object colValue, Calendar cal) throws SQLServerException { + int srcColOrdinal, int destColOrdinal, boolean isStreaming, Object colValue, + Calendar cal) throws SQLServerException { SSType destSSType = destColumnMetadata.get(destColOrdinal).ssType; bulkPrecision = validateSourcePrecision(bulkPrecision, bulkJdbcType, @@ -3046,8 +3045,8 @@ private Object readColumnFromResultSet(int srcColOrdinal, int srcJdbcType, boole /** * Reads the given column from the result set current row and writes the data to tdsWriter. */ - private void writeColumn(TDSWriter tdsWriter, int srcColOrdinal, int destColOrdinal, - Object colValue, Calendar cal) throws SQLServerException { + private void writeColumn(TDSWriter tdsWriter, int srcColOrdinal, int destColOrdinal, Object colValue, + Calendar cal) throws SQLServerException { String destName = destColumnMetadata.get(destColOrdinal).columnName; int srcPrecision, srcScale, destPrecision, srcJdbcType; SSType destSSType = null; @@ -3699,8 +3698,8 @@ private boolean writeBatchData(TDSWriter tdsWriter, TDSCommand command, // Loop for each destination column. The mappings is a many to one mapping // where multiple source columns can be mapped to one destination column. for (ColumnMapping columnMapping : columnMappings) { - writeColumn(tdsWriter, columnMapping.sourceColumnOrdinal, columnMapping.destinationColumnOrdinal, null, - null // cell + writeColumn(tdsWriter, columnMapping.sourceColumnOrdinal, columnMapping.destinationColumnOrdinal, + null, null // cell // value is // retrieved // inside diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java index 3f880540d..b39a6fe2d 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java @@ -5,7 +5,6 @@ package com.microsoft.sqlserver.jdbc.bulkCopy; import static org.junit.Assert.fail; -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -14,7 +13,6 @@ import java.io.FileReader; import java.io.InputStream; import java.io.InputStreamReader; -import java.lang.StackOverflowError; import java.net.URL; import java.sql.Connection; import java.sql.ResultSet; @@ -265,7 +263,7 @@ public void testEscapeColumnDelimitersCSVNoNewLineAtEnd() throws Exception { } } } - + /** * test simple csv file for bulkcopy, for GitHub issue 1391 Tests to ensure that the set returned by * getColumnOrdinals doesn't have to be ordered @@ -459,19 +457,13 @@ public void testBulkCopyWithComputedColumnAsLastColumn() { String tableName = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("BulkEscape")); String fileName = filePath + computeColumnCsvFile; - try (Connection con = getConnection(); - Statement stmt = con.createStatement(); + try (Connection con = getConnection(); Statement stmt = con.createStatement(); SQLServerBulkCopy bulkCopy = new SQLServerBulkCopy(con); - SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", - true)) { - - String createTableSQL = "CREATE TABLE " + tableName + " (" + - "[NAME] varchar(50) NOT NULL," + - "[AGE] int NULL," + - "[CAL_COL] numeric(17, 2) NULL," + - "[ORIGINAL] varchar(50) NOT NULL," + - "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED" + - ")"; + SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", true)) { + + String createTableSQL = "CREATE TABLE " + tableName + " (" + "[NAME] varchar(50) NOT NULL," + + "[AGE] int NULL," + "[CAL_COL] numeric(17, 2) NULL," + "[ORIGINAL] varchar(50) NOT NULL," + + "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED" + ")"; stmt.executeUpdate(createTableSQL); fileRecord.addColumnMetadata(1, "NAME", java.sql.Types.VARCHAR, 50, 0); @@ -515,20 +507,13 @@ public void testBulkCopyWithComputedColumnNotAsLastColumn() { String tableName = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("BulkEscape")); String fileName = filePath + computeColumnCsvFile; - try (Connection con = getConnection(); - Statement stmt = con.createStatement(); + try (Connection con = getConnection(); Statement stmt = con.createStatement(); SQLServerBulkCopy bulkCopy = new SQLServerBulkCopy(con); - SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", - true)) { - - String createTableSQL = "CREATE TABLE " + tableName + " (" + - "[NAME] varchar(50) NOT NULL," + - "[AGE] int NULL," + - "[CAL_COL] numeric(17, 2) NULL," + - "[ORIGINAL] varchar(50) NOT NULL," + - "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED," + - "[LAST_COL] varchar(50) NULL" + - ")"; + SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", true)) { + + String createTableSQL = "CREATE TABLE " + tableName + " (" + "[NAME] varchar(50) NOT NULL," + + "[AGE] int NULL," + "[CAL_COL] numeric(17, 2) NULL," + "[ORIGINAL] varchar(50) NOT NULL," + + "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED," + "[LAST_COL] varchar(50) NULL" + ")"; stmt.executeUpdate(createTableSQL); fileRecord.addColumnMetadata(1, "NAME", java.sql.Types.VARCHAR, 50, 0);