WangSheng created IMPALA-8497:
---------------------------------
Summary: SQL return ArrayIndexOutOfBoundsException when ends with
'\n'
Key: IMPALA-8497
URL: https://issues.apache.org/jira/browse/IMPALA-8497
Project: IMPALA
Issue Type: Bug
Components: Frontend
Affects Versions: Impala 3.2.0
Reporter: WangSheng
When submit sql with jdbc in code, those sqls return
"ArrayIndexOutOfBoundsException" instead of "Syntax error":
{code:java}
show\n
select\n
{code}
This is mainly caused by code below:
{code:java}
//sql-parser.cup
public String getErrorMsg(String stmt) {
if (errorToken_ == null || stmt == null) return null;
String[] lines = stmt.split("\n");
StringBuffer result = new StringBuffer();
result.append(getErrorTypeMessage(errorToken_.sym) + " in line ");
result.append(errorToken_.left);
result.append(":\n");
// errorToken_.left is the line number of error.
// errorToken_.right is the column number of the error.
String errorLine = lines[errorToken_.left - 1];
//......
{code}
because these sqls are ends with '\n', the length of 'lines' array is small
than 'errorToken_.left - 1', and thus throw ArrayIndexOutOfBoundsException, and
this exception cannot be catched.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]