-
Notifications
You must be signed in to change notification settings - Fork 816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove DictionaryArray::keys_array #391
Comments
@alamb for the release process would it be best to create two consecutive PRs? The first marking the method as deprecated, which can be cherry picked into the branch, and then a followup one which deletes the method in the master branch. Or should we go with a longer deprecation period? |
@jhorstmann my plan was just to release I just don't want to push an incompatible API change to a release that By releasing as part of 5.0 projects will have to explicitly update to |
AFAI understand, @jhorstmann 's point is that we can create two commits: a backward compatible one that adds a "deprecated", which can be released in 4.X, and a follow-up one backward incompatible one that removes the method. This way, we can cherry-pick the first one into 4.X, informing users about the deprecation, and then remove the method in 5.X. |
As long as whatever deprecation warning we add does not break CI for people (e.g. who have clippy set to make errors out of warnings) I think a PR to I have had the unpleasant experience of my projects breaking due to some new release of a python package being published upstream and my CI picked it up automatically and started failing when we had made no changes to my code. |
The
keys_array
method is a performance pitfall if used in inner loops like in a group by operation. At the time the method was added, the relatedkeys
method was returning an iterator, making it difficult to randomly access elements. Since then the code was refactored so thatkeys
already returns a reference to an Array, which has much less overhead than the code inkeys_array
.This means the
keys_array
method can be removed and its usages directly replaced withkeys
.This would be a backwards incompatible change. For the stable release branch we can think of marking the method as deprecated and direct users to
keys
instead, which might updates to the next major release then less painful.The text was updated successfully, but these errors were encountered: