Make db name-literal agnostic

Move the persistence characteristic of the store into the graph registry
and provide an API hook to get that information.

Add error return for init on a non-persistent store.

Updates #35.
This commit is contained in:
kortschak 2014-08-08 08:36:49 +09:30
parent 7cd740aa7b
commit 2d4c07b56d
7 changed files with 36 additions and 21 deletions

View file

@ -15,11 +15,20 @@
package db
import (
"errors"
"fmt"
"github.com/google/cayley/config"
"github.com/google/cayley/graph"
)
var ErrNotPersistent = errors.New("database type is not persistent")
func Init(cfg *config.Config, triplePath string) error {
if !graph.IsPersistent(cfg.DatabaseType) {
return fmt.Errorf("ignoring unproductive database initialization request: %v", ErrNotPersistent)
}
err := graph.InitTripleStore(cfg.DatabaseType, cfg.DatabasePath, cfg.DatabaseOptions)
if err != nil {
return err