mirror of
https://github.com/apache/impala.git
synced 2026-01-09 15:00:11 -05:00
The bug was that the analysis of a WITH-clause view containing a relative table ref would register a collection-typed slot in the parent tuple descriptor of that relative table ref. The problem is that we use a dummy analyzer with a fresh global state for the WITH-clause analysis. Since the descriptor table is part of the global state, it was possible that we'd register a collection-typed slot with an item tuple id that was the same as the parent tuple id (or another arbitrary tuple id that has no meaning in the parent tuple). This parent/item tuple with the same id lead to an infinite recursion in the backend. The fix is to not register collection-typed slots in parent tuples when analyzing a relative table ref inside a WITH-clause view. I added a new flag to the analyzer to indicate whether it is analyzing a WITH-clause view. Change-Id: Ifc1bdebe4577a959aec1f6bb89a73eaa37562458 Reviewed-on: http://gerrit.cloudera.org:8080/1021 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins