Factor code to prepare SQLite statements into a separate function.
[cumulus.git] / localdb.h
index 6035e5d..bdf3b7c 100644 (file)
--- a/localdb.h
+++ b/localdb.h
 
 class LocalDb {
 public:
-    void Open(const char *path);
+    void Open(const char *path, const char *snapshot_name);
     void Close();
     void StoreObject(const ObjectReference& ref,
                      const std::string &checksum, int64_t size);
     ObjectReference FindObject(const std::string &checksum, int64_t size);
+    bool IsOldObject(const std::string &checksum, int64_t size);
+    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);
 };
 
 #endif // _LBS_LOCALDB_H