]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/tools/ldb_cmd_impl.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / rocksdb / tools / ldb_cmd_impl.h
index 8477cae6fbfdc45a714926708732baff59055dcc..475cc44c92b878319ae968a8e2e46d321e9418cc 100644 (file)
@@ -136,7 +136,7 @@ class DBLoaderCommand : public LDBCommand {
   static void Help(std::string& ret);
   virtual void DoCommand() override;
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
  private:
   bool disable_wal_;
@@ -246,7 +246,7 @@ class ReduceDBLevelsCommand : public LDBCommand {
                         const std::map<std::string, std::string>& options,
                         const std::vector<std::string>& flags);
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
   virtual void DoCommand() override;
 
@@ -278,7 +278,7 @@ class ChangeCompactionStyleCommand : public LDBCommand {
       const std::map<std::string, std::string>& options,
       const std::vector<std::string>& flags);
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
   virtual void DoCommand() override;
 
@@ -362,7 +362,7 @@ class BatchPutCommand : public LDBCommand {
 
   static void Help(std::string& ret);
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
  private:
   /**
@@ -437,7 +437,7 @@ class PutCommand : public LDBCommand {
 
   static void Help(std::string& ret);
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
  private:
   std::string key_;
@@ -511,6 +511,8 @@ class RepairCommand : public LDBCommand {
 
   virtual bool NoDBOpen() override { return true; }
 
+  virtual void OverrideBaseOptions() override;
+
   static void Help(std::string& ret);
 };
 
@@ -568,7 +570,7 @@ class WriteExternalSstFilesCommand : public LDBCommand {
 
   virtual bool NoDBOpen() override { return false; }
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
   static void Help(std::string& ret);
 
@@ -588,7 +590,7 @@ class IngestExternalSstFilesCommand : public LDBCommand {
 
   virtual bool NoDBOpen() override { return false; }
 
-  virtual Options PrepareOptionsForOpenDB() override;
+  virtual void OverrideBaseOptions() override;
 
   static void Help(std::string& ret);
 
@@ -625,4 +627,23 @@ class ListFileRangeDeletesCommand : public LDBCommand {
   int max_keys_ = 1000;
 };
 
+// Command that removes the SST file forcibly from the manifest.
+class UnsafeRemoveSstFileCommand : public LDBCommand {
+ public:
+  static std::string Name() { return "unsafe_remove_sst_file"; }
+
+  UnsafeRemoveSstFileCommand(const std::vector<std::string>& params,
+                             const std::map<std::string, std::string>& options,
+                             const std::vector<std::string>& flags);
+
+  static void Help(std::string& ret);
+
+  virtual void DoCommand() override;
+
+  virtual bool NoDBOpen() override { return true; }
+
+ private:
+  uint64_t sst_file_number_;
+};
+
 }  // namespace ROCKSDB_NAMESPACE