X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=localdb.h;h=e8a350e652fec5e77dfb967720ebe5cccc0225dd;hb=893aa36d4dee18cc85843c441219c8e177282e79;hp=3a888707bbf94827c1b7e0cb17665e554a9da4bb;hpb=da87780779a2f165503d019ee0b59d10e5d31ec8;p=cumulus.git diff --git a/localdb.h b/localdb.h index 3a88870..e8a350e 100644 --- a/localdb.h +++ b/localdb.h @@ -21,15 +21,26 @@ class LocalDb { public: - void Open(const char *path, const char *snapshot_name); + void Open(const char *path, const char *snapshot_name, + const char *snapshot_scheme); void Close(); void StoreObject(const ObjectReference& ref, - const std::string &checksum, int64_t size); + const std::string &checksum, int64_t size, double age); ObjectReference FindObject(const std::string &checksum, int64_t size); + bool IsOldObject(const std::string &checksum, int64_t size, double *age); + bool IsAvailable(const ObjectReference &ref); void UseObject(const ObjectReference& ref); + + void SetSegmentChecksum(const std::string &segment, const std::string &path, + const std::string &checksum); private: - std::string snapshot; sqlite3 *db; + int64_t snapshotid; + + sqlite3_stmt *Prepare(const char *sql); + void ReportError(int rc); + int64_t SegmentToId(const std::string &segment); + std::string IdToSegment(int64_t segmentid); }; #endif // _LBS_LOCALDB_H