Aman Sinha created OPTIQ-439:
--------------------------------
Summary: SqlValidatorUtil.uniquify() may not terminate under some
conditions
Key: OPTIQ-439
URL: https://issues.apache.org/jira/browse/OPTIQ-439
Project: Optiq
Issue Type: Bug
Affects Versions: 0.9.0-incubating
Reporter: Aman Sinha
Assignee: Julian Hyde
The uniquify(String, Set<String>, Suggester) method in SqlValidatorUtil tries
to create a unique name for the supplied name. It does it inside the following
loop which does not have an upper bound check. If the suggester returns a name
that already exists in the nameList, then the loop will never terminate. I
encountered this issue while doing some testing with a 3 way join query in
Drill against text data.
{code:sql}
for (int j = 0;; j++) {
name = suggester.apply(originalName, j, nameList.size());
if (nameList.add(name)) {
return name;
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)