Joe McDonnell created IMPALA-11975:
--------------------------------------
Summary: Fix dictionary methods that became lazy
Key: IMPALA-11975
URL: https://issues.apache.org/jira/browse/IMPALA-11975
Project: IMPALA
Issue Type: Sub-task
Components: Infrastructure
Affects Versions: Impala 4.3.0
Reporter: Joe McDonnell
Dictionary methods like items, keys, values became lazy, similar to the other
list functions. Existing code that relies on these methods producing lists
immediately need to wrap the call in list(). The old iter* methods have been
removed, so that code needs to be fixed up.
See: [https://python-future.org/compatible_idioms.html#dictionaries]
Replacing the iter* methods with the non-iter equivalent works fine in Python 3
(e.g. iteritems() becomes items()), but it is less efficient on Python 2. This
is annoying, but since our Python code is not very performance sensitive and
our intention is to remove Python 2, it doesn't seem useful to do complicated
things to avoid it.
This corresponds to these Pylint checks:
dict-iter-method
dict-keys-not-iterating
dict-values-not-iterating
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]