Repository: empire-db
Updated Branches:
  refs/heads/master f9a7d1091 -> d305a4475


EMPIREDB-257
Allow to destroy and unregister database object


Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/d305a447
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/d305a447
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/d305a447

Branch: refs/heads/master
Commit: d305a447567e11d878b9f3d171cbe8a8ca19f131
Parents: f9a7d10
Author: Rainer Döbele <[email protected]>
Authored: Thu Oct 4 12:10:36 2018 +0200
Committer: Rainer Döbele <[email protected]>
Committed: Thu Oct 4 12:10:36 2018 +0200

----------------------------------------------------------------------
 .../java/org/apache/empire/db/DBDatabase.java   | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/empire-db/blob/d305a447/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
----------------------------------------------------------------------
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java 
b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
index 6b050bc..2274eb2 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
@@ -181,6 +181,26 @@ public abstract class DBDatabase extends DBObject
     }
     
     /**
+     * Frees all resources and unregisters database in global map.
+     * Do not reuse this object afterwards!
+     * Hint: Database must be closed!
+     */
+    public void destroy()
+    {
+        if (isOpen())
+            throw new MiscellaneousErrorException("Database is open. Destroy 
not possible.");
+        // unregister
+        databaseMap.remove(this.instanceId);
+        this.instanceId = null;
+        // clear all 
+        this.schema = null;
+        this.linkName = null;
+        tables.clear();
+        relations.clear();
+        views.clear();
+    }
+    
+    /**
      * registers the database in the global list of databases
      * @param dbid
      */

Reply via email to