westonpace commented on code in PR #35860:
URL: https://github.com/apache/arrow/pull/35860#discussion_r1213346867
##########
cpp/src/arrow/dataset/file_base.h:
##########
@@ -463,13 +463,21 @@ struct ARROW_DS_EXPORT FileSystemDatasetWriteOptions {
/// \brief Wraps FileSystemDatasetWriteOptions for consumption as
compute::ExecNodeOptions
class ARROW_DS_EXPORT WriteNodeOptions : public acero::ExecNodeOptions {
public:
- explicit WriteNodeOptions(
- FileSystemDatasetWriteOptions options,
- std::shared_ptr<const KeyValueMetadata> custom_metadata = NULLPTR)
- : write_options(std::move(options)),
custom_metadata(std::move(custom_metadata)) {}
+ explicit WriteNodeOptions(FileSystemDatasetWriteOptions options,
+ std::shared_ptr<Schema> custom_schema = NULLPTR)
Review Comment:
Good catch. Going forwards, the rule I would like to follow is:
* There is only one constructor and it contains each required field.
Trying to include optional fields gets a bit crazy (look at
`HashJoinNodeOptions`).
However, you are absolutely right. For backwards compatibility purposes
this legacy constructor should remain as-is.
--
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]