You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2018/09/12 08:03:45 UTC
empire-db git commit: EMPIREDB-279 Bugfix reported by Björn Johannisson on Sep 6.
Repository: empire-db
Updated Branches:
refs/heads/master 2cf4590aa -> 3a7c6aa29
EMPIREDB-279
Bugfix reported by Björn Johannisson on Sep 6.
Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/3a7c6aa2
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/3a7c6aa2
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/3a7c6aa2
Branch: refs/heads/master
Commit: 3a7c6aa29c59358b20eccf26cde1aa8156029275
Parents: 2cf4590
Author: Rainer Döbele <do...@apache.org>
Authored: Wed Sep 12 10:03:30 2018 +0200
Committer: Rainer Döbele <do...@apache.org>
Committed: Wed Sep 12 10:03:30 2018 +0200
----------------------------------------------------------------------
.../apache/empire/db/hsql/HSqlDDLGenerator.java | 20 ++++++++++++++++++++
.../empire/db/oracle/OracleDDLGenerator.java | 20 ++++++++++++++++++++
2 files changed, 40 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/empire-db/blob/3a7c6aa2/empire-db/src/main/java/org/apache/empire/db/hsql/HSqlDDLGenerator.java
----------------------------------------------------------------------
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 34eb76f..7e65fda 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
@@ -19,9 +19,11 @@
package org.apache.empire.db.hsql;
import org.apache.empire.data.DataType;
+import org.apache.empire.db.DBCmdType;
import org.apache.empire.db.DBColumn;
import org.apache.empire.db.DBDDLGenerator;
import org.apache.empire.db.DBDatabase;
+import org.apache.empire.db.DBObject;
import org.apache.empire.db.DBSQLScript;
import org.apache.empire.db.DBTable;
import org.apache.empire.db.DBTableColumn;
@@ -77,6 +79,24 @@ public class HSqlDDLGenerator extends DBDDLGenerator<DBDatabaseDriverHSql>
// default processing
super.createDatabase(db, script);
}
+
+ @Override
+ public void getDDLScript(DBCmdType type, DBObject dbo, DBSQLScript script)
+ {
+ super.getDDLScript(type, dbo, script);
+ // Additional tasks
+ if ((type==DBCmdType.DROP) && (dbo instanceof DBTable))
+ { // Drop Sequences
+ for (DBColumn c : ((DBTable) dbo).getColumns())
+ {
+ if (c.getDataType() == DataType.AUTOINC && (c instanceof DBTableColumn))
+ { // SEQUENCE column
+ DBTableColumn column = (DBTableColumn) c;
+ script.addStmt("DROP SEQUENCE " + column.getSequenceName());
+ }
+ }
+ }
+ }
/**
* Appends the DDL-Script for creating a sequence to an SQL-Script<br>
http://git-wip-us.apache.org/repos/asf/empire-db/blob/3a7c6aa2/empire-db/src/main/java/org/apache/empire/db/oracle/OracleDDLGenerator.java
----------------------------------------------------------------------
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 4b39da5..d265932 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
@@ -19,10 +19,12 @@
package org.apache.empire.db.oracle;
import org.apache.empire.data.DataType;
+import org.apache.empire.db.DBCmdType;
import org.apache.empire.db.DBColumn;
import org.apache.empire.db.DBDDLGenerator;
import org.apache.empire.db.DBDatabase;
import org.apache.empire.db.DBExpr;
+import org.apache.empire.db.DBObject;
import org.apache.empire.db.DBSQLScript;
import org.apache.empire.db.DBTable;
import org.apache.empire.db.DBTableColumn;
@@ -114,6 +116,24 @@ public class OracleDDLGenerator extends DBDDLGenerator<DBDatabaseDriverOracle>
dropObject(null, db.getSchema(), "USER", script);
}
+ @Override
+ public void getDDLScript(DBCmdType type, DBObject dbo, DBSQLScript script)
+ {
+ super.getDDLScript(type, dbo, script);
+ // Additional tasks
+ if ((type==DBCmdType.DROP) && (dbo instanceof DBTable))
+ { // Drop Sequences
+ for (DBColumn c : ((DBTable) dbo).getColumns())
+ {
+ if (c.getDataType() == DataType.AUTOINC && (c instanceof DBTableColumn))
+ { // SEQUENCE column
+ DBTableColumn column = (DBTableColumn) c;
+ script.addStmt("DROP SEQUENCE " + column.getSequenceName());
+ }
+ }
+ }
+ }
+
/**
* Returns true if the sequence has been created successfully.
*/