projects
/
cumulus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a bug in computing the size of a segment that led to utilization > 1.0.
[cumulus.git]
/
localdb.h
diff --git
a/localdb.h
b/localdb.h
index
4654b37
..
a89923f
100644
(file)
--- a/
localdb.h
+++ b/
localdb.h
@@
-21,19
+21,27
@@
class LocalDb {
public:
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, 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);
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);
bool IsAvailable(const ObjectReference &ref);
void UseObject(const ObjectReference& ref);
+
+ void SetSegmentChecksum(const std::string &segment, const std::string &path,
+ const std::string &checksum, int size);
+ 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);
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);
};
int64_t SegmentToId(const std::string &segment);
std::string IdToSegment(int64_t segmentid);
};