Copilot commented on code in PR #51685:
URL: https://github.com/apache/arrow/pull/51685#discussion_r4164943890


##########
cpp/src/parquet/column_writer.h:
##########
@@ -127,10 +131,11 @@ class PARQUET_EXPORT ColumnWriter {
  public:
   virtual ~ColumnWriter() = default;
 
-  static std::shared_ptr<ColumnWriter> Make(ColumnChunkMetaDataBuilder*,
-                                            std::unique_ptr<PageWriter>,
-                                            const WriterProperties* properties,
-                                            BloomFilter* bloom_filter = 
NULLPTR);
+  /// The column writer chunks the data only if it has a content defined 
chunker.
+  static std::shared_ptr<ColumnWriter> Make(
+      ColumnChunkMetaDataBuilder*, std::unique_ptr<PageWriter>,
+      const WriterProperties* properties, BloomFilter* bloom_filter = NULLPTR,
+      internal::ContentDefinedChunker* content_defined_chunker = NULLPTR);

Review Comment:
   Replacing the exported four-argument `Make` with this five-argument 
signature breaks the C++ ABI because the default argument does not preserve the 
old mangled symbol. It also makes existing source calls pass null, so 
CDC-enabled `WriterProperties` no longer create a chunker and silently stop 
content-defined chunking. Preserve the existing factory (including 
owned-chunker creation) and add a separate internal overload for the file-owned 
chunker; cover the public factory path with a regression test.



-- 
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