Skip to content

Commit e3b5990

Browse files
committed
Fix TerarkZipTable IsBuilderNeedSecondPass issue when disabled tzt
1 parent d52ed4f commit e3b5990

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

table/terark_zip_internal.h

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,6 @@
2727

2828
//#define DEBUG_TWO_PASS_ITER
2929

30-
#if ROCKSDB_MAJOR * 1000 + ROCKSDB_MINOR >= 5008
31-
#define TERARK_ROCKSDB_5008(...) __VA_ARGS__
32-
#else
33-
#define TERARK_ROCKSDB_5008(...)
34-
#endif
35-
36-
#if ROCKSDB_MAJOR * 1000 + ROCKSDB_MINOR >= 5007
37-
#define TERARK_ROCKSDB_5007(...) __VA_ARGS__
38-
#else
39-
#define TERARK_ROCKSDB_5007(...)
40-
#endif
41-
4230
void PrintVersion(TERARKDB_NAMESPACE::Logger* info_log);
4331

4432
namespace TERARKDB_NAMESPACE {
@@ -187,15 +175,26 @@ class TerarkZipTableFactory : public TableFactory, boost::noncopyable {
187175

188176
void* GetOptions() override { return &table_options_; }
189177

190-
bool IsDeleteRangeSupported() const override { return true; }
178+
bool IsDeleteRangeSupported() const override {
179+
if (table_options_.terarkZipMinLevel != kTerarkZipMinLevelForDisabled) {
180+
return true;
181+
}
182+
assert(fallback_factory_ != nullptr);
183+
return fallback_factory_->IsDeleteRangeSupported();
184+
}
191185

192-
bool IsBuilderNeedSecondPass() const override { return true; }
186+
bool IsBuilderNeedSecondPass() const override {
187+
if (table_options_.terarkZipMinLevel != kTerarkZipMinLevelForDisabled) {
188+
return true;
189+
}
190+
assert(fallback_factory_ != nullptr);
191+
return fallback_factory_->IsBuilderNeedSecondPass();
192+
}
193193

194194
LruReadonlyCache* cache() const { return cache_.get(); }
195195

196196
Status GetOptionString(std::string* opt_string,
197-
const std::string& delimiter) const
198-
TERARK_ROCKSDB_5008(override);
197+
const std::string& delimiter) const override;
199198

200199
private:
201200
TerarkZipTableOptions table_options_;

table/terark_zip_table.cc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,7 @@ Status TerarkZipTableFactory::NewTableReader(
253253
"user comparator must be 'leveldb.BytewiseComparator'");
254254
}
255255
Footer footer;
256-
Status s = ReadFooterFromFile(
257-
file.get(), TERARK_ROCKSDB_5007(nullptr, ) file_size, &footer);
256+
Status s = ReadFooterFromFile(file.get(), nullptr, file_size, &footer);
258257
if (!s.ok()) {
259258
return s;
260259
}
@@ -347,15 +346,15 @@ TableBuilder* TerarkZipTableFactory::NewTableBuilder(
347346
"TerarkZipTableFactory::NewTableBuilder(): "
348347
"user comparator must be 'leveldb.BytewiseComparator'");
349348
}
350-
if (table_options_.terarkZipMinLevel == -2) {
349+
if (table_options_.terarkZipMinLevel == kTerarkZipMinLevelForDisabled) {
351350
if (!fallback_factory_) {
352351
THROW_STD(invalid_argument,
353352
"TerarkZipTableFactory::NewTableBuilder(): "
354353
"set terarkZipMinLevel = -2 but fallback_factory is null");
355354
}
356355
return fallback_factory_->NewTableBuilder(table_builder_options,
357356
column_family_id, file);
358-
} else if (table_options_.terarkZipMinLevel < -2) {
357+
} else if (table_options_.terarkZipMinLevel < kTerarkZipMinLevelForDisabled) {
359358
THROW_STD(invalid_argument,
360359
"TerarkZipTableFactory::NewTableBuilder(): "
361360
"bad terarkZipMinLevel");
@@ -488,7 +487,7 @@ Status TerarkZipTableFactory::SanitizeOptions(
488487
auto& tzto = *reinterpret_cast<const TerarkZipTableOptions*>(
489488
table_factory->GetOptions());
490489
try {
491-
if (tzto.terarkZipMinLevel != -2) {
490+
if (tzto.terarkZipMinLevel != kTerarkZipMinLevelForDisabled) {
492491
terark::TempFileDeleteOnClose test;
493492
test.path = tzto.localTempDir + "/Terark-XXXXXX";
494493
test.open_temp();

table/terark_zip_table.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
namespace TERARKDB_NAMESPACE {
1818

19+
static const int kTerarkZipMinLevelForDisabled = -2;
20+
1921
struct TerarkZipTableOptions {
2022
// copy of DictZipBlobStore::Options::EntropyAlgo
2123
enum EntropyAlgo : uint32_t {

table/terark_zip_table_reader.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,8 @@ Status ReadMetaBlockAdapte(RandomAccessFileReader* file, uint64_t file_size,
215215
const ImmutableCFOptions& ioptions,
216216
const std::string& meta_block_name,
217217
BlockContents* contents) {
218-
return ReadMetaBlock(file, TERARK_ROCKSDB_5007(nullptr, ) file_size,
219-
table_magic_number, ioptions, meta_block_name, contents);
218+
return ReadMetaBlock(file, nullptr, file_size, table_magic_number, ioptions,
219+
meta_block_name, contents);
220220
}
221221

222222
using terark::AbstractBlobStore;

0 commit comments

Comments
 (0)