func (spec DatabaseSpec) Database() (ds datas.Database, err error) { switch spec.Protocol { case "http", "https": ds = datas.NewRemoteDatabase(spec.String(), "Bearer "+spec.accessToken) case "ldb": ds = datas.NewDatabase(chunks.NewLevelDBStoreUseFlags(spec.Path, "")) case "mem": ds = datas.NewDatabase(chunks.NewMemoryStore()) default: err = fmt.Errorf("Invalid path prototocol: %s", spec.Protocol) } return }
func (spec databaseSpec) Database() (ds datas.Database, err error) { switch spec.Protocol { case "http", "https": err = d.Unwrap(d.Try(func() { ds = datas.NewRemoteDatabase(spec.String(), "Bearer "+spec.accessToken) })) case "ldb": err = d.Unwrap(d.Try(func() { ds = datas.NewDatabase(getLDBStore(spec.Path)) })) case "mem": ds = datas.NewDatabase(chunks.NewMemoryStore()) default: err = fmt.Errorf("Invalid path prototocol: %s", spec.Protocol) } return }