From 28fd261da55e59b9b31ca635e6554b9e5bcbb6e0 Mon Sep 17 00:00:00 2001 From: "Hicks, Josh" Date: Tue, 14 May 2019 16:25:02 -0400 Subject: [PATCH 1/2] 0002563: When Primary key is binary; SymmetricDS fails capture changes. --- .../db/platform/mysql/MySqlDatabasePlatform.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDatabasePlatform.java b/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDatabasePlatform.java index e30ff13285..c31ab92782 100644 --- a/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDatabasePlatform.java +++ b/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDatabasePlatform.java @@ -163,5 +163,15 @@ public long getEstimatedRowCount(Table table) { return getSqlTemplateDirty().queryForLong("select ifnull(table_rows,-1) from information_schema.tables where table_name = ? and table_schema = ?", table.getName(), table.getCatalog()); } + + @Override + public boolean canColumnBeUsedInWhereClause(Column column) { + if ((column.getMappedTypeCode() == Types.VARBINARY && column.getSizeAsInt() <= 8000) + || column.getMappedTypeCode() == Types.BINARY) { + return true; + } + return !column.isOfBinaryType(); + } + } From 66c675a9e090a3ef95ee361b2e0373e423b8c0e7 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Wed, 15 May 2019 08:58:43 -0400 Subject: [PATCH 2/2] 0003958: Add table_name variable to subselect router --- .../java/org/jumpmind/symmetric/route/SubSelectDataRouter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/route/SubSelectDataRouter.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/route/SubSelectDataRouter.java index 5aff1846fe..24a541d792 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/route/SubSelectDataRouter.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/route/SubSelectDataRouter.java @@ -82,6 +82,7 @@ public Set routeToNodes(SimpleRouterContext routingContext, DataMetaData sqlParams.put("NODE_GROUP_ID", dataMetaData.getRouter().getNodeGroupLink() .getTargetNodeGroupId()); sqlParams.put("EXTERNAL_DATA", dataMetaData.getData().getExternalData()); + sqlParams.put("TABLE_NAME", dataMetaData.getData().getTableName()); ISqlTemplate template = symmetricDialect.getPlatform().getSqlTemplate(); List ids = template.query(String.format("%s%s", sql, subSelect), new StringMapper(), sqlParams);