From 1d94f77f73fd7676985b5da010317c7c5ff888d8 Mon Sep 17 00:00:00 2001 From: Philip Marzullo Date: Thu, 22 Aug 2019 09:50:38 -0400 Subject: [PATCH] 0004076: Get estimated row counts for initial load for SQL Server 2008 needs to use delimiter quoting if turned on --- .../db/platform/mssql/MsSql2008DatabasePlatform.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSql2008DatabasePlatform.java b/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSql2008DatabasePlatform.java index 1336d0666d..167e86ca18 100644 --- a/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSql2008DatabasePlatform.java +++ b/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSql2008DatabasePlatform.java @@ -53,7 +53,13 @@ public String getName() { @Override public long getEstimatedRowCount(Table table) { - String catalog = StringUtils.isNotBlank(table.getCatalog()) ? table.getCatalog() + "." : ""; + String catalog = StringUtils.isNotBlank(table.getCatalog()) ? table.getCatalog() : ""; + if(catalog.length() > 0) { + if(getDdlBuilder().isDelimitedIdentifierModeOn()) { + catalog = getDdlBuilder().getDatabaseInfo().getDelimiterToken() + catalog + getDdlBuilder().getDatabaseInfo().getDelimiterToken(); + } + catalog = catalog + "."; + } return getSqlTemplateDirty().queryForLong("select sum(p.rows) from " + catalog + "sys.tables t inner join " + catalog + "sys.partitions p on t.object_id = p.object_id and p.index_id IN (0, 1) " + "where t.name = ? and schema_name(t.schema_id) = ?",