Skip to content

Commit

Permalink
0002515: Allow configuration of sym_data create_time timezone
Browse files Browse the repository at this point in the history
  • Loading branch information
mmichalek committed Apr 26, 2016
1 parent 87f1dc8 commit 98925de
Showing 1 changed file with 18 additions and 7 deletions.
Expand Up @@ -22,6 +22,8 @@

import java.util.HashMap;

import org.apache.commons.lang.StringUtils;
import org.jumpmind.symmetric.common.ParameterConstants;
import org.jumpmind.symmetric.db.AbstractTriggerTemplate;
import org.jumpmind.symmetric.db.ISymmetricDialect;

Expand Down Expand Up @@ -63,11 +65,11 @@ public OracleTriggerTemplate(ISymmetricDialect symmetricDialect) {
" 'I', \n" +
" $(triggerHistoryId), \n" +
" $(oracleToClob)$(columns), \n" +
" $(channelExpression), \n" +
" $(channelExpression), \n" +
" $(txIdExpression), \n" +
" $(prefixName)_pkg.disable_node_id, \n" +
" $(externalSelect), \n" +
" CURRENT_TIMESTAMP \n" +
" " + getCreateTimeExpression(symmetricDialect) + " \n" +
" ); \n" +
" end if; \n" +
" $(custom_on_insert_text) \n" +
Expand All @@ -93,11 +95,11 @@ public OracleTriggerTemplate(ISymmetricDialect symmetricDialect) {
" $(oldKeys), \n" +
" var_row_data, \n" +
" var_old_data, \n" +
" $(channelExpression), \n" +
" $(channelExpression), \n" +
" $(txIdExpression), \n" +
" $(prefixName)_pkg.disable_node_id, \n" +
" $(externalSelect), \n" +
" CURRENT_TIMESTAMP \n" +
" " + getCreateTimeExpression(symmetricDialect) + " \n" +
" ); \n" +
" end if; \n" +
" end if; \n" +
Expand All @@ -110,18 +112,18 @@ public OracleTriggerTemplate(ISymmetricDialect symmetricDialect) {
" for each row begin \n" +
" if $(syncOnDeleteCondition) and $(syncOnIncomingBatchCondition) then \n" +
" insert into $(defaultSchema)$(prefixName)_data \n" +
" (table_name, event_type, trigger_hist_id, pk_data, old_data, channel_id, transaction_id, source_node_id, external_data, create_time) \n" +
" (table_name, event_type, trigger_hist_id, pk_data, old_data, channel_id, transaction_id, source_node_id, external_data, create_time) \n" +
" values( \n" +
" '$(targetTableName)', \n" +
" 'D', \n" +
" $(triggerHistoryId), \n" +
" $(oldKeys), \n" +
" $(oracleToClob)$(oldColumns), \n" +
" $(channelExpression), \n" +
" $(channelExpression), \n" +
" $(txIdExpression), \n" +
" $(prefixName)_pkg.disable_node_id, \n" +
" $(externalSelect), \n" +
" CURRENT_TIMESTAMP \n" +
" " + getCreateTimeExpression(symmetricDialect) + " \n" +
" ); \n" +
" end if; \n" +
" $(custom_on_delete_text) \n" +
Expand All @@ -130,5 +132,14 @@ public OracleTriggerTemplate(ISymmetricDialect symmetricDialect) {
sqlTemplates.put("initialLoadSqlTemplate" ,
"select $(oracleToClob)$(columns) from $(schemaName)$(tableName) t where $(whereClause) " );
}

protected String getCreateTimeExpression(ISymmetricDialect symmetricDialect) {
String timezone = symmetricDialect.getParameterService().getString(ParameterConstants.DATA_CREATE_TIME_TIMEZONE);
if (StringUtils.isEmpty(timezone)) {
return "CURRENT_TIMESTAMP";
} else {
return String.format("CURRENT_TIMESTAMP AT TIME ZONE '%s'", timezone);
}
}

}

0 comments on commit 98925de

Please sign in to comment.