Skip to content

Commit

Permalink
0004280: Oracle Bulk Loader: Allow specification of field terminator and
Browse files Browse the repository at this point in the history
line terminator
  • Loading branch information
philipmarzullo64 committed Feb 10, 2020
1 parent 72aaa41 commit ecaa3bb
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 4 deletions.
Expand Up @@ -72,10 +72,12 @@ public IDataWriter getDataWriter(String sourceNodeId, ISymmetricDialect symmetri
String tbLoaderCommand = parmService.getString(ParameterConstants.DBDIALECT_TIBERO_BULK_LOAD_TBLOADER_CMD);
String tbLoaderOptions = parmService.getString(ParameterConstants.DBDIALECT_TIBERO_BULK_LOAD_TBLOADER_OPTIONS);
String dbName = parmService.getString(ParameterConstants.DBDIALECT_TIBERO_BULK_LOAD_DBNAME);
String lineTerminator = parmService.getString(ParameterConstants.DBDIALECT_TIBERO_BULK_LINE_TERMINATOR);
String fieldTerminator = parmService.getString(ParameterConstants.DBDIALECT_TIBERO_BULK_FIELD_TERMINATOR);

return new TiberoBulkDatabaseWriter(symmetricDialect.getPlatform(), symmetricDialect.getTargetPlatform(),
engine.getStagingManager(), engine.getTablePrefix(), tbLoaderCommand, tbLoaderOptions,
dbUser, dbPassword, dbUrl, dbName,
dbUser, dbPassword, dbUrl, dbName, null, fieldTerminator, lineTerminator,
buildDatabaseWriterSettings(filters, errorHandlers, conflictSettings, resolvedData));
}

Expand Down
Expand Up @@ -32,9 +32,11 @@ public class TiberoBulkDatabaseWriter extends OracleBulkDatabaseWriter {

public TiberoBulkDatabaseWriter(IDatabasePlatform symmetricPlatform, IDatabasePlatform targetPlatform,
IStagingManager stagingManager, String tablePrefix, String tbLoaderCommand, String tbLoaderOptions,
String dbUser, String dbPassword, String dbUrl, String dbName, DatabaseWriterSettings settings) {
String dbUser, String dbPassword, String dbUrl, String dbName, String sqlLoaderInfileCharset,
String fieldTerminator, String lineTerminator,
DatabaseWriterSettings settings) {
super(symmetricPlatform, targetPlatform, stagingManager, tablePrefix, tbLoaderCommand, tbLoaderOptions,
dbUser, dbPassword, dbUrl, dbName, null, settings);
dbUser, dbPassword, dbUrl, dbName, sqlLoaderInfileCharset, fieldTerminator, lineTerminator, settings);
logger = LoggerFactory.getLogger(getClass());
}

Expand All @@ -57,7 +59,7 @@ protected String getInfileControl() {

@Override
protected String getLineTerminatedByControl() {
return "LINES TERMINATED BY '" + LINE_TERMINATOR + "'\n";
return "LINES TERMINATED BY '" + lineTerminator + "'\n";
}

@Override
Expand Down
Expand Up @@ -267,6 +267,8 @@ private ParameterConstants() {
public final static String DBDIALECT_TIBERO_BULK_LOAD_TBLOADER_CMD = "tibero.bulk.load.tbloader.cmd";
public final static String DBDIALECT_TIBERO_BULK_LOAD_TBLOADER_OPTIONS = "tibero.bulk.load.tbloader.options";
public final static String DBDIALECT_TIBERO_BULK_LOAD_DBNAME = "tibero.bulk.load.dbname";
public final static String DBDIALECT_TIBERO_BULK_LINE_TERMINATOR = "tibero.bulk.load.line.terminator";
public final static String DBDIALECT_TIBERO_BULK_FIELD_TERMINATOR = "tibero.bulk.load.field.terminator";

public final static String DBDIALECT_ORACLE_TRANSACTION_VIEW_CLOCK_SYNC_THRESHOLD_MS = "oracle.transaction.view.clock.sync.threshold.ms";

Expand Down
14 changes: 14 additions & 0 deletions symmetric-core/src/main/resources/symmetric-default.properties
Expand Up @@ -1888,6 +1888,20 @@ tibero.bulk.load.tbloader.options=direct=N dpl_parallel=1 disable_idx=N readsize
# DatabaseOverridable: false
tibero.bulk.load.dname=

# Specify the line terminator used by the Tibero tbLoader. Pick something that does not exist in the
# data in your database.
#
# DatabaseOverridable: true
# Tags: other, tibero
tibero.bulk.load.line.terminator=|>

# Specify the field terminator used by the Tibero tbLoader. Pick something that does not exist in the
# data in your database.
#
# DatabaseOverridable: true
# Tags: other, tibero
tibero.bulk.load.field.terminator=|}

# Use to map the version string a zseries jdbc driver returns to the 'zseries' dialect
# Tags: other
db2.zseries.version=DSN08015
Expand Down

0 comments on commit ecaa3bb

Please sign in to comment.