diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhere12TriggerTemplate.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhere12TriggerTemplate.java index a64c8c0f24..d4aa75cf6a 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhere12TriggerTemplate.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhere12TriggerTemplate.java @@ -182,4 +182,8 @@ public SqlAnywhere12TriggerTemplate(ISymmetricDialect symmetricDialect) { sqlTemplates.put("initialLoadSqlTemplate", "select $(columns) from $(schemaName)$(tableName) t where $(whereClause) "); } + + protected String appendSemicolonAfterDeclare() { + return ";"; + } } diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereSymmetricDialect.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereSymmetricDialect.java index 8682a2deb5..6ac0c487bf 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereSymmetricDialect.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereSymmetricDialect.java @@ -26,6 +26,7 @@ import java.sql.SQLException; import java.sql.Statement; +import org.apache.commons.lang3.StringUtils; import org.jumpmind.db.model.Table; import org.jumpmind.db.platform.IDatabasePlatform; import org.jumpmind.db.sql.IConnectionCallback; @@ -136,10 +137,10 @@ public void dropRequiredDatabaseObjects() { @Override public void removeTrigger(StringBuilder sqlBuffer, final String catalogName, String schemaName, final String triggerName, String tableName, ISqlTransaction transaction) { - final String sql = "drop trigger " + schemaName + "." + tableName + "." + triggerName; + final String sql = "drop trigger " + (StringUtils.isBlank(schemaName) ? platform.getDefaultSchema() : schemaName) + "." + tableName + "." + triggerName; logSql(sql, sqlBuffer); if (parameterService.is(ParameterConstants.AUTO_SYNC_TRIGGERS)) { - log.info("Dropping {} trigger for {}", triggerName, schemaName + "." + tableName + "." + triggerName); + log.info("Dropping {} trigger for {}", triggerName, (StringUtils.isBlank(schemaName) ? platform.getDefaultSchema() : schemaName) + "." + tableName + "." + triggerName); ((JdbcSqlTransaction) transaction) .executeCallback(new IConnectionCallback() { public Boolean execute(Connection con) throws SQLException { diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereTriggerTemplate.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereTriggerTemplate.java index 8cd13de263..68d54d317b 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereTriggerTemplate.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereTriggerTemplate.java @@ -280,8 +280,12 @@ protected String buildKeyVariablesDeclare(Column[] columns, String prefix) { throw new NotImplementedException(columns[i] + " is of type " + columns[i].getMappedType()); } - text += ";"; + text += appendSemicolonAfterDeclare(); } return text; } + + protected String appendSemicolonAfterDeclare() { + return ""; + } } \ No newline at end of file diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/sqlanywhere/SqlAnywhereDdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/sqlanywhere/SqlAnywhereDdlBuilder.java index 4ffabc6cf8..0c31ea13bd 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/sqlanywhere/SqlAnywhereDdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/sqlanywhere/SqlAnywhereDdlBuilder.java @@ -193,7 +193,7 @@ protected void writeExternalForeignKeyDropStmt(Table table, ForeignKey foreignKe @Override public void writeExternalIndexDropStmt(Table table, IIndex index, StringBuilder ddl) { ddl.append("DROP INDEX "); - ddl.append(getFullyQualifiedTableNameShorten(table)); + ddl.append(table.getSchema()).append(".").append(table.getName()); ddl.append("."); printIdentifier(getIndexName(index), ddl); printEndOfStatement(ddl);