Add helper functions for ReleaseDB
diff --git a/data/data.go b/data/data.go
index 7fed43d..d5c893c 100644
--- a/data/data.go
+++ b/data/data.go
@@ -99,8 +99,18 @@
return d.dbVersionForID(id, version)
}
-// will set DB to close and delete when no more references
-func (d *dataService) ReleaseDB(id, version string) {
+// will set DB to close and delete when no more references for commonDBID, provided version
+func (d *dataService) ReleaseDB(version string) {
+ d.ReleaseDBForID(commonDBID, version)
+}
+
+// will set DB to close and delete when no more references for commonDBID, commonDBVersion
+func (d *dataService) ReleaseCommonDB() {
+ d.ReleaseDBForID(commonDBID, commonDBVersion)
+}
+
+// will set DB to close and delete when no more references for any ID
+func (d *dataService) ReleaseDBForID(id, version string) {
versionedID := VersionedDBID(id, version)
dbMapSync.Lock()
@@ -116,7 +126,7 @@
runtime.SetFinalizer(dbm.db, finalizer)
dbMap[versionedID] = nil
} else {
- log.Error("Cannot find DB handle for ver {%s} to release", version)
+ log.Errorf("Cannot find DB handle for ver {%s} to release", version)
}
return
diff --git a/data_service.go b/data_service.go
index b467918..7a5a3d0 100644
--- a/data_service.go
+++ b/data_service.go
@@ -26,7 +26,9 @@
DBVersionForID(id, version string) (db DB, err error)
// will set DB to close and delete when no more references
- ReleaseDB(id, version string)
+ ReleaseDB(version string)
+ ReleaseCommonDB()
+ ReleaseDBForID(id, version string)
}
type DB interface {