X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=localdb.cc;h=5c1f7e55b2424015e525db895ac7f738b09d4dab;hb=a4cf5f4d8df46fa00992a210d587cd824cedcb08;hp=9ec0c968cc55beaecb2f3a99de355269c6f62a4f;hpb=bf8eba693e2667688b83b2a4aa220ec8adcb7907;p=cumulus.git diff --git a/localdb.cc b/localdb.cc index 9ec0c96..5c1f7e5 100644 --- a/localdb.cc +++ b/localdb.cc @@ -285,3 +285,26 @@ void LocalDb::UseObject(const ObjectReference& ref) sqlite3_finalize(stmt); } + +void LocalDb::SetSegmentChecksum(const std::string &segment, + const std::string &path, + const std::string &checksum) +{ + int rc; + sqlite3_stmt *stmt; + + stmt = Prepare("update segments set path = ?, checksum = ? " + "where segmentid = ?"); + sqlite3_bind_text(stmt, 1, path.c_str(), path.size(), + SQLITE_TRANSIENT); + sqlite3_bind_text(stmt, 2, checksum.c_str(), checksum.size(), + SQLITE_TRANSIENT); + sqlite3_bind_int64(stmt, 3, SegmentToId(segment)); + + rc = sqlite3_step(stmt); + if (rc != SQLITE_DONE) { + fprintf(stderr, "Could not update segment checksum in database!\n"); + } + + sqlite3_finalize(stmt); +}