From fa664f34537d25595b6a94c57d9179ef56d27363 Mon Sep 17 00:00:00 2001 From: erilong Date: Wed, 14 May 2008 13:13:34 +0000 Subject: [PATCH] [ 1963349 ] Use target schema when loading data This is a bit of a temporary hack that gets things working for users -- we use the schema of the first table we find. It really needs to use the target schema as specified by the user. --- .../org/jumpmind/symmetric/load/TableTemplate.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/TableTemplate.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/TableTemplate.java index df16ada7f2..8c48a4d645 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/TableTemplate.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/load/TableTemplate.java @@ -164,7 +164,16 @@ private StatementBuilder getStatementBuilder(IDataLoaderContext ctx, DmlType typ columnKeyMetaData = (Column[]) ArrayUtils.addAll(columnMetaData, keyMetaData); } - st = new StatementBuilder(type, table.getName(), keyMetaData, + String tableName = table.getName(); + if (table.getSchema() != null && dbDialect.getDefaultSchema() != null + && !table.getSchema().equals(dbDialect.getDefaultSchema())) { + tableName = table.getSchema() + "." + tableName; + } + if (table.getCatalog() != null && dbDialect.getDefaultCatalog() != null + && !table.getCatalog().equals(dbDialect.getDefaultCatalog())) { + tableName = table.getCatalog() + "." + tableName; + } + st = new StatementBuilder(type, tableName, keyMetaData, getColumnMetaData(filteredColumnNames), dbDialect.isBlobOverrideToBinary()); statementMap.put(type, st); }