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/07/13 14:04:54 UTC
[GitHub] [arrow] lidavidm opened a new pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
lidavidm opened a new pull request #10712:
URL: https://github.com/apache/arrow/pull/10712
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] github-actions[bot] commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-879131653
https://issues.apache.org/jira/browse/ARROW-13307
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] lidavidm commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
lidavidm commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-897113295
Due to discussion on the [mailing list](https://lists.apache.org/thread.html/r7a3018672fa6752e576e17fe3dc51fb91c83b5f473d653a1f63bea2b%40%3Cdev.arrow.apache.org%3E) and here, we're not going to pursue this further. Thanks all for the input!
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] pitrou commented on a change in pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#discussion_r674084175
##########
File path: cpp/src/arrow/compute/function_internal.h
##########
@@ -112,9 +81,23 @@ static inline std::string GenericToString(const std::string& value) {
}
template <typename T>
-static inline enable_if_t<has_enum_traits<T>::value, std::string> GenericToString(
- const T value) {
- return EnumTraits<T>::value_name(value);
+static inline std::string GenericToString(const TimeUnit::type value) {
+ switch (value) {
+ case TimeUnit::type::SECOND:
+ return "SECOND";
+ case TimeUnit::type::MILLI:
+ return "MILLI";
+ case TimeUnit::type::MICRO:
+ return "MICRO";
+ case TimeUnit::type::NANO:
+ return "NANO";
Review comment:
Shouldn't we use lowercase as for other option enums?
(for example, I see you changed "Ascending" to "ascending")
##########
File path: cpp/src/arrow/compute/function_internal.h
##########
@@ -376,16 +359,31 @@ GenericFromScalar(const std::shared_ptr<Scalar>& value) {
return holder.value;
}
+template <typename T, typename U>
+using enable_if_same_result = enable_if_same<T, U, Result<T>>;
+
template <typename T>
-static inline enable_if_primitive_ctype<typename EnumTraits<T>::Type, Result<T>>
-GenericFromScalar(const std::shared_ptr<Scalar>& value) {
- ARROW_ASSIGN_OR_RAISE(auto raw_val,
- GenericFromScalar<typename EnumTraits<T>::CType>(value));
- return ValidateEnumValue<T>(raw_val);
+static inline enable_if_same_result<T, TimeUnit::type> GenericFromScalar(
+ const std::shared_ptr<Scalar>& value) {
+ ARROW_ASSIGN_OR_RAISE(auto raw_val, GenericFromScalar<int32_t>(value));
+ switch (raw_val) {
+ case static_cast<int32_t>(TimeUnit::type::SECOND):
+ return TimeUnit::type::SECOND;
+ case static_cast<int32_t>(TimeUnit::type::MILLI):
+ return TimeUnit::type::MILLI;
+ case static_cast<int32_t>(TimeUnit::type::MICRO):
+ return TimeUnit::type::MICRO;
+ case static_cast<int32_t>(TimeUnit::type::NANO):
+ return TimeUnit::type::NANO;
Review comment:
It looks bad that we have to spell this explicitly.
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] pitrou commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-884327464
I was thinking about users of the C++ compute API. With an `enum` they don't have to care about the additional `EnumTraits` scaffolding.
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] lidavidm closed pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
lidavidm closed pull request #10712:
URL: https://github.com/apache/arrow/pull/10712
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] lidavidm closed pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
lidavidm closed pull request #10712:
URL: https://github.com/apache/arrow/pull/10712
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] bkietz commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
bkietz commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-883291102
@github-actions crossbow submit -g r
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] lidavidm commented on a change in pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
lidavidm commented on a change in pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#discussion_r674112394
##########
File path: cpp/src/arrow/compute/function_internal.h
##########
@@ -376,16 +359,31 @@ GenericFromScalar(const std::shared_ptr<Scalar>& value) {
return holder.value;
}
+template <typename T, typename U>
+using enable_if_same_result = enable_if_same<T, U, Result<T>>;
+
template <typename T>
-static inline enable_if_primitive_ctype<typename EnumTraits<T>::Type, Result<T>>
-GenericFromScalar(const std::shared_ptr<Scalar>& value) {
- ARROW_ASSIGN_OR_RAISE(auto raw_val,
- GenericFromScalar<typename EnumTraits<T>::CType>(value));
- return ValidateEnumValue<T>(raw_val);
+static inline enable_if_same_result<T, TimeUnit::type> GenericFromScalar(
+ const std::shared_ptr<Scalar>& value) {
+ ARROW_ASSIGN_OR_RAISE(auto raw_val, GenericFromScalar<int32_t>(value));
+ switch (raw_val) {
+ case static_cast<int32_t>(TimeUnit::type::SECOND):
+ return TimeUnit::type::SECOND;
+ case static_cast<int32_t>(TimeUnit::type::MILLI):
+ return TimeUnit::type::MILLI;
+ case static_cast<int32_t>(TimeUnit::type::MICRO):
+ return TimeUnit::type::MICRO;
+ case static_cast<int32_t>(TimeUnit::type::NANO):
+ return TimeUnit::type::NANO;
Review comment:
Current master actually uses a trait based approach on top of enum; only the value->string conversion need be spelled out: https://github.com/apache/arrow/blob/5889ebb99bb1d13b0a108ddc993f33148651e425/cpp/src/arrow/compute/api_scalar.cc#L56-L74
This PR removes that, but doesn't convert enums outside of arrow::compute, so it spells out explicitly those enums used in FunctionOptions.
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] JohanMabille commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
JohanMabille commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-886491384
Hi,
@pitrou I think redefining the enums this way is counter intuitive for regular C++ programmers (at least it is for me, and I am used to hard core metaprogramming). Even if it removes some boilerplate, the complexity it adds to such a basic concept does not seem to be worth it (and besides it is less efficient than a traditional enum, although this might not be relevant here).
A traditional approach of enum class and operators overloading would be more "standard". Providing a traits mechanism or equivalent that users *can* use to implement these operators is a nice to have but should not be the only way to plug addtitional enums in the system.
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] bkietz commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
bkietz commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-883291102
@github-actions crossbow submit -g r
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] github-actions[bot] commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-883299718
Revision: a75604a77de76fa85b4810dea54c256781e03718
Submitted crossbow builds: [ursacomputing/crossbow @ actions-625](https://github.com/ursacomputing/crossbow/branches/all?query=actions-625)
|Task|Status|
|----|------|
|conda-linux-gcc-py36-cpu-r40|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-linux-gcc-py36-cpu-r40)|
|conda-linux-gcc-py37-cpu-r41|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-linux-gcc-py37-cpu-r41)|
|conda-osx-clang-py36-r40|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-osx-clang-py36-r40)|
|conda-osx-clang-py37-r41|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-osx-clang-py37-r41)|
|conda-win-vs2017-py36-r40|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-win-vs2017-py36-r40)|
|conda-win-vs2017-py37-r41|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-win-vs2017-py37-r41)|
|homebrew-r-autobrew|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-homebrew-r-autobrew)|
|test-r-devdocs|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-devdocs)|
|test-r-gcc-11|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-gcc-11)|
|test-r-install-local|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-install-local)|
|test-r-linux-as-cran|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-linux-as-cran)|
|test-r-linux-rchk|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-linux-rchk)|
|test-r-linux-valgrind|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-linux-valgrind)|
|test-r-minimal-build|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-minimal-build)|
|test-r-rhub-ubuntu-gcc-release-latest|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rhub-ubuntu-gcc-release-latest)|
|test-r-rocker-r-base-latest|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rocker-r-base-latest)|
|test-r-rstudio-r-base-3.6-bionic|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-bionic)|
|test-r-rstudio-r-base-3.6-centos7-devtoolset-8|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-centos7-devtoolset-8)|
|test-r-rstudio-r-base-3.6-centos8|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-centos8)|
|test-r-rstudio-r-base-3.6-opensuse15|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-opensuse15)|
|test-r-rstudio-r-base-3.6-opensuse42|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-opensuse42)|
|test-r-rtools-35|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-rtools-35)|
|test-r-ubuntu-21.04|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-ubuntu-21.04)|
|test-r-version-compatibility|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-version-compatibility)|
|test-r-versions|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-versions)|
|test-r-without-arrow|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-without-arrow)|
|test-ubuntu-18.04-r-sanitizer|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-ubuntu-18.04-r-sanitizer)|
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] pitrou commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-884950347
cc @JohanMabille for opinions.
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] github-actions[bot] commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-883299718
Revision: a75604a77de76fa85b4810dea54c256781e03718
Submitted crossbow builds: [ursacomputing/crossbow @ actions-625](https://github.com/ursacomputing/crossbow/branches/all?query=actions-625)
|Task|Status|
|----|------|
|conda-linux-gcc-py36-cpu-r40|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-linux-gcc-py36-cpu-r40)|
|conda-linux-gcc-py37-cpu-r41|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-linux-gcc-py37-cpu-r41)|
|conda-osx-clang-py36-r40|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-osx-clang-py36-r40)|
|conda-osx-clang-py37-r41|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-osx-clang-py37-r41)|
|conda-win-vs2017-py36-r40|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-win-vs2017-py36-r40)|
|conda-win-vs2017-py37-r41|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-conda-win-vs2017-py37-r41)|
|homebrew-r-autobrew|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-homebrew-r-autobrew)|
|test-r-devdocs|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-devdocs)|
|test-r-gcc-11|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-gcc-11)|
|test-r-install-local|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-install-local)|
|test-r-linux-as-cran|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-linux-as-cran)|
|test-r-linux-rchk|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-linux-rchk)|
|test-r-linux-valgrind|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-linux-valgrind)|
|test-r-minimal-build|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-minimal-build)|
|test-r-rhub-ubuntu-gcc-release-latest|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rhub-ubuntu-gcc-release-latest)|
|test-r-rocker-r-base-latest|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rocker-r-base-latest)|
|test-r-rstudio-r-base-3.6-bionic|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-bionic)|
|test-r-rstudio-r-base-3.6-centos7-devtoolset-8|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-centos7-devtoolset-8)|
|test-r-rstudio-r-base-3.6-centos8|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-centos8)|
|test-r-rstudio-r-base-3.6-opensuse15|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-opensuse15)|
|test-r-rstudio-r-base-3.6-opensuse42|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-rstudio-r-base-3.6-opensuse42)|
|test-r-rtools-35|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-rtools-35)|
|test-r-ubuntu-21.04|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-ubuntu-21.04)|
|test-r-version-compatibility|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-version-compatibility)|
|test-r-versions|[](https://github.com/ursacomputing/crossbow/actions?query=branch:actions-625-github-test-r-versions)|
|test-r-without-arrow|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-r-without-arrow)|
|test-ubuntu-18.04-r-sanitizer|[](https://dev.azure.com/ursacomputing/crossbow/_build/latest?definitionId=1&branchName=actions-625-azure-test-ubuntu-18.04-r-sanitizer)|
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] bkietz commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
bkietz commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-884326388
> I wonder if there is a way to keep the `enum` (or `enum class`) paradigm and build a separate traits-like mechanism on the side to handle automated conversions/reflection.
This is certainly possible, but doesn't reduce the boilerplate as much. Also, IMO the mental overhead of requiring subsequent developers to mimic our `EnumType` declarations is equivalent to that of requiring them to mimic `EnumTraits` specializations
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] bkietz commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
bkietz commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-884331963
Fair enough. IMO it's not too confusing to construct these from string literals, but if we determine that they're too confusing for users then we can revert to a normal `enum`. I'll write to the mailing list
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [arrow] bkietz commented on pull request #10712: ARROW-13307: [C++][Python][R] Use reflection-based enums for function options
Posted by GitBox <gi...@apache.org>.
bkietz commented on pull request #10712:
URL: https://github.com/apache/arrow/pull/10712#issuecomment-884955718
Also cc @emkornfield
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org