rtpsw commented on code in PR #34156:
URL: https://github.com/apache/arrow/pull/34156#discussion_r1107481107
##########
python/pyarrow/includes/libarrow_substrait.pxd:
##########
@@ -34,10 +51,27 @@ cdef extern from "arrow/engine/substrait/options.h"
namespace "arrow::engine" no
BEST_EFFORT \
"arrow::engine::ConversionStrictness::BEST_EFFORT"
+ cdef cppclass CExtensionDetails \
+ "arrow::engine::ExtensionDetails"
+
+ cdef cppclass CExtensionProvider \
+ "arrow::engine::ExtensionProvider":
+ CResult[CRelationInfo] MakeRel(
+ const CConversionOptions conv_opts,
+ const vector[CDeclarationInfo]& inputs,
+ const CExtensionDetails& ext_details,
+ const CExtensionSet& ext_set)
+
+ cdef shared_ptr[CExtensionProvider] default_extension_provider()
+ cdef void set_default_extension_provider(
+ const shared_ptr[CExtensionProvider]& provider)
+
cdef cppclass CConversionOptions \
"arrow::engine::ConversionOptions":
+ CConversionOptions()
ConversionStrictness conversion_strictness
function[CNamedTableProvider] named_table_provider
Review Comment:
> (Although I am not sure which one Pyarrow generally follows)
I don't know myself, but my guess is it is mixed. You'd probably find pretty
much all public Arrow symbols in PyArrow, but not all in sub-components like
Arrow Substrait.
> Does fixing the bug require exposing extension_provider in here?
The bug is due to `ConversionOptions` default constructor, so it has to be
exposed. I'll check if the bug is fixed with a minimal change including it that
I can get to compile.
--
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]