Skip to content

Commit

Permalink
SYMMETRICDS-533 - ORA-01489: result of string concatenation is too lo…
Browse files Browse the repository at this point in the history
…ng: Because of large varchar fields that exceed the limit when , and " are escaped
  • Loading branch information
chenson42 committed Oct 24, 2011
1 parent e5880f1 commit 1bb5fa5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
Expand Up @@ -305,8 +305,6 @@ public String replaceTemplateVariables(IDbDialect dialect, DataEventType dml, Tr
ColumnString columnString = buildColumnString(ORIG_TABLE_ALIAS, newTriggerValue,
newColumnPrefix, columns, dialect, dml, false, channel, trigger);
ddl = AppUtils.replace("columns", columnString.toString(), ddl);
ddl = AppUtils.replace("oracleToClob", trigger.isUseCaptureLobs() ? "to_clob('')||" : "",
ddl);

ddl = replaceDefaultSchemaAndCatalog(dialect, trigger, ddl);

Expand All @@ -320,6 +318,9 @@ public String replaceTemplateVariables(IDbDialect dialect, DataEventType dml, Tr
buildColumnString(ORIG_TABLE_ALIAS, oldTriggerValue, oldColumnPrefix, columns,
dialect, dml, true, channel, trigger).toString(), ddl);
ddl = eval(columnString.isBlobClob, "containsBlobClobColumns", ddl);

ddl = AppUtils.replace("oracleToClob", trigger.isUseCaptureLobs() ? "to_clob('')||" : "",
ddl);

// some column templates need tableName and schemaName
ddl = AppUtils.replace("tableName", history == null ? quote(trigger.getSourceTableName(), dialect)
Expand Down
Expand Up @@ -105,7 +105,7 @@
</property>
<property name="stringColumnTemplate" >
<value>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', concat(concat('"',replace(replace($(tableAlias)."$(columnName)",'\','\\'),'"','\"')),'"'))]]>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, $(oracleToClob)'', '"'||replace(replace($(oracleToClob)$(tableAlias)."$(columnName)",'\','\\'),'"','\"')||'"')]]>
</value>
</property>
<property name="clobColumnTemplate">
Expand All @@ -119,7 +119,7 @@
</value>
</property>
<property name="numberColumnTemplate">
<value>
<value>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', '"'||cast($(tableAlias)."$(columnName)" as number($[sym.oracle.template.precision]))||'"')]]>
</value>
</property>
Expand All @@ -130,17 +130,17 @@
</property>
<property name="datetimeColumnTemplate" >
<value>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', concat(concat('"',to_char($(tableAlias)."$(columnName)", 'YYYY-MM-DD HH24:MI:SS.FF3')),'"'))]]>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', '"'||to_char($(tableAlias)."$(columnName)", 'YYYY-MM-DD HH24:MI:SS.FF3'))||'"']]>
</value>
</property>
<property name="dateColumnTemplate" >
<value>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', concat(concat('"',to_char($(tableAlias)."$(columnName)", 'YYYY-MM-DD HH24:MI:SS')),'"'))]]>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', '"'||to_char($(tableAlias)."$(columnName)", 'YYYY-MM-DD HH24:MI:SS'))||'"']]>
</value>
</property>
<property name="timeColumnTemplate" >
<value>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', concat(concat('"',to_char($(tableAlias)."$(columnName)", 'YYYY-MM-DD HH24:MI:SS')),'"'))]]>
<![CDATA[ decode($(tableAlias)."$(columnName)", null, '', '"'||to_char($(tableAlias)."$(columnName)", 'YYYY-MM-DD HH24:MI:SS'))||'"']]>
</value>
</property>
<property name="triggerConcatCharacter" value="||"/>
Expand Down

0 comments on commit 1bb5fa5

Please sign in to comment.