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.
      */