[ https://issues.apache.org/jira/browse/IMPALA-10929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Becker resolved IMPALA-10929. ------------------------------------ Resolution: Duplicate > Optimise memory usage of structs in tuples > ------------------------------------------ > > Key: IMPALA-10929 > URL: https://issues.apache.org/jira/browse/IMPALA-10929 > Project: IMPALA > Issue Type: Improvement > Components: Frontend > Reporter: Daniel Becker > Assignee: Daniel Becker > Priority: Major > > If we have both a whole struct and one of its members (or a member of a > member etc.) in the select list, the whole struct and the member are assigned > to different slots in the tuple. We could use less memory if the member > expression used the slot within the whole struct instead. > Example: > For the query > {code:java} > select id, outer_struct from functional_orc_def.complextypes_nested_structs; > {code} > the row size is 64B, while for > {code:java} > select id, outer_struct, outer_struct.inner_struct2 from > functional_orc_def.complextypes_nested_structs; > {code} > it is 80B, although it should not need more memory. > It is not limited to the select list, it should also work with where clauses > etc., for example > {code:java} > select id, outer_struct from functional_orc_def.complextypes_nested_structs > where outer_struct.inner_struct2.i > 1; > {code} > should also have a row size of 64B instead of 68B. -- This message was sent by Atlassian Jira (v8.20.7#820007)