You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/07/29 08:49:05 UTC
[doris] branch master updated: [refactor](be)remove redundant code in column writer (#10915)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 934fe77c06 [refactor](be)remove redundant code in column writer (#10915)
934fe77c06 is described below
commit 934fe77c0604b70245f209a8b9661ae18079b2c8
Author: AlexYue <yj...@qq.com>
AuthorDate: Fri Jul 29 16:48:59 2022 +0800
[refactor](be)remove redundant code in column writer (#10915)
---
be/src/olap/rowset/segment_v2/column_writer.cpp | 31 +++++++------------------
be/src/olap/rowset/segment_v2/column_writer.h | 20 ++++------------
2 files changed, 13 insertions(+), 38 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/column_writer.cpp b/be/src/olap/rowset/segment_v2/column_writer.cpp
index cabc27605f..1d7bee6271 100644
--- a/be/src/olap/rowset/segment_v2/column_writer.cpp
+++ b/be/src/olap/rowset/segment_v2/column_writer.cpp
@@ -336,20 +336,20 @@ Status ScalarColumnWriter::append_data(const uint8_t** ptr, size_t num_rows) {
return Status::OK();
}
-Status ScalarColumnWriter::append_data_in_current_page(const uint8_t** ptr, size_t* num_written) {
- RETURN_IF_ERROR(_page_builder->add(*ptr, num_written));
+Status ScalarColumnWriter::append_data_in_current_page(const uint8_t* data, size_t* num_written) {
+ RETURN_IF_ERROR(_page_builder->add(data, num_written));
if (_opts.need_zone_map) {
- _zone_map_index_builder->add_values(*ptr, *num_written);
+ _zone_map_index_builder->add_values(data, *num_written);
}
if (_opts.need_bitmap_index) {
- _bitmap_index_builder->add_values(*ptr, *num_written);
+ _bitmap_index_builder->add_values(data, *num_written);
}
if (_opts.need_bloom_filter) {
- _bloom_filter_index_builder->add_values(*ptr, *num_written);
+ _bloom_filter_index_builder->add_values(data, *num_written);
}
_next_rowid += *num_written;
- *ptr += get_field()->size() * (*num_written);
+
// we must write null bits after write data, because we don't
// know how many rows can be written into current page
if (is_nullable()) {
@@ -358,22 +358,9 @@ Status ScalarColumnWriter::append_data_in_current_page(const uint8_t** ptr, size
return Status::OK();
}
-Status ScalarColumnWriter::append_data_in_current_page(const uint8_t* ptr, size_t* num_written) {
- RETURN_IF_ERROR(_page_builder->add(ptr, num_written));
- if (_opts.need_zone_map) {
- _zone_map_index_builder->add_values(ptr, *num_written);
- }
- if (_opts.need_bitmap_index) {
- _bitmap_index_builder->add_values(ptr, *num_written);
- }
- if (_opts.need_bloom_filter) {
- _bloom_filter_index_builder->add_values(ptr, *num_written);
- }
-
- _next_rowid += *num_written;
- if (is_nullable()) {
- _null_bitmap_builder->add_run(false, *num_written);
- }
+Status ScalarColumnWriter::append_data_in_current_page(const uint8_t** data, size_t* num_written) {
+ RETURN_IF_ERROR(append_data_in_current_page(*data, num_written));
+ *data += get_field()->size() * (*num_written);
return Status::OK();
}
diff --git a/be/src/olap/rowset/segment_v2/column_writer.h b/be/src/olap/rowset/segment_v2/column_writer.h
index a5c2442a24..2c3ea79781 100644
--- a/be/src/olap/rowset/segment_v2/column_writer.h
+++ b/be/src/olap/rowset/segment_v2/column_writer.h
@@ -133,12 +133,6 @@ public:
// used for append not null data.
virtual Status append_data(const uint8_t** ptr, size_t num_rows) = 0;
- // used for append not null data. When page is full, will append data not reach num_rows.
- virtual Status append_data_in_current_page(const uint8_t** ptr, size_t* num_rows) = 0;
-
- // used for append not null data. When page is full, will append data not reach num_rows.
- virtual Status append_data_in_current_page(const uint8_t* ptr, size_t* num_rows) = 0;
-
bool is_nullable() const { return _is_nullable; }
Field* get_field() const { return _field.get(); }
@@ -188,8 +182,10 @@ public:
}
Status append_data(const uint8_t** ptr, size_t num_rows) override;
- Status append_data_in_current_page(const uint8_t** ptr, size_t* num_rows) override;
- Status append_data_in_current_page(const uint8_t* ptr, size_t* num_rows) override;
+ // used for append not null data. When page is full, will append data not reach num_rows.
+ Status append_data_in_current_page(const uint8_t** ptr, size_t* num_written);
+
+ Status append_data_in_current_page(const uint8_t* ptr, size_t* num_written);
private:
std::unique_ptr<PageBuilder> _page_builder;
@@ -267,14 +263,6 @@ public:
Status init() override;
Status append_data(const uint8_t** ptr, size_t num_rows) override;
- Status append_data_in_current_page(const uint8_t** ptr, size_t* num_rows) override {
- return Status::NotSupported(
- "array writer has no data, can not append_data_in_current_page");
- }
- Status append_data_in_current_page(const uint8_t* ptr, size_t* num_rows) override {
- return Status::NotSupported(
- "array writer has no data, can not append_data_in_current_page");
- }
uint64_t estimate_buffer_size() override;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org