Greetings,
My first post.
I am attempting to describe the table “donnie” from JDBC and I’m unable to determine the precision and scale of numeric types. I’ve tried the stable and beta versions of the JDBC driver and receive same behavior.
DB version string
PostgreSQL 7.2.3 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
I’m using the following code…
try {
DatabaseMetaData dbms = basicCon.driverConnection.getMetaData();
ResultSet columnNames;
columnNames = dbms.getColumns(null, null, "donnie", null);
while (columnNames.next()) {
System.out.print(columnNames.getString("COLUMN_NAME") + " ");
switch (columnNames.getInt("DATA_TYPE")) {
case java.sql.Types.INTEGER:
System.out.print("INTEGER");
break;
case java.sql.Types.VARCHAR:
System.out.print("VARCHAR (");
System.out.print(columnNames.getInt("COLUMN_SIZE") + ")");
break;
case java.sql.Types.NUMERIC:
System.out.print("NUMERIC (");
System.out.print(columnNames.getInt("COLUMN_SIZE") + ",");
System.out.print(columnNames.getInt("DECIMAL_DIGITS") + ")");
break;
}
System.out.println("");
}
} catch (SQLException e) {
System.out.print(e);
}
}
The output from the java program
a INTEGER
b VARCHAR (100)
c NUMERIC (65535,65535)
d NUMERIC (0,0)
The description from pgsql
Table "donnie"
Column | Type | Modifiers
--------+------------------------+-----------
a | integer |
b | character varying(100) |
c | numeric(7,3) |
d | numeric(12,4) |
Any help?
Donnie