BUG: DatabaseMetaData.getColumns isn't case insensitive

From: maly(dot)velky(at)email(dot)cz
To: pgsql-jdbc(at)postgresql(dot)org
Subject: BUG: DatabaseMetaData.getColumns isn't case insensitive
Date: 2009-02-02 13:39:59
Message-ID: 1711.2738-17750-2075670179-1233581999@email.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello,

I'was trying to get meta data of a column and discovered that the column name is case sensitive though it should be case insensitive. I don't know if this can be somehow determined by a configuration or environment change because I believe that till recently it worked in a case-insensitive manner.

I've the table studna_monitor.mon_user_session with the column "username". The following code wrongly returns null (notice "username".toUpperCase()):
---
String col = null;
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost/mydb?user=me&password=secret";
Connection conn = DriverManager.getConnection(url);
DatabaseMetaData databaseMetaData = conn.getMetaData();
ResultSet columnsMD = databaseMetaData.getColumns(null, "studna_monitor", "mon_user_session", "username".toUpperCase());
while(columnsMD.next()) {
col = columnsMD.getString("COLUMN_NAME");
}
return col;
---
While the following returns the column name "username":
---
...
ResultSet columnsMD = databaseMetaData.getColumns(null, "studna_monitor", "mon_user_session", "username".toLowerCase());
...
---

BTW, the metadata reports:
supportsMixedCaseIdentifiers: false
supportsMixedCaseQuotedIdentifiers: true
(which is pretty much expected)

Driver: postgresql-8.3-604.jdbc3.jar, postgresql-jdbc3-8.2.jar (as distributed with Ubuntu, doesn't provide build number)
Server: Postgres 8.2.6 for Solaris

Thank you.
Jakub Holy
maly(dot)velky(at)email(dot)cz

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2009-02-02 21:32:13 Re: BUG: DatabaseMetaData.getColumns isn't case insensitive
Previous Message Kris Jurka 2009-01-28 09:52:42 Re: Support of getting generated keys in driver version 8.4devel