You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ap...@apache.org on 2023/06/28 10:39:27 UTC

[arrow] branch main updated: GH-36342: [C++] Add missing move semantic to RecordBatch (#36343)

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

apitrou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 68a30f6433 GH-36342: [C++] Add missing move semantic to RecordBatch (#36343)
68a30f6433 is described below

commit 68a30f6433e65879d118707745aaed4e1a3dbd58
Author: zhjwpku <zh...@gmail.com>
AuthorDate: Wed Jun 28 18:39:17 2023 +0800

    GH-36342: [C++] Add missing move semantic to RecordBatch (#36343)
    
    
    
    ### Rationale for this change
    
    In file record_batch.cc there are some places that using move semantic can avoid coping vector or increasing reference count of shared_ptr.
    
    ### What changes are included in this PR?
    
    add std::move at some proper places
    
    ### Are these changes tested?
    
    Yes, run `ctest -R arrow-table-test` locally.
    
    ### Are there any user-facing changes?
    
    No
    
    * Closes: #36342
    
    Authored-by: Zhao Junwang <zh...@gmail.com>
    Signed-off-by: Antoine Pitrou <an...@python.org>
---
 cpp/src/arrow/record_batch.cc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/cpp/src/arrow/record_batch.cc b/cpp/src/arrow/record_batch.cc
index facc912399..3ce99d6f84 100644
--- a/cpp/src/arrow/record_batch.cc
+++ b/cpp/src/arrow/record_batch.cc
@@ -176,7 +176,8 @@ std::shared_ptr<RecordBatch> RecordBatch::Make(
     std::shared_ptr<Schema> schema, int64_t num_rows,
     std::vector<std::shared_ptr<Array>> columns) {
   DCHECK_EQ(schema->num_fields(), static_cast<int>(columns.size()));
-  return std::make_shared<SimpleRecordBatch>(std::move(schema), num_rows, columns);
+  return std::make_shared<SimpleRecordBatch>(std::move(schema), num_rows,
+                                             std::move(columns));
 }
 
 std::shared_ptr<RecordBatch> RecordBatch::Make(
@@ -194,7 +195,7 @@ Result<std::shared_ptr<RecordBatch>> RecordBatch::MakeEmpty(
     ARROW_ASSIGN_OR_RAISE(empty_batch[i],
                           MakeEmptyArray(schema->field(i)->type(), memory_pool));
   }
-  return RecordBatch::Make(schema, 0, empty_batch);
+  return RecordBatch::Make(std::move(schema), 0, std::move(empty_batch));
 }
 
 Result<std::shared_ptr<RecordBatch>> RecordBatch::FromStructArray(
@@ -391,7 +392,7 @@ Result<std::shared_ptr<RecordBatchReader>> RecordBatchReader::Make(
     schema = batches[0]->schema();
   }
 
-  return std::make_shared<SimpleRecordBatchReader>(std::move(batches), schema);
+  return std::make_shared<SimpleRecordBatchReader>(std::move(batches), std::move(schema));
 }
 
 Result<std::shared_ptr<RecordBatchReader>> RecordBatchReader::MakeFromIterator(
@@ -400,7 +401,7 @@ Result<std::shared_ptr<RecordBatchReader>> RecordBatchReader::MakeFromIterator(
     return Status::Invalid("Schema cannot be nullptr");
   }
 
-  return std::make_shared<SimpleRecordBatchReader>(std::move(batches), schema);
+  return std::make_shared<SimpleRecordBatchReader>(std::move(batches), std::move(schema));
 }
 
 RecordBatchReader::~RecordBatchReader() {