diff --git a/datastore/fsds.nim b/datastore/fsds.nim index 3e4891f..8f308c9 100644 --- a/datastore/fsds.nim +++ b/datastore/fsds.nim @@ -211,15 +211,18 @@ iterator iter*[K, V](handle: var DbQueryHandle[K, V, DataBuffer]): ?!DbQueryResp keyPath = keyPath.replace("\\", "/") let + fl = (handle.env.basePath / path).absolutePath() key = Key.init(keyPath).expect("should not fail") data = if query.value: - let fl = (handle.env.basePath / path).absolutePath() - readFile[DataBuffer](handle.env.self, fl).expect("Should read file") + let res = readFile[DataBuffer](handle.env.self, fl) + if res.isErr(): + yield failure res.error() + res.get() else: - DataBuffer.new(0) + DataBuffer.new() - return success (key.some, data) + yield success (key.some, data) proc new*( T: type FSDatastore,