X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;ds=sidebyside;f=localdb.h;h=0fce30dbd2a83302a16353fe59a7abd934d70389;hb=def20364a3596d7b1fa4a07f3d3ee056cfff2d1e;hp=cebf0190025d3a3791914ddebf17770eaabe066f;hpb=cac644d993d130efd8d29539de6557b18c9b737e;p=cumulus.git diff --git a/localdb.h b/localdb.h index cebf019..0fce30d 100644 --- a/localdb.h +++ b/localdb.h @@ -21,17 +21,20 @@ 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); + bool IsOldObject(const std::string &checksum, int64_t size, double *age); + bool IsAvailable(const ObjectReference &ref); void UseObject(const ObjectReference& ref); private: sqlite3 *db; int64_t snapshotid; + sqlite3_stmt *Prepare(const char *sql); int64_t SegmentToId(const std::string &segment); std::string IdToSegment(int64_t segmentid); };