-
Vincent Pelletier authored
_getSelectDict was also calling itself on sub-sql_expressions, but this was useless: they would already have called it, and discarded one of its returned values. Instead, preserve both returned values in __init__ and access these attributes directly when iterating over sub-sql_expressions. Also, fold canMergeSelectDict back into its only 2 call places, saving one getattr and one call. Also, get rid of a few properties which were only used in _getSelectDict. Also, get rid of two iterable copies: sql_expression_list when it is already a list (no need to cast it again to a list, we just built one with the list comprehension), and select_dict being cast into a list when entering _getSelectDict, despite not being used (besides in extra _getSelectDict calls, which are now entirely avoided).
028060e6