Skip to content

Commit

Permalink
Issue #17 Make Identifiers-check Case Insensitive
Browse files Browse the repository at this point in the history
Additional changes: Increased Version Number to 4.0.0 because of breaking changes in the mapping. Released a new Version to Maven.
  • Loading branch information
bytefish committed Feb 13, 2021
1 parent b14be98 commit 02f268c
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 13 deletions.
4 changes: 2 additions & 2 deletions JSqlServerBulkInsert/deployment/deploy_release.bat
Expand Up @@ -8,8 +8,8 @@ echo - Bundling Artifacts for OSSRH Repository Upload -
echo ---------------------------------------------------

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

:: GPG Key ID used for signing:
set GPG_KEY_ID=E4B54CD3
Expand Down
2 changes: 1 addition & 1 deletion JSqlServerBulkInsert/pom.xml
Expand Up @@ -7,7 +7,7 @@

<groupId>de.bytefish</groupId>
<artifactId>jsqlserverbulkinsert</artifactId>
<version>3.0.0</version>
<version>4.0.0</version>
<name>jsqlserverbulkinsert</name>
<description>JSqlServerBulkInsert is a Java library for Bulk Inserts to the SQL Server.</description>
<url>http://www.github.com/bytefish/JSqlServerBulkInsert</url>
Expand Down
Expand Up @@ -7,10 +7,7 @@
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;

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

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

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

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

for (SchemaMetaData.ColumnInformation columnMetaData : schemaMetaData.getColumns()) {
IColumnDefinition<TEntity> columnDefinition = columnDefinitionLookup.get(columnMetaData.getColumnName());
IColumnDefinition<TEntity> columnDefinition = columnDefinitionLookup.get(columnMetaData.getColumnName().toUpperCase());

sortedColumns.add(columnDefinition);
}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -14,7 +14,7 @@ You can obtain [JSqlServerBulkInsert] from Maven by adding the following:
<dependency>
<groupId>de.bytefish</groupId>
<artifactId>jsqlserverbulkinsert</artifactId>
<version>3.0.0</version>
<version>4.0.0</version>
</dependency>
```

Expand Down

0 comments on commit 02f268c

Please sign in to comment.