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