Richard Sinden created IMPALA-7041: -------------------------------------- Summary: Incorrect error messages when using bind variables in ODBC Key: IMPALA-7041 URL: https://issues.apache.org/jira/browse/IMPALA-7041 Project: IMPALA Issue Type: Bug Components: Clients Affects Versions: Impala 2.10.0 Environment: Windows ODBC driver 2.5.41.1029 Reporter: Richard Sinden
If I run a valid query via ODBC/ADO.NET using a bind variable then it works fine e.g. {code:java} SELECT destination, starttime, duration, entity FROM valid_table WHERE entity = ? {code} However, if I make the query invalid by making the table name or a column name incorrect then I get the following error which appears to suggest that the ? character is the problem. {noformat} ERROR [HY000] [Cloudera][ImpalaODBC] (110) Error while executing a query in Impala: [HY000] : AnalysisException: Syntax error in line 3: WHERE entity = ? ^ Encountered: Unexpected character Expected: CASE, CAST, DEFAULT, EXISTS, FALSE, IF, INTERVAL, NOT, NULL, REPLACE, TRUNCATE, TRUE, IDENTIFIER{noformat} If I replace the bind variable with a literal string: {code:java} SELECT destination, starttime, duration, entity FROM invalid_table WHERE entity = '1234' {code} Then I get the error I would expect: {noformat} ERROR [HY000] [Cloudera][ImpalaODBC] (110) Error while executing a query in Impala: [HY000] : AnalysisException: Could not resolve table reference: 'invalid_table'{noformat} I'm working on a system where each deployment has some custom data sets and the table name can be configured by the user. If this is incorrect for any reason then this error message makes the issue very difficult for them to debug. -- This message was sent by Atlassian JIRA (v7.6.3#76005)