Skip to content

Commit

Permalink
0005194: DBCompare support for load only target nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
joshahicks committed Jan 13, 2022
1 parent 3185473 commit 402d8d6
Showing 1 changed file with 14 additions and 12 deletions.
Expand Up @@ -137,10 +137,12 @@ protected OutputStream getSqlDiffOutputStream(DbCompareTables tables) {

protected TableReport compareTables(DbCompareTables tables, OutputStream sqlDiffOutput) {
String sourceSelect = getSourceComparisonSQL(tables, sourceEngine.getDatabasePlatform());
String targetSelect = getTargetComparisonSQL(tables, targetEngine.getDatabasePlatform());
CountingSqlReadCursor sourceCursor = new CountingSqlReadCursor(sourceEngine.getDatabasePlatform().getSqlTemplateDirty().queryForCursor(sourceSelect,
String targetSelect = getTargetComparisonSQL(tables, targetEngine.getTargetDialect().getTargetPlatform());
//String targetSelect = getTargetComparisonSQL(tables, targetEngine.getDatabasePlatform());

CountingSqlReadCursor sourceCursor = new CountingSqlReadCursor(sourceEngine.getTargetDialect().getTargetPlatform().getSqlTemplateDirty().queryForCursor(sourceSelect,
defaultRowMapper));
CountingSqlReadCursor targetCursor = new CountingSqlReadCursor(targetEngine.getDatabasePlatform().getSqlTemplateDirty().queryForCursor(targetSelect,
CountingSqlReadCursor targetCursor = new CountingSqlReadCursor(targetEngine.getTargetDialect().getTargetPlatform().getSqlTemplateDirty().queryForCursor(targetSelect,
defaultRowMapper));
TableReport tableReport = new TableReport();
tableReport.setSourceTable(tables.getSourceTable().getName());
Expand Down Expand Up @@ -440,8 +442,8 @@ protected Table loadTargetTable(DbCompareTables tables, String targetTableName)
targetTable = loadTargetTableUsingTransform(transform);
tables.setTransform(transform);
} else {
String catalog = targetEngine.getDatabasePlatform().getDefaultCatalog();
String schema = targetEngine.getDatabasePlatform().getDefaultSchema();
String catalog = targetEngine.getTargetDialect().getTargetPlatform().getDefaultCatalog();
String schema = targetEngine.getTargetDialect().getTargetPlatform().getDefaultSchema();
String tableName = tables.getSourceTable().getName();
TriggerRouter triggerRouter = getTriggerRouterFor(tables.getSourceTable());
if (triggerRouter != null) {
Expand All @@ -451,17 +453,17 @@ protected Table loadTargetTable(DbCompareTables tables, String targetTableName)
tableName = triggerRouter.getTargetTable(null);
}
}
targetTable = targetEngine.getDatabasePlatform().getTableFromCache(catalog, schema, tableName, true);
targetTable = targetEngine.getTargetDialect().getTargetPlatform().getTableFromCache(catalog, schema, tableName, true);
}
} else {
Map<String, String> tableNameParts = targetEngine.getDatabasePlatform().parseQualifiedTableName(targetTableName);
Map<String, String> tableNameParts = targetEngine.getTargetDialect().getTargetPlatform().parseQualifiedTableName(targetTableName);
if (tableNameParts.size() == 1) {
targetTable = targetEngine.getDatabasePlatform().getTableFromCache(targetTableName, true);
targetTable = targetEngine.getTargetDialect().getTargetPlatform().getTableFromCache(targetTableName, true);
} else {
targetTable = targetEngine.getDatabasePlatform().getTableFromCache(tableNameParts.get("catalog"), tableNameParts.get("schema"), tableNameParts
targetTable = targetEngine.getTargetDialect().getTargetPlatform().getTableFromCache(tableNameParts.get("catalog"), tableNameParts.get("schema"), tableNameParts
.get("table"), true);
if (targetTable == null) {
targetTable = targetEngine.getDatabasePlatform().getTableFromCache(tableNameParts.get("schema"), tableNameParts.get("catalog"),
targetTable = targetEngine.getTargetDialect().getTargetPlatform().getTableFromCache(tableNameParts.get("schema"), tableNameParts.get("catalog"),
tableNameParts.get("table"), true);
}
}
Expand Down Expand Up @@ -505,7 +507,7 @@ protected TransformTableNodeGroupLink getTransformFor(Table sourceTable) {
}

protected Table loadTargetTableUsingTransform(TransformTableNodeGroupLink transform) {
Table targetTable = targetEngine.getDatabasePlatform().getTableFromCache(transform.getTargetCatalogName(), transform.getTargetSchemaName(), transform
Table targetTable = targetEngine.getTargetDialect().getTargetPlatform().getTableFromCache(transform.getTargetCatalogName(), transform.getTargetSchemaName(), transform
.getTargetTableName(), true);
return targetTable;
}
Expand Down Expand Up @@ -550,7 +552,7 @@ protected boolean compareTableNames(String sourceTableName, String targetTableNa
return true;
} else {
Map<String, String> sourceTableNameParts = sourceEngine.getDatabasePlatform().parseQualifiedTableName(sourceTableName);
Map<String, String> targetTableNameParts = targetEngine.getDatabasePlatform().parseQualifiedTableName(targetTableName);
Map<String, String> targetTableNameParts = targetEngine.getTargetDialect().getTargetPlatform().parseQualifiedTableName(targetTableName);
return StringUtils.equalsIgnoreCase(sourceTableNameParts.get("table"), targetTableNameParts.get("table"));
}
}
Expand Down

0 comments on commit 402d8d6

Please sign in to comment.