kou commented on code in PR #40768:
URL: https://github.com/apache/arrow/pull/40768#discussion_r1536950188


##########
cpp/src/parquet/file_writer.cc:
##########
@@ -292,36 +290,34 @@ class RowGroupSerializer : public 
RowGroupWriter::Contents {
       auto col_meta = metadata_->NextColumnChunk();
       const auto& path = col_meta->descr()->path();
       const int32_t column_ordinal = next_column_index_++;
+      const ColumnProperties& column_properties = 
properties_->column_properties(path);
       auto meta_encryptor =
           file_encryptor_ ? 
file_encryptor_->GetColumnMetaEncryptor(path->ToDotString())
                           : nullptr;
       auto data_encryptor =
           file_encryptor_ ? 
file_encryptor_->GetColumnDataEncryptor(path->ToDotString())
                           : nullptr;
-      auto ci_builder = page_index_builder_ && 
properties_->page_index_enabled(path)
+      auto ci_builder = page_index_builder_ && 
column_properties.page_index_enabled()
                             ? 
page_index_builder_->GetColumnIndexBuilder(column_ordinal)
                             : nullptr;
-      auto oi_builder = page_index_builder_ && 
properties_->page_index_enabled(path)
+      auto oi_builder = page_index_builder_ && 
column_properties.page_index_enabled()
                             ? 
page_index_builder_->GetOffsetIndexBuilder(column_ordinal)
                             : nullptr;
-      auto codec_options = properties_->codec_options(path)
-                               ? (properties_->codec_options(path)).get()
-                               : nullptr;
 
-      std::unique_ptr<PageWriter> pager;
+      const CodecOptions* codec_options = column_properties.codec_options()
+                                              ? 
column_properties.codec_options().get()
+                                              : nullptr;
+      CodecOptions default_codec_options;
       if (!codec_options) {
-        pager = PageWriter::Open(
-            sink_, properties_->compression(path), col_meta, 
row_group_ordinal_,
-            static_cast<int16_t>(column_ordinal), properties_->memory_pool(),
-            buffered_row_group_, meta_encryptor, data_encryptor,
-            properties_->page_checksum_enabled(), ci_builder, oi_builder, 
CodecOptions());
-      } else {
-        pager = PageWriter::Open(
-            sink_, properties_->compression(path), col_meta, 
row_group_ordinal_,
-            static_cast<int16_t>(column_ordinal), properties_->memory_pool(),
-            buffered_row_group_, meta_encryptor, data_encryptor,
-            properties_->page_checksum_enabled(), ci_builder, oi_builder, 
*codec_options);
+        codec_options = &default_codec_options;
       }
+      DCHECK_NE(nullptr, codec_options);
+      std::unique_ptr<PageWriter> pager = PageWriter::Open(

Review Comment:
   `auto`?
   
   ```suggestion
         auto pager = PageWriter::Open(
   ```



##########
cpp/src/parquet/file_writer.cc:
##########
@@ -140,37 +140,35 @@ class RowGroupSerializer : public 
RowGroupWriter::Contents {
 
     const int32_t column_ordinal = next_column_index_++;
     const auto& path = col_meta->descr()->path();
+    const ColumnProperties& column_properties = 
properties_->column_properties(path);

Review Comment:
   `auto`?
   
   ```suggestion
       const auto& column_properties = properties_->column_properties(path);
   ```



##########
cpp/src/parquet/file_writer.cc:
##########
@@ -140,37 +140,35 @@ class RowGroupSerializer : public 
RowGroupWriter::Contents {
 
     const int32_t column_ordinal = next_column_index_++;
     const auto& path = col_meta->descr()->path();
+    const ColumnProperties& column_properties = 
properties_->column_properties(path);
     auto meta_encryptor =
         file_encryptor_ ? 
file_encryptor_->GetColumnMetaEncryptor(path->ToDotString())
                         : nullptr;
     auto data_encryptor =
         file_encryptor_ ? 
file_encryptor_->GetColumnDataEncryptor(path->ToDotString())
                         : nullptr;
-    auto ci_builder = page_index_builder_ && 
properties_->page_index_enabled(path) &&
-                              properties_->statistics_enabled(path)
+    auto ci_builder = page_index_builder_ && 
column_properties.page_index_enabled() &&
+                              column_properties.statistics_enabled()
                           ? 
page_index_builder_->GetColumnIndexBuilder(column_ordinal)
                           : nullptr;
-    auto oi_builder = page_index_builder_ && 
properties_->page_index_enabled(path)
+    auto oi_builder = page_index_builder_ && 
column_properties.page_index_enabled()
                           ? 
page_index_builder_->GetOffsetIndexBuilder(column_ordinal)
                           : nullptr;
-    auto codec_options = properties_->codec_options(path)
-                             ? properties_->codec_options(path).get()
-                             : nullptr;
+    const CodecOptions* codec_options = column_properties.codec_options()

Review Comment:
   Should we use explicit type here? Can we use `auto` here?
   
   ```suggestion
       const auto* codec_options = column_properties.codec_options()
   ```



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to