Unverified Commit 7bcf58d4 authored by Connor's avatar Connor Committed by GitHub

Add API to run sst dump tool (#470)

* add run sst dump
Signed-off-by: 's avatarConnor <zbk602423539@gmail.com>
parent 922e8342
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "rocksdb/iostats_context.h" #include "rocksdb/iostats_context.h"
#include "rocksdb/iterator.h" #include "rocksdb/iterator.h"
#include "rocksdb/ldb_tool.h" #include "rocksdb/ldb_tool.h"
#include "rocksdb/sst_dump_tool.h"
#include "rocksdb/listener.h" #include "rocksdb/listener.h"
#include "rocksdb/memtablerep.h" #include "rocksdb/memtablerep.h"
#include "rocksdb/merge_operator.h" #include "rocksdb/merge_operator.h"
...@@ -163,6 +164,7 @@ using rocksdb::PerfContext; ...@@ -163,6 +164,7 @@ using rocksdb::PerfContext;
using rocksdb::IOStatsContext; using rocksdb::IOStatsContext;
using rocksdb::BottommostLevelCompaction; using rocksdb::BottommostLevelCompaction;
using rocksdb::LDBTool; using rocksdb::LDBTool;
using rocksdb::SSTDumpTool;
using rocksdb::kMaxSequenceNumber; using rocksdb::kMaxSequenceNumber;
...@@ -5488,6 +5490,10 @@ void crocksdb_run_ldb_tool(int argc, char** argv, const crocksdb_options_t* opts ...@@ -5488,6 +5490,10 @@ void crocksdb_run_ldb_tool(int argc, char** argv, const crocksdb_options_t* opts
LDBTool().Run(argc, argv, opts->rep); LDBTool().Run(argc, argv, opts->rep);
} }
void crocksdb_run_sst_dump_tool(int argc, char** argv, const crocksdb_options_t* opts) {
SSTDumpTool().Run(argc, argv, opts->rep);
}
/* Titan */ /* Titan */
struct ctitandb_options_t { struct ctitandb_options_t {
TitanOptions rep; TitanOptions rep;
......
...@@ -2139,6 +2139,8 @@ crocksdb_iostats_context_logger_nanos(crocksdb_iostats_context_t*); ...@@ -2139,6 +2139,8 @@ crocksdb_iostats_context_logger_nanos(crocksdb_iostats_context_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_run_ldb_tool(int argc, char** argv, const crocksdb_options_t* opts); crocksdb_run_ldb_tool(int argc, char** argv, const crocksdb_options_t* opts);
extern C_ROCKSDB_LIBRARY_API void
crocksdb_run_sst_dump_tool(int argc, char** argv, const crocksdb_options_t* opts);
/* Titan */ /* Titan */
struct ctitandb_blob_index_t { struct ctitandb_blob_index_t {
......
...@@ -2168,6 +2168,11 @@ extern "C" { ...@@ -2168,6 +2168,11 @@ extern "C" {
pub fn crocksdb_iostats_context_logger_nanos(ctx: *mut DBIOStatsContext) -> u64; pub fn crocksdb_iostats_context_logger_nanos(ctx: *mut DBIOStatsContext) -> u64;
pub fn crocksdb_run_ldb_tool(argc: c_int, argv: *const *const c_char, opts: *const Options); pub fn crocksdb_run_ldb_tool(argc: c_int, argv: *const *const c_char, opts: *const Options);
pub fn crocksdb_run_sst_dump_tool(
argc: c_int,
argv: *const *const c_char,
opts: *const Options,
);
} }
// Titan // Titan
......
...@@ -46,9 +46,10 @@ pub use merge_operator::MergeOperands; ...@@ -46,9 +46,10 @@ pub use merge_operator::MergeOperands;
pub use metadata::{ColumnFamilyMetaData, LevelMetaData, SstFileMetaData}; pub use metadata::{ColumnFamilyMetaData, LevelMetaData, SstFileMetaData};
pub use perf_context::{get_perf_level, set_perf_level, IOStatsContext, PerfContext, PerfLevel}; pub use perf_context::{get_perf_level, set_perf_level, IOStatsContext, PerfContext, PerfLevel};
pub use rocksdb::{ pub use rocksdb::{
load_latest_options, run_ldb_tool, set_external_sst_file_global_seq_no, BackupEngine, CFHandle, load_latest_options, run_ldb_tool, run_sst_dump_tool, set_external_sst_file_global_seq_no,
Cache, DBIterator, DBVector, Env, ExternalSstFileInfo, MapProperty, MemoryAllocator, Range, BackupEngine, CFHandle, Cache, DBIterator, DBVector, Env, ExternalSstFileInfo, MapProperty,
SeekKey, SequentialFile, SstFileReader, SstFileWriter, Writable, WriteBatch, DB, MemoryAllocator, Range, SeekKey, SequentialFile, SstFileReader, SstFileWriter, Writable,
WriteBatch, DB,
}; };
pub use rocksdb_options::{ pub use rocksdb_options::{
BlockBasedOptions, CColumnFamilyDescriptor, ColumnFamilyOptions, CompactOptions, BlockBasedOptions, CColumnFamilyDescriptor, ColumnFamilyOptions, CompactOptions,
......
...@@ -2747,6 +2747,21 @@ pub fn run_ldb_tool(ldb_args: &[String], opts: &DBOptions) { ...@@ -2747,6 +2747,21 @@ pub fn run_ldb_tool(ldb_args: &[String], opts: &DBOptions) {
} }
} }
pub fn run_sst_dump_tool(sst_dump_args: &[String], opts: &DBOptions) {
unsafe {
let sst_dump_args_cstrs: Vec<_> = sst_dump_args
.iter()
.map(|s| CString::new(s.as_bytes()).unwrap())
.collect();
let args: Vec<_> = sst_dump_args_cstrs.iter().map(|s| s.as_ptr()).collect();
crocksdb_ffi::crocksdb_run_sst_dump_tool(
args.len() as i32,
args.as_ptr() as *const *const c_char,
opts.inner,
);
}
}
#[cfg(test)] #[cfg(test)]
mod test { mod test {
use std::fs; use std::fs;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment