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)