On Sun, Apr 5, 2015 at 12:16 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> A newbie error that we see *constantly* is misunderstanding identifier
> case-folding rules. ISTM that commit e529cd4ff missed a chance to help
> with that. You do get a hint for this:
>
> regression=# create table t1 (foo int, "Bar" int);
> CREATE TABLE
> regression=# select bar from t1;
> ERROR: column "bar" does not exist
> LINE 1: select bar from t1;
> ^
> HINT: Perhaps you meant to reference the column "t1"."Bar".
>
> but apparently it's just treating that as a vanilla one-mistyped-character
> error, because there's no hint for this:
>
> regression=# create table t2 (foo int, "BAR" int);
> CREATE TABLE
> regression=# select BAR from t2;
> ERROR: column "bar" does not exist
> LINE 1: select BAR from t2;
> ^
>
> I think this hint might be a lot more useful if its comparison mechanism
> were case-insensitive.
If you want to make that change, I will not object.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company