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)