You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "WangSheng (JIRA)" <ji...@apache.org> on 2019/05/06 12:14:00 UTC
[jira] [Created] (IMPALA-8497) SQL return
ArrayIndexOutOfBoundsException when ends with '\n'
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)