Uwe Geercken created NIFI-5723:
----------------------------------

             Summary: PutDatabaseRecord stripps underbar character from column 
names
                 Key: NIFI-5723
                 URL: https://issues.apache.org/jira/browse/NIFI-5723
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core UI
    Affects Versions: 1.7.1
         Environment: Red Hat Enterprise Linux Server release 7.5 (Maipo). 
Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz 16 cores. 32 Gb RAM. OpenJDK Runtime 
Environment (build 1.8.0_181-b13)
            Reporter: Uwe Geercken


In *PutDatabaseRecord.java* there is following code:

private static String normalizeColumnName(final String colName, final boolean 
translateColumnNames) {
       return colName == null ? null : (translateColumnNames ? 
colName.toUpperCase().replace("_", "") : colName);
}

If translateColumnNames is set to true, then the underbar character is stripped 
from the column names.

And it is also here:

final ColumnDescription desc = 
tableSchema.getColumns().get(normalizeColumnName(fieldName, 
settings.translateFieldNames));
               if (desc == null && !settings.ignoreUnmappedFields) {
                   throw new SQLDataException("Cannot map field '" + fieldName 
+ "' to any column in the database");
}

I do not see a reason why this is done. An underbar is a common delimiter in 
database column names.

Specifically, I have data comming from an Oracle database which is all 
uppercase and with the underbar character as the delimiter in the column names 
and due to the current code, I can not update my MySQL database using the same 
column names.

Trying to solve the issue in other ways does not really work as well.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to