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


Reply via email to