github-actions[bot] commented on code in PR #28673:
URL: https://github.com/apache/doris/pull/28673#discussion_r1479242392


##########
be/src/olap/rowset/segment_v2/segment.cpp:
##########
@@ -426,6 +443,22 @@ static Status new_default_iterator(const TabletColumn& 
tablet_column,
     return Status::OK();
 }
 
+Status Segment::_new_iterator_with_variant_root(const TabletColumn& 
tablet_column,
+                                                
std::unique_ptr<ColumnIterator>* iter,
+                                                const 
SubcolumnColumnReaders::Node* root,
+                                                vectorized::DataTypePtr 
target_type_hint) {
+    ColumnIterator* it;
+    RETURN_IF_ERROR(root->data.reader->new_iterator(&it));
+    auto stream_iter = new ExtractReader(
+            tablet_column,
+            
std::make_unique<StreamReader>(root->data.file_column_type->create_column(),
+                                           std::unique_ptr<ColumnIterator>(it),
+                                           root->data.file_column_type),
+            target_type_hint);
+    iter->reset(stream_iter);
+    return Status::OK();
+}
+
 Status Segment::new_column_iterator_with_path(const TabletColumn& 
tablet_column,

Review Comment:
   warning: function 'new_column_iterator_with_path' has cognitive complexity 
of 87 (threshold 50) [readability-function-cognitive-complexity]
   ```cpp
   Status Segment::new_column_iterator_with_path(const TabletColumn& 
tablet_column,
                   ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **be/src/olap/rowset/segment_v2/segment.cpp:465:** +1, including nesting 
penalty of 0, nesting level increased to 1
   ```cpp
       if (tablet_column.path_info().empty()) {
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:468:** +1, nesting level 
increased to 1
   ```cpp
       } else {
         ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:474:** +1, including nesting 
penalty of 0, nesting level increased to 1
   ```cpp
       if (opt != nullptr && opt->io_ctx.reader_type == 
ReaderType::READER_ALTER_TABLE) {
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:474:** +1
   ```cpp
       if (opt != nullptr && opt->io_ctx.reader_type == 
ReaderType::READER_ALTER_TABLE) {
                          ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:476:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           if (node == nullptr) {
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:478:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               RETURN_IF_ERROR(new_default_iterator(tablet_column, iter));
               ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:478:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
               RETURN_IF_ERROR(new_default_iterator(tablet_column, iter));
               ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:485:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           RETURN_IF_ERROR(HierarchicalDataReader::create(iter, 
tablet_column.path_info(), node, root,
           ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:485:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
           RETURN_IF_ERROR(HierarchicalDataReader::create(iter, 
tablet_column.path_info(), node, root,
           ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:490:** +1, including nesting 
penalty of 0, nesting level increased to 1
   ```cpp
       if (opt == nullptr || opt->io_ctx.reader_type != 
ReaderType::READER_QUERY) {
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:490:** +1
   ```cpp
       if (opt == nullptr || opt->io_ctx.reader_type != 
ReaderType::READER_QUERY) {
                          ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:493:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           if (!node) {
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:495:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               if (sparse_node != nullptr && sparse_node->is_leaf_node()) {
               ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:495:** +1
   ```cpp
               if (sparse_node != nullptr && sparse_node->is_leaf_node()) {
                                          ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:496:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   RETURN_IF_ERROR(_new_iterator_with_variant_root(
                   ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:496:** +5, including nesting 
penalty of 4, nesting level increased to 5
   ```cpp
                   RETURN_IF_ERROR(_new_iterator_with_variant_root(
                   ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:498:** +1, nesting level 
increased to 3
   ```cpp
               } else {
                 ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:499:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   RETURN_IF_ERROR(new_default_iterator(tablet_column, iter));
                   ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:499:** +5, including nesting 
penalty of 4, nesting level increased to 5
   ```cpp
                   RETURN_IF_ERROR(new_default_iterator(tablet_column, iter));
                   ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:504:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           RETURN_IF_ERROR(node->data.reader->new_iterator(&it));
           ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:504:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
           RETURN_IF_ERROR(node->data.reader->new_iterator(&it));
           ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:509:** +1, including nesting 
penalty of 0, nesting level increased to 1
   ```cpp
       if (node != nullptr) {
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:510:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           if (node->is_leaf_node() && sparse_node == nullptr) {
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:510:** +1
   ```cpp
           if (node->is_leaf_node() && sparse_node == nullptr) {
                                    ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:515:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               RETURN_IF_ERROR(node->data.reader->new_iterator(&it));
               ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:515:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
               RETURN_IF_ERROR(node->data.reader->new_iterator(&it));
               ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:517:** +1, nesting level 
increased to 2
   ```cpp
           } else {
             ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:520:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               RETURN_IF_ERROR(
               ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:520:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
               RETURN_IF_ERROR(
               ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:523:** +1, nesting level 
increased to 1
   ```cpp
       } else {
         ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:525:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           if (sparse_node != nullptr) {
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:527:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               RETURN_IF_ERROR(_new_iterator_with_variant_root(tablet_column, 
iter, root,
               ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:527:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
               RETURN_IF_ERROR(_new_iterator_with_variant_root(tablet_column, 
iter, root,
               ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:529:** +1, nesting level 
increased to 2
   ```cpp
           } else {
             ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:531:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               RETURN_IF_ERROR(new_default_iterator(tablet_column, iter));
               ^
   ```
   **be/src/common/status.h:541:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
       do {                                \
       ^
   ```
   **be/src/olap/rowset/segment_v2/segment.cpp:531:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
               RETURN_IF_ERROR(new_default_iterator(tablet_column, iter));
               ^
   ```
   **be/src/common/status.h:543:** expanded from macro 'RETURN_IF_ERROR'
   ```cpp
           if (UNLIKELY(!_status_.ok())) { \
           ^
   ```
   
   </details>
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to