Class DefaultDatabaseWriter
java.lang.Object
org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter
org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter
- All Implemented Interfaces:
IDataResource,IDataWriter
- Direct Known Subclasses:
DynamicDefaultDatabaseWriter
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter
AbstractDatabaseWriter.LoadStatus -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected DmlStatementprotected Object[]protected booleanprotected Booleanprotected LogSqlBuilderprotected IDatabasePlatformprotected ISqlTransactionFields inherited from class org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter
batch, CONFLICT_ERROR, CONFLICT_IGNORE, conflictResolver, context, isRequiresSavePointsInTransaction, lastApplyChangesOnly, lastData, lastUseConflictDetection, missingTables, sourceTable, statistics, targetTable, targetTables, TRANSACTION_ABORTED, uncommittedCount, writerSettings -
Constructor Summary
ConstructorsConstructorDescriptionDefaultDatabaseWriter(IDatabasePlatform platform) DefaultDatabaseWriter(IDatabasePlatform platform, DatabaseWriterSettings settings) DefaultDatabaseWriter(IDatabasePlatform platform, IDatabaseWriterConflictResolver conflictResolver, DatabaseWriterSettings settings) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidallowInsertIntoAutoIncrementColumns(boolean value, Table table) protected voidbindVariables(Map<String, Object> variables) voidclose()protected voidcommit(boolean earlyCommit) protected voidcommit(boolean earlyCommit, ISqlTransaction newTransaction) protected booleancontainsNullLookupKeyDataSinceLastStatement(DmlStatement.DmlType currentType, CsvData data, Conflict.DetectConflict detectType) protected booleanprotected booleanprotected AbstractDatabaseWriter.LoadStatusprotected StringdmlValuesToString(Object[] dmlValues, int[] types) protected booleandoesColumnNeedUpdated(int targetColumnIndex, Column column, CsvData data, String[] rowData, String[] oldData, boolean applyChangesOnly) voidvoidprotected intprotected StringgetCurData(ISqlTransaction transaction) getPlatform(String table) getPlatform(Table table) getSqlStatements(String script) protected StringgetTableKey(Table table) getTransaction(String table) getTransaction(Table table) protected AbstractDatabaseWriter.LoadStatusprotected booleanprotected voidlogDataTruncation(CsvData data, StringBuilder failureMessage) protected voidlogFailureDetails(Throwable e, CsvData data, boolean logLastDmlDetails) protected TablelookupTableAtTarget(Table sourceTable) protected TablelookupTableFromCache(Table sourceTable, String tableKey) voidopen(DataContext context) protected voidprepare()protected voidintprepareAndExecute(String sql, CsvData data) protected Stringprotected voidputTableInCache(String tableKey, Table table) protected StringquoteString(String string) protected voidprotected booleanrequireNewStatement(DmlStatement.DmlType currentType, CsvData data, boolean applyChangesOnly, boolean useConflictDetection, Conflict.DetectConflict detectType) protected voidrollback()protected booleanbooleanprotected voidtargetTableWasChangedByFilter(Table oldTargetTable) protected AbstractDatabaseWriter.LoadStatusprotected voidupdateChangedDataIndicator(CsvData data, Column column, boolean needsUpdated) Methods inherited from class org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter
checkForEarlyCommit, filterAfter, filterBefore, filterError, getBatch, getConflictResolver, getContext, getLookupDataMap, getPkDataFor, getRowData, getSourceTable, getStatistics, getTargetTable, hasFilterThatHandlesMissingTable, notifyFiltersBatchCommitted, notifyFiltersBatchComplete, notifyFiltersBatchRolledback, notifyFiltersEarlyCommit, script, setConflictResolver, start, write
-
Field Details
-
CUR_DATA
- See Also:
-
platform
-
transaction
-
currentDmlStatement
-
currentDmlValues
-
logSqlBuilder
-
isCteExpression
-
hasUncommittedDdl
protected boolean hasUncommittedDdl
-
-
Constructor Details
-
DefaultDatabaseWriter
-
DefaultDatabaseWriter
-
DefaultDatabaseWriter
public DefaultDatabaseWriter(IDatabasePlatform platform, IDatabaseWriterConflictResolver conflictResolver, DatabaseWriterSettings settings)
-
-
Method Details
-
getPlatform
-
getPlatform
-
getPlatform
-
getTargetPlatform
-
getTransaction
-
getTransaction
-
getTransaction
-
getTargetTransaction
-
open
- Specified by:
openin interfaceIDataResource- Overrides:
openin classAbstractDatabaseWriter
-
start
- Specified by:
startin interfaceIDataWriter- Overrides:
startin classAbstractDatabaseWriter
-
end
- Specified by:
endin interfaceIDataWriter- Overrides:
endin classAbstractDatabaseWriter
-
end
- Specified by:
endin interfaceIDataWriter- Overrides:
endin classAbstractDatabaseWriter
-
close
public void close()- Specified by:
closein interfaceIDataResource- Overrides:
closein classAbstractDatabaseWriter
-
commit
protected void commit(boolean earlyCommit) - Overrides:
commitin classAbstractDatabaseWriter
-
commit
-
rollback
protected void rollback()- Overrides:
rollbackin classAbstractDatabaseWriter
-
isCteExpression
protected boolean isCteExpression() -
replaceCteExpression
protected void replaceCteExpression() -
insert
- Specified by:
insertin classAbstractDatabaseWriter
-
delete
- Specified by:
deletein classAbstractDatabaseWriter
-
update
protected AbstractDatabaseWriter.LoadStatus update(CsvData data, boolean applyChangesOnly, boolean useConflictDetection) - Specified by:
updatein classAbstractDatabaseWriter
-
create
- Specified by:
createin classAbstractDatabaseWriter
-
create
-
sql
- Specified by:
sqlin classAbstractDatabaseWriter
-
requireNewStatement
protected boolean requireNewStatement(DmlStatement.DmlType currentType, CsvData data, boolean applyChangesOnly, boolean useConflictDetection, Conflict.DetectConflict detectType) -
containsNullLookupKeyDataSinceLastStatement
protected boolean containsNullLookupKeyDataSinceLastStatement(DmlStatement.DmlType currentType, CsvData data, Conflict.DetectConflict detectType) -
targetTableWasChangedByFilter
- Overrides:
targetTableWasChangedByFilterin classAbstractDatabaseWriter
-
logFailureDetails
- Specified by:
logFailureDetailsin classAbstractDatabaseWriter
-
logDataTruncation
-
dmlValuesToString
-
bindVariables
- Overrides:
bindVariablesin classAbstractDatabaseWriter
-
getSqlStatements
-
preprocessSqlStatement
-
quoteString
-
doesColumnNeedUpdated
-
updateChangedDataIndicator
-
prepare
protected void prepare() -
prepare
-
execute
-
lookupTableAtTarget
- Overrides:
lookupTableAtTargetin classAbstractDatabaseWriter
-
getTableKey
-
lookupTableFromCache
-
putTableInCache
-
getCurrentDmlStatement
-
getWriterSettings
- Overrides:
getWriterSettingsin classAbstractDatabaseWriter
-
prepareAndExecute
-
getCurData
-
allowInsertIntoAutoIncrementColumns
- Overrides:
allowInsertIntoAutoIncrementColumnsin classAbstractDatabaseWriter
-