[
https://issues.apache.org/jira/browse/OPTIQ-439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14172819#comment-14172819
]
Julian Hyde commented on OPTIQ-439:
-----------------------------------
I was going to say that it was not my problem, it was the fault of the person
that wrote the suggester -- then I see that I wrote the suggester. :)
I'll fix it.
Do you have a SQL query as test case, or other suggestion how to reproduce the
problem?
> 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)