Browse Source

cmd/stindex: Detect and open Badger databases

Jakob Borg 5 years ago
parent
commit
1eea076f5c
1 changed files with 12 additions and 1 deletions
  1. 12 1
      cmd/stindex/main.go

+ 12 - 1
cmd/stindex/main.go

@@ -30,7 +30,13 @@ func main() {
 		path = filepath.Join(defaultConfigDir(), "index-v0.14.0.db")
 	}
 
-	ldb, err := backend.OpenLevelDBRO(path)
+	var ldb backend.Backend
+	var err error
+	if looksLikeBadger(path) {
+		ldb, err = backend.OpenBadger(path)
+	} else {
+		ldb, err = backend.OpenLevelDBRO(path)
+	}
 	if err != nil {
 		log.Fatal(err)
 	}
@@ -50,3 +56,8 @@ func main() {
 		fmt.Println("Unknown mode")
 	}
 }
+
+func looksLikeBadger(path string) bool {
+	_, err := os.Stat(filepath.Join(path, "KEYREGISTRY"))
+	return err == nil
+}