Skip to content

Commit 02f268c

Browse files
committed
Issue #17 Make Identifiers-check Case Insensitive
Additional changes: Increased Version Number to 4.0.0 because of breaking changes in the mapping. Released a new Version to Maven.
1 parent b14be98 commit 02f268c

File tree

4 files changed

+10
-13
lines changed

4 files changed

+10
-13
lines changed

JSqlServerBulkInsert/deployment/deploy_release.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ echo - Bundling Artifacts for OSSRH Repository Upload -
88
echo ---------------------------------------------------
99

1010
:: Define the Executables, so we don't have to rely on pathes:
11-
set MVN_EXECUTABLE="C:\Program Files (x86)\Maven\apache-maven-3.3.9\bin\mvn.cmd"
12-
set GPG_EXECUTABLE="C:\Program Files (x86)\GNU\GnuPG\pub\gpg.exe"
11+
set MVN_EXECUTABLE="G:\Applications\apache-maven-3.6.3\bin\mvn.cmd"
12+
set GPG_EXECUTABLE="C:\Program Files (x86)\gnupg\bin\gpg.exe"
1313

1414
:: GPG Key ID used for signing:
1515
set GPG_KEY_ID=E4B54CD3

JSqlServerBulkInsert/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<groupId>de.bytefish</groupId>
99
<artifactId>jsqlserverbulkinsert</artifactId>
10-
<version>3.0.0</version>
10+
<version>4.0.0</version>
1111
<name>jsqlserverbulkinsert</name>
1212
<description>JSqlServerBulkInsert is a Java library for Bulk Inserts to the SQL Server.</description>
1313
<url>http://www.github.com/bytefish/JSqlServerBulkInsert</url>

JSqlServerBulkInsert/src/main/java/de/bytefish/jsqlserverbulkinsert/util/SchemaUtils.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
import java.sql.Connection;
88
import java.sql.DatabaseMetaData;
99
import java.sql.ResultSet;
10-
import java.util.ArrayList;
11-
import java.util.Comparator;
12-
import java.util.List;
13-
import java.util.Map;
10+
import java.util.*;
1411
import java.util.stream.Collectors;
1512

1613
public class SchemaUtils {
@@ -56,14 +53,14 @@ public static <TEntity> void validateColumnMapping(Connection connection, Abstra
5653
// Try to obtain the Schema:
5754
SchemaMetaData schemaMetaData = internalGetSchemaMetaData(connection, mapping);
5855

59-
// We cannot validate, perhaps no permissions to read the Information Schema, we shouldn't
60-
// stop at all, because this might be valid. Nevertheless it may lead to subtle errors and
56+
// We cannot validate, perhaps no permissions to read the Meta Data? We shouldn't throw an
57+
// Exception, because this might be valid. Nevertheless it may lead to subtle errors and
6158
// we should probably log it in the future:
6259
if(schemaMetaData == null || schemaMetaData.getColumns() == null || schemaMetaData.getColumns().isEmpty()) {
6360
return;
6461
}
6562

66-
// We cannot continue, if not all columns have been populated:
63+
// We have read the DatabaseMetaData and cannot continue, if not all columns have been populated:
6764
if(mapping.getColumns().size() != schemaMetaData.getColumns().size()) {
6865
throw new RuntimeException("Destination Table has '" + schemaMetaData.getColumns().size() + "' columns, the Source Mapping has '" + mapping.getColumns().size() +"' columns.");
6966
}
@@ -84,13 +81,13 @@ public static <TEntity> List<IColumnDefinition<TEntity>> getSortedColumnMappings
8481
// Build a Lookup Table:
8582
Map<String, IColumnDefinition<TEntity>> columnDefinitionLookup = mapping.getColumns()
8683
.stream()
87-
.collect(Collectors.toMap(x -> x.getColumnMetaData().getName(), x -> x));
84+
.collect(Collectors.toMap(x -> x.getColumnMetaData().getName().toUpperCase(), x -> x));
8885

8986
// Now Sort the Column Definitions:
9087
List<IColumnDefinition<TEntity>> sortedColumns = new ArrayList<>();
9188

9289
for (SchemaMetaData.ColumnInformation columnMetaData : schemaMetaData.getColumns()) {
93-
IColumnDefinition<TEntity> columnDefinition = columnDefinitionLookup.get(columnMetaData.getColumnName());
90+
IColumnDefinition<TEntity> columnDefinition = columnDefinitionLookup.get(columnMetaData.getColumnName().toUpperCase());
9491

9592
sortedColumns.add(columnDefinition);
9693
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ You can obtain [JSqlServerBulkInsert] from Maven by adding the following:
1414
<dependency>
1515
<groupId>de.bytefish</groupId>
1616
<artifactId>jsqlserverbulkinsert</artifactId>
17-
<version>3.0.0</version>
17+
<version>4.0.0</version>
1818
</dependency>
1919
```
2020

0 commit comments

Comments
 (0)