parent
2d4c07b56d
commit
4c3f5109eb
3 changed files with 31 additions and 12 deletions
29
cayley.go
29
cayley.go
|
|
@ -35,7 +35,7 @@ import (
|
||||||
_ "github.com/google/cayley/graph/mongo"
|
_ "github.com/google/cayley/graph/mongo"
|
||||||
)
|
)
|
||||||
|
|
||||||
var tripleFile = flag.String("triples", "", "Triple File to load before going to REPL.")
|
var tripleFile = flag.String("triples", "", "Triple file to load for database init.")
|
||||||
var cpuprofile = flag.String("prof", "", "Output profiling file.")
|
var cpuprofile = flag.String("prof", "", "Output profiling file.")
|
||||||
var queryLanguage = flag.String("query_lang", "gremlin", "Use this parser as the query language.")
|
var queryLanguage = flag.String("query_lang", "gremlin", "Use this parser as the query language.")
|
||||||
var configFile = flag.String("config", "", "Path to an explicit configuration file.")
|
var configFile = flag.String("config", "", "Path to an explicit configuration file.")
|
||||||
|
|
@ -100,35 +100,54 @@ func main() {
|
||||||
fmt.Println("Cayley snapshot")
|
fmt.Println("Cayley snapshot")
|
||||||
}
|
}
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
|
|
||||||
case "init":
|
case "init":
|
||||||
err = db.Init(cfg, *tripleFile)
|
err = db.Init(cfg, *tripleFile)
|
||||||
|
|
||||||
case "load":
|
case "load":
|
||||||
ts, err = db.Open(cfg)
|
ts, err = db.Open(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
err = db.Load(ts, cfg, *tripleFile)
|
err = db.Load(ts, cfg, cfg.DatabasePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
ts.Close()
|
ts.Close()
|
||||||
|
|
||||||
case "repl":
|
case "repl":
|
||||||
ts, err = db.Open(cfg)
|
ts, err = db.Open(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
err = db.Repl(ts, *queryLanguage, cfg)
|
if !graph.IsPersistent(cfg.DatabaseType) {
|
||||||
if err != nil {
|
err = db.Load(ts, cfg, cfg.DatabasePath)
|
||||||
break
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = db.Repl(ts, *queryLanguage, cfg)
|
||||||
|
|
||||||
ts.Close()
|
ts.Close()
|
||||||
|
|
||||||
case "http":
|
case "http":
|
||||||
ts, err = db.Open(cfg)
|
ts, err = db.Open(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
if !graph.IsPersistent(cfg.DatabaseType) {
|
||||||
|
err = db.Load(ts, cfg, cfg.DatabasePath)
|
||||||
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
http.Serve(ts, cfg)
|
http.Serve(ts, cfg)
|
||||||
|
|
||||||
ts.Close()
|
ts.Close()
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fmt.Println("No command", cmd)
|
fmt.Println("No command", cmd)
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
|
|
|
||||||
|
|
@ -308,6 +308,13 @@ func prepare(t testing.TB) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to open %q: %v", cfg.DatabasePath, err)
|
t.Fatalf("Failed to open %q: %v", cfg.DatabasePath, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !graph.IsPersistent(cfg.DatabaseType) {
|
||||||
|
err = db.Load(ts, cfg, cfg.DatabasePath)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Failed to load %q: %v", cfg.DatabasePath, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,12 +28,5 @@ func Open(cfg *config.Config) (graph.TripleStore, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if !graph.IsPersistent(cfg.DatabaseType) {
|
|
||||||
err = Load(ts, cfg, cfg.DatabasePath)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ts, nil
|
return ts, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue