dynamobi/dynamobi — Issue #390: [FRG-392] Improve table/column not found error message if there's a case insensitive match
Author: dynamobi-build
Created: 2011-12-30 03:11:55+00:00
State: open
Labels: FRG, SQL Validator

[reporter="ngoodman", created="Mon, 1 Feb 2010 15:48:15 -0500 (GMT-05:00)"]
Many people aren't used to a database that uses proper ANSI identifier handling. LucidDB users get wicked tripped on it all the time.

Let's improve the error handling during the Table/Column not found exception processing where we do an additional, case insensitive check, and include this in the error message:

0: jdbc:luciddb:> select table_name from sys_root.dba_tables where table_name = 'CUSTOMER';

+-------------+

| TABLE_NAME |

+-------------+

| CUSTOMER |

+-------------+

0: jdbc:luciddb:> select * from ssb."CUSTOMEr";

Error: From line 1, column 15 to line 1, column 28: Table 'SSB.CUSTOMEr' not found (state=,code=0)

Message after implementation would read:

Error: From line 1, column 15 to line 1, column 28: Table 'SSB.CUSTOMEr' not found; a close match of 'SSB.CUSTOMER' was found; consider quoting identifier with exact case "SSB"."CUSTOMER" (state=,code=0)