This is an automated email from the ASF dual-hosted git repository. adar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 5b182a356c5825f95a2956924e7143e27a0be2aa Author: lingbin <[email protected]> AuthorDate: Thu Nov 7 14:10:20 2019 +0800 [cfile] not_null -> is_null In a bitmap, we use `true` to represent `null`. So when we iterate over a bitmap, if it returns `true`, its meaning is "it is a null" In the original implementation, it was incorrectly named `not_null` Change-Id: I836ebce2eae6f8df18ec256b000fee23fd62ce3e Reviewed-on: http://gerrit.cloudera.org:8080/14651 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo <[email protected]> --- src/kudu/cfile/cfile_writer.cc | 20 ++++++++++---------- src/kudu/cfile/cfile_writer.h | 1 + 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/kudu/cfile/cfile_writer.cc b/src/kudu/cfile/cfile_writer.cc index 32d7cc6..fce4b76 100644 --- a/src/kudu/cfile/cfile_writer.cc +++ b/src/kudu/cfile/cfile_writer.cc @@ -154,7 +154,7 @@ Status CFileWriter::Start() { if (compression_ != NO_COMPRESSION) { const CompressionCodec* codec; RETURN_NOT_OK(GetCompressionCodec(compression_, &codec)); - block_compressor_ .reset(new CompressedBlockBuilder(codec)); + block_compressor_.reset(new CompressedBlockBuilder(codec)); } CFileHeaderPB header; @@ -331,12 +331,12 @@ Status CFileWriter::AppendNullableEntries(const uint8_t *bitmap, const uint8_t *ptr = reinterpret_cast<const uint8_t *>(entries); - size_t nblock; - bool not_null = false; + size_t nitems; + bool is_null = false; BitmapIterator bmap_iter(bitmap, count); - while ((nblock = bmap_iter.Next(¬_null)) > 0) { - if (not_null) { - size_t rem = nblock; + while ((nitems = bmap_iter.Next(&is_null)) > 0) { + if (is_null) { + size_t rem = nitems; do { int n = data_block_->Add(ptr, rem); DCHECK_GE(n, 0); @@ -352,9 +352,9 @@ Status CFileWriter::AppendNullableEntries(const uint8_t *bitmap, } while (rem > 0); } else { - null_bitmap_builder_->AddRun(false, nblock); - ptr += nblock * typeinfo_->size(); - value_count_ += nblock; + null_bitmap_builder_->AddRun(false, nitems); + ptr += nitems * typeinfo_->size(); + value_count_ += nitems; } } @@ -373,7 +373,7 @@ Status CFileWriter::FinishCurDataBlock() { rowid_t first_elem_ord = value_count_ - num_elems_in_block; VLOG(1) << "Appending data block for values " << - first_elem_ord << "-" << (first_elem_ord + num_elems_in_block); + first_elem_ord << "-" << value_count_; // The current data block is full, need to push it // into the file, and add to index diff --git a/src/kudu/cfile/cfile_writer.h b/src/kudu/cfile/cfile_writer.h index 191a073..9057138 100644 --- a/src/kudu/cfile/cfile_writer.h +++ b/src/kudu/cfile/cfile_writer.h @@ -78,6 +78,7 @@ class NullBitmapBuilder { return nitems_; } + // If value parameter is true, it means that all values in this run are null void AddRun(bool value, size_t run_length = 1) { nitems_ += run_length; rle_encoder_.Put(value, run_length);
