78837f5d61
Summary: 1. Range Deletion Tombstone structure 2. Modify Add() in table_builder to make it usable for adding range del tombstones 3. Expose NewTombstoneIterator() API in table_reader Test Plan: table_test.cc (now BlockBasedTableBuilder::Add() only accepts InternalKey. I make table_test only pass InternalKey to BlockBasedTableBuidler. Also test writing/reading range deletion tombstones in table_test ) Reviewers: sdong, IslamAbdelRahman, lightmark, andrewkr Reviewed By: andrewkr Subscribers: andrewkr, dhruba, leveldb Differential Revision: https://reviews.facebook.net/D61473
31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
#pragma once
|
|
|
|
#include "rocksdb/status.h"
|
|
#include "rocksdb/iterator.h"
|
|
|
|
namespace rocksdb {
|
|
|
|
class InternalIterator;
|
|
class BlockHandle;
|
|
|
|
// Seek to the properties block.
|
|
// If it successfully seeks to the properties block, "is_found" will be
|
|
// set to true.
|
|
Status SeekToPropertiesBlock(InternalIterator* meta_iter, bool* is_found);
|
|
|
|
// Seek to the compression dictionary block.
|
|
// If it successfully seeks to the properties block, "is_found" will be
|
|
// set to true.
|
|
Status SeekToCompressionDictBlock(InternalIterator* meta_iter, bool* is_found);
|
|
|
|
// TODO(andrewkr) should not put all meta block in table_properties.h/cc
|
|
Status SeekToRangeDelBlock(InternalIterator* meta_iter, bool* is_found,
|
|
BlockHandle* block_handle);
|
|
|
|
} // namespace rocksdb
|