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