alkis commented on code in PR #42174:
URL: https://github.com/apache/arrow/pull/42174#discussion_r1684249380


##########
cpp/tools/parquet/CMakeLists.txt:
##########
@@ -32,5 +32,16 @@ if(PARQUET_BUILD_EXECUTABLES)
             RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
   endforeach(TOOL)
 
+  # Only build parquet-dump-footer when statically linking.

Review Comment:
   > For example, you could instantiate a FileMetaData object from the 
serialized metadata, and implement a FileMetaData::ScrubSensitiveData method 
that does what you want. FileMetaData has a SerializeToString method that 
reencodes to Thrift, and you could add another SerializeToJson method.
   
   Ah now I see. You want to use `FileMetaData` and not `format::FileMetaData`. 
I opted from not exposing `Scrub` because it is much harder to implement if we 
want to preserve `FileMetaDataImpl` invariants - `schema_` would get out of 
sync with the `metadata_`. I opted from a function that serializes the metadata 
unencrypted and takes options to enable scrubbing and/or json.
   
   > It's not even about shipping the tools, it's about getting working tools 
on developers' workstation without having to be forced into static linking. I'm 
also not sure static linking works properly on Windows... and it tends to blow 
up file size a lot.
   
   FWIW the size of this particular statically linked executable is 200kb. 
Unfortunately I don't have a windows machine to test it there how large it 
would be... 🤷



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