This is an automated email from the ASF dual-hosted git repository.

panxiaolei 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 098bab7b30 [Bug](exchange) disable implicit conversion of block to 
bool (#22534)
098bab7b30 is described below

commit 098bab7b305b08687a711cec75951fc665a6ff64
Author: Pxl <[email protected]>
AuthorDate: Thu Aug 3 20:37:14 2023 +0800

    [Bug](exchange) disable implicit conversion of block to bool (#22534)
    
    disable implicit conversion of block to bool
---
 be/src/vec/core/block.h                     | 3 ---
 be/src/vec/core/materialize_block.cpp       | 2 +-
 be/src/vec/core/sort_block.cpp              | 8 ++++----
 be/src/vec/olap/vertical_merge_iterator.cpp | 2 +-
 be/src/vec/olap/vgeneric_iterators.cpp      | 2 +-
 be/src/vec/sink/vdata_stream_sender.cpp     | 6 +++---
 6 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/be/src/vec/core/block.h b/be/src/vec/core/block.h
index a6156f9cb1..bc794a8ff8 100644
--- a/be/src/vec/core/block.h
+++ b/be/src/vec/core/block.h
@@ -227,9 +227,6 @@ public:
     /// Approximate number of allocated bytes in memory - for profiling and 
limits.
     size_t allocated_bytes() const;
 
-    operator bool() const { return !!columns(); }
-    bool operator!() const { return !this->operator bool(); }
-
     /** Get a list of column names separated by commas. */
     std::string dump_names() const;
 
diff --git a/be/src/vec/core/materialize_block.cpp 
b/be/src/vec/core/materialize_block.cpp
index 294800202d..b48d140f32 100644
--- a/be/src/vec/core/materialize_block.cpp
+++ b/be/src/vec/core/materialize_block.cpp
@@ -28,7 +28,7 @@
 namespace doris::vectorized {
 
 Block materialize_block(const Block& block) {
-    if (!block) return block;
+    if (!block.columns()) return block;
 
     Block res = block;
     size_t columns = res.columns();
diff --git a/be/src/vec/core/sort_block.cpp b/be/src/vec/core/sort_block.cpp
index e31b18a9fc..be1068962e 100644
--- a/be/src/vec/core/sort_block.cpp
+++ b/be/src/vec/core/sort_block.cpp
@@ -64,7 +64,7 @@ struct PartialSortingLess {
 
 void sort_block(Block& src_block, Block& dest_block, const SortDescription& 
description,
                 UInt64 limit) {
-    if (!src_block) {
+    if (!src_block.columns()) {
         return;
     }
 
@@ -119,7 +119,7 @@ void sort_block(Block& src_block, Block& dest_block, const 
SortDescription& desc
 
 void stable_get_permutation(const Block& block, const SortDescription& 
description,
                             IColumn::Permutation& out_permutation) {
-    if (!block) {
+    if (!block.columns()) {
         return;
     }
 
@@ -137,7 +137,7 @@ void stable_get_permutation(const Block& block, const 
SortDescription& descripti
 }
 
 bool is_already_sorted(const Block& block, const SortDescription& description) 
{
-    if (!block) {
+    if (!block.columns()) {
         return true;
     }
 
@@ -173,7 +173,7 @@ bool is_already_sorted(const Block& block, const 
SortDescription& description) {
 }
 
 void stable_sort_block(Block& block, const SortDescription& description) {
-    if (!block) {
+    if (!block.columns()) {
         return;
     }
 
diff --git a/be/src/vec/olap/vertical_merge_iterator.cpp 
b/be/src/vec/olap/vertical_merge_iterator.cpp
index 27bcc4f8e0..6e84c5f2b1 100644
--- a/be/src/vec/olap/vertical_merge_iterator.cpp
+++ b/be/src/vec/olap/vertical_merge_iterator.cpp
@@ -240,7 +240,7 @@ Status RowSourcesBuffer::_deserialize() {
 
 // ----------  vertical merge iterator context ----------//
 Status VerticalMergeIteratorContext::block_reset(const std::shared_ptr<Block>& 
block) {
-    if (!*block) {
+    if (!block->columns()) {
         const Schema& schema = _iter->schema();
         const auto& column_ids = schema.column_ids();
         for (size_t i = 0; i < schema.num_column_ids(); ++i) {
diff --git a/be/src/vec/olap/vgeneric_iterators.cpp 
b/be/src/vec/olap/vgeneric_iterators.cpp
index 7431d2f758..f3f33c12fd 100644
--- a/be/src/vec/olap/vgeneric_iterators.cpp
+++ b/be/src/vec/olap/vgeneric_iterators.cpp
@@ -89,7 +89,7 @@ Status VStatisticsIterator::next_batch(Block* block) {
 }
 
 Status VMergeIteratorContext::block_reset(const std::shared_ptr<Block>& block) 
{
-    if (!*block) {
+    if (!block->columns()) {
         const Schema& schema = _iter->schema();
         const auto& column_ids = schema.column_ids();
         for (size_t i = 0; i < schema.num_column_ids(); ++i) {
diff --git a/be/src/vec/sink/vdata_stream_sender.cpp 
b/be/src/vec/sink/vdata_stream_sender.cpp
index d7ccbade32..ec7226dec7 100644
--- a/be/src/vec/sink/vdata_stream_sender.cpp
+++ b/be/src/vec/sink/vdata_stream_sender.cpp
@@ -686,15 +686,15 @@ Status VDataStreamSender::close(RuntimeState* state, 
Status exec_status) {
         {
             // send last block
             SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
-            if (_serializer->get_block() && _serializer->get_block()->rows() > 
0) {
-                auto block = _serializer->get_block()->to_block();
+            if (_serializer && _serializer->get_block() && 
_serializer->get_block()->rows() > 0) {
+                Block block = _serializer->get_block()->to_block();
                 RETURN_IF_ERROR(
                         _serializer->serialize_block(&block, _cur_pb_block, 
_channels.size()));
                 Status status;
                 for (auto channel : _channels) {
                     if (!channel->is_receiver_eof()) {
                         if (channel->is_local()) {
-                            status = channel->send_local_block(block);
+                            status = channel->send_local_block(&block);
                         } else {
                             SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
                             status = channel->send_block(_cur_pb_block, false);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to