70ea2300ca
* Vendor: update gitea.com/macaron/session to a177a270 * make vendor * Vendor: update gitea.com/macaron/macaron to 0db5d458 * make vendor * Vendor: update gitea.com/macaron/cache to 905232fb * make vendor * Vendor: update gitea.com/macaron/i18n to 4ca3dd0c * make vendor * Vendor: update gitea.com/macaron/gzip to efa5e847 * make vendor * Vendor: update gitea.com/macaron/captcha to e8597820 * make vendor
52 lines
785 B
Go
Vendored
52 lines
785 B
Go
Vendored
package store
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path"
|
|
"gitea.com/lunny/nodb/config"
|
|
"gitea.com/lunny/nodb/store/driver"
|
|
|
|
_ "gitea.com/lunny/nodb/store/goleveldb"
|
|
)
|
|
|
|
func getStorePath(cfg *config.Config) string {
|
|
return path.Join(cfg.DataDir, fmt.Sprintf("%s_data", cfg.DBName))
|
|
}
|
|
|
|
func Open(cfg *config.Config) (*DB, error) {
|
|
s, err := driver.GetStore(cfg)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
path := getStorePath(cfg)
|
|
|
|
if err := os.MkdirAll(path, os.ModePerm); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
idb, err := s.Open(path, cfg)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
db := &DB{idb}
|
|
|
|
return db, nil
|
|
}
|
|
|
|
func Repair(cfg *config.Config) error {
|
|
s, err := driver.GetStore(cfg)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
path := getStorePath(cfg)
|
|
|
|
return s.Repair(path, cfg)
|
|
}
|
|
|
|
func init() {
|
|
}
|