From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | "Donald J(dot) Armstrong" <donnie(at)cross-works(dot)com> |
Cc: | <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Obtaining precision and scale of NUMERIC types |
Date: | 2003-02-06 18:47:49 |
Message-ID: | Pine.LNX.4.33.0302061345390.14632-200000@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Attached is patch to fix this problem. The driver was using the wrong
column from it's query to determine the size and digits of the result.
Kris Jurka
On Thu, 6 Feb 2003, Donald J. Armstrong wrote:
> 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
>
Attachment | Content-Type | Size |
---|---|---|
decimalprecision.patch | text/plain | 1.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Serodio | 2003-02-06 19:45:16 | Re: Matching types |
Previous Message | Donald J. Armstrong | 2003-02-06 17:18:25 | Obtaining precision and scale of NUMERIC types |