You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/04/08 12:36:41 UTC

[GitHub] [arrow] itamarst commented on a change in pull request #9631: ARROW-11644: [Python][Parquet] Low-level Parquet decryption in Python

itamarst commented on a change in pull request #9631:
URL: https://github.com/apache/arrow/pull/9631#discussion_r609650409



##########
File path: cpp/src/parquet/encryption/encryption.h
##########
@@ -70,6 +70,26 @@ class PARQUET_EXPORT StringKeyIdRetriever : public DecryptionKeyRetriever {
   std::map<std::string, std::string> key_map_;
 };
 
+// Function variant of DecryptionKeyRetriever, taking a state object.

Review comment:
       First, I should note that I'm not sure this is temporary API. The client paying for me to write this examined the high-level API and decided it didn't add anything they cared about, so from their perspective they actively want to use the low-level API.
   
   Second, this is the place where Cython's unfortunate (lack of) C++ integration comes in. It's not possible to subclass a C++ class in Cython, which is why I had to create a new C++ class that can dispatch to a function. The new C++ class could, of course, be placed somewhere elseā€”it doesn't have to be part of the Parquet public API. In theory I could put it somewhere Cython specific and then just need to convince CMake to load it. I put it in the public API on theory someone else might end up wrapping the API in a language that is tied to C rather than C++.




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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org