[
https://issues.apache.org/jira/browse/LOG4J2-2466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649068#comment-16649068
]
Gary Gregory commented on LOG4J2-2466:
--------------------------------------
Thank you for your report. I should be able to take a look this weekend.
> ColumnMapping literal not working
> ---------------------------------
>
> Key: LOG4J2-2466
> URL: https://issues.apache.org/jira/browse/LOG4J2-2466
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.11.1
> Reporter: Paolo Bonanomi
> Priority: Major
>
> If i set a literal value in column mapping:
> <Jdbc name="..." tableName="..." ....>
> <DataSource jndiName="...." />
> <ColumnMapping name="...." />
> <ColumnMapping name="my_col" literal="'my_value'" />
> ....
> generated sql is wrong:
> INSERT INTO ... (..) VALUES (?, ... {color:#FF0000}'myvalue'?{color}, ...)
>
> I think the problem should be in class JdbcDatabaseManager, row 374. Maybe an
> else is missing. Please check.
>
> for (final ColumnMapping mapping : data.columnMappings) {
> final String mappingName = mapping.getName();
> if (Strings.isNotEmpty(mapping.getLiteralValue())) {
> logger().trace("Adding INSERT VALUES literal for ColumnMapping[{}]: {}={} ",
> i, mappingName, mapping.getLiteralValue());
> sb.append(mapping.getLiteralValue());
> }
> {color:#FF0000}*** missing else ***{color} if
> (Strings.isNotEmpty(mapping.getParameter())) {
> logger().trace("Adding INSERT VALUES parameter for ColumnMapping[{}]: {}={}
> ", i, mappingName, mapping.getParameter());
> sb.append(mapping.getParameter());
> columnMappings.add(mapping);
> } else {
> logger().trace("Adding INSERT VALUES parameter marker for ColumnMapping[{}]:
> {}={} ", i, mappingName, PARAMETER_MARKER);
> sb.append(PARAMETER_MARKER);
> columnMappings.add(mapping);
> }
> sb.append(',');
> i++;
> }
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)