From 080ab6ca87d6bb3f8603d62abfa7ecac8e6a049a Mon Sep 17 00:00:00 2001 From: "samir.hadzic.pro@gmail.com" Date: Mon, 21 Jan 2019 12:02:54 +0100 Subject: [PATCH] Escape sequence name properly when dropping sequence in Oracle and HSql --- .../java/org/apache/empire/db/hsql/HSqlDDLGenerator.java | 5 ++++- .../java/org/apache/empire/db/oracle/OracleDDLGenerator.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java index 7e65fda1a..8747b76f7 100644 --- a/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java +++ b/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java @@ -92,7 +92,10 @@ public void getDDLScript(DBCmdType type, DBObject dbo, DBSQLScript script) if (c.getDataType() == DataType.AUTOINC && (c instanceof DBTableColumn)) { // SEQUENCE column DBTableColumn column = (DBTableColumn) c; - script.addStmt("DROP SEQUENCE " + column.getSequenceName()); + StringBuilder sql = new StringBuilder("DROP SEQUENCE "); + //Sequence name can contain special characters + appendElementName(sql, column.getSequenceName()); + script.addStmt(sql.toString()); } } } diff --git a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java b/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java index d265932c4..c272ba7d9 100644 --- a/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java +++ b/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java @@ -128,7 +128,10 @@ public void getDDLScript(DBCmdType type, DBObject dbo, DBSQLScript script) if (c.getDataType() == DataType.AUTOINC && (c instanceof DBTableColumn)) { // SEQUENCE column DBTableColumn column = (DBTableColumn) c; - script.addStmt("DROP SEQUENCE " + column.getSequenceName()); + StringBuilder sql = new StringBuilder("DROP SEQUENCE "); + //Sequence name can contain special characters + appendElementName(sql, column.getSequenceName()); + script.addStmt(sql.toString()); } } }