commit
b7b031f428
@ -97,9 +97,9 @@ Status PlainTableKeyEncoder::AppendKey(const Slice& key, WritableFile* file,
|
||||
|
||||
Slice prefix =
|
||||
prefix_extractor_->Transform(Slice(key.data(), user_key_size));
|
||||
if (key_count_for_prefix == 0 || prefix != pre_prefix_.GetKey() ||
|
||||
key_count_for_prefix % index_sparseness_ == 0) {
|
||||
key_count_for_prefix = 1;
|
||||
if (key_count_for_prefix_ == 0 || prefix != pre_prefix_.GetKey() ||
|
||||
key_count_for_prefix_ % index_sparseness_ == 0) {
|
||||
key_count_for_prefix_ = 1;
|
||||
pre_prefix_.SetKey(prefix);
|
||||
size_bytes_pos += EncodeSize(kFullKey, user_key_size, size_bytes);
|
||||
Status s = file->Append(Slice(size_bytes, size_bytes_pos));
|
||||
@ -108,8 +108,8 @@ Status PlainTableKeyEncoder::AppendKey(const Slice& key, WritableFile* file,
|
||||
}
|
||||
*offset += size_bytes_pos;
|
||||
} else {
|
||||
key_count_for_prefix++;
|
||||
if (key_count_for_prefix == 2) {
|
||||
key_count_for_prefix_++;
|
||||
if (key_count_for_prefix_ == 2) {
|
||||
// For second key within a prefix, need to encode prefix length
|
||||
size_bytes_pos +=
|
||||
EncodeSize(kPrefixFromPreviousKey, pre_prefix_.GetKey().size(),
|
||||
|
@ -26,7 +26,7 @@ class PlainTableKeyEncoder {
|
||||
fixed_user_key_len_(user_key_len),
|
||||
prefix_extractor_(prefix_extractor),
|
||||
index_sparseness_((index_sparseness > 1) ? index_sparseness : 1),
|
||||
key_count_for_prefix(0) {}
|
||||
key_count_for_prefix_(0) {}
|
||||
// key: the key to write out, in the format of internal key.
|
||||
// file: the output file to write out
|
||||
// offset: offset in the file. Needs to be updated after appending bytes
|
||||
@ -45,7 +45,7 @@ class PlainTableKeyEncoder {
|
||||
uint32_t fixed_user_key_len_;
|
||||
const SliceTransform* prefix_extractor_;
|
||||
const size_t index_sparseness_;
|
||||
size_t key_count_for_prefix;
|
||||
size_t key_count_for_prefix_;
|
||||
IterKey pre_prefix_;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user