X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=localdb.h;h=69fb330024f7cc0661a025b09e75929031080121;hb=cc2d3611ed50f5965a9138ffaf3262417993c4f8;hp=45bb132a81c1af96b9c135a94b74ba5b705ec1a9;hpb=a4cf5f4d8df46fa00992a210d587cd824cedcb08;p=cumulus.git diff --git a/localdb.h b/localdb.h index 45bb132..69fb330 100644 --- a/localdb.h +++ b/localdb.h @@ -22,22 +22,26 @@ class LocalDb { public: void Open(const char *path, const char *snapshot_name, - const char *snapshot_scheme); + const char *snapshot_scheme, double intent); void Close(); void StoreObject(const ObjectReference& ref, 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 IsOldObject(const std::string &checksum, int64_t size, double *age, + int *group); bool IsAvailable(const ObjectReference &ref); void UseObject(const ObjectReference& ref); void SetSegmentChecksum(const std::string &segment, const std::string &path, const std::string &checksum); + bool GetSegmentChecksum(const std::string &segment, + std::string *seg_path, std::string *seg_checksum); private: 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); };