16 const std::string& fname);
18 static std::string
MakeFileName(
const std::string& name, uint64_t number,
21 snprintf(buf,
sizeof(buf),
"/%06llu.%s",
22 static_cast<unsigned long long>(number),
27 std::string
LogFileName(
const std::string& name, uint64_t number) {
45 snprintf(buf,
sizeof(buf),
"/MANIFEST-%06llu",
46 static_cast<unsigned long long>(number));
51 return dbname +
"/CURRENT";
55 return dbname +
"/LOCK";
64 return dbname +
"/LOG";
69 return dbname +
"/LOG.old";
84 if (rest ==
"CURRENT") {
87 }
else if (rest ==
"LOCK") {
90 }
else if (rest ==
"LOG" || rest ==
"LOG.old") {
112 if (suffix ==
Slice(
".log")) {
114 }
else if (suffix ==
Slice(
".sst") || suffix ==
Slice(
".ldb")) {
116 }
else if (suffix ==
Slice(
".dbtmp")) {
127 uint64_t descriptor_number) {
130 Slice contents = manifest;
133 std::string tmp =
TempFileName(dbname, descriptor_number);
Status WriteStringToFileSync(Env *env, const Slice &data, const std::string &fname)
bool ParseFileName(const std::string &fname, uint64_t *number, FileType *type)
std::string OldInfoLogFileName(const std::string &dbname)
std::string TempFileName(const std::string &dbname, uint64_t number)
std::string InfoLogFileName(const std::string &dbname)
std::string ToString() const
std::string TableFileName(const std::string &name, uint64_t number)
bool ConsumeDecimalNumber(Slice *in, uint64_t *val)
std::string DescriptorFileName(const std::string &dbname, uint64_t number)
Status SetCurrentFile(Env *env, const std::string &dbname, uint64_t descriptor_number)
std::string CurrentFileName(const std::string &dbname)
static std::string MakeFileName(const std::string &name, uint64_t number, const char *suffix)
virtual Status RenameFile(const std::string &src, const std::string &target)=0
std::string SSTTableFileName(const std::string &name, uint64_t number)
void remove_prefix(size_t n)
std::string LogFileName(const std::string &name, uint64_t number)
bool starts_with(const Slice &x) const
virtual Status DeleteFile(const std::string &fname)=0
std::string LockFileName(const std::string &dbname)