getScale() and getPrecision() patch - Mailing list pgsql-jdbc

From David Esposito
Subject getScale() and getPrecision() patch
Date
Msg-id PEEDKNLDICKECFBNGNLLIEIDCBAA.esposito@newnetco.com
Whole thread Raw
In response to getScale() and getPrecision()  ("David Esposito" <esposito@newnetco.com>)
Responses Re: getScale() and getPrecision() patch  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-jdbc
With a little bit of hacking, I figured out the internal representation that
PostGreSQL uses for its precision and scale values ... here's the diff for
the patch:

\postgresql-7.1\src\interfaces\jdbc\org\postgresql\jdbc2\ResultSetMetaData.j
ava

[root@TIMDA1 postgresbugfix]# diff ResultSetMetaData.java
ResultSetMetaData.java-original
288,293d287
<       case Types.NUMERIC:
<       Field f = getField(column);
<       if(f != null)
<               return ((0xFFFF0000)&f.mod)>>16;
<       else
<               return 0;
325,330d318
<       case Types.NUMERIC:
<       Field f = getField(column);
<       if(f != null)
<               return (((0x0000FFFF)&f.mod)-4);
<       else
<               return 0;
[root@TIMDA1 postgresbugfix]#



> -----Original Message-----
> From: pgsql-jdbc-owner@postgresql.org
> [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of David Esposito
> Sent: Wednesday, May 02, 2001 12:55 PM
> To: pgsql-jdbc@postgresql.org
> Subject: [JDBC] getScale() and getPrecision()
>
>
> Is there a reason that getScale() and getPrecision() both return zero for
> NUMERIC fields? It seems like this shouldn't be the case. In the example
> fields below (generated by doing a \d on the table), it would
> seem like the
> getScale and Precision methods should return the numbers contained in the
> parentheses.
>
> Or at least that's how the docs seem to read and that's how Oracle does it
> too ... ;)
>
>  catalog_item_id                | numeric(11,0)            | not null
>  catalog_item_category_id       | numeric(11,0)            | not null
>  catalog_item_manufacturer_no   | character varying(20)    |
>  catalog_item_manufacturer_url  | character varying(50)    |
>  catalog_item_retail_price      | numeric(11,2)            | not null
>  catalog_item_member_price      | numeric(11,2)            | not null
>  catalog_item_sellable          | numeric(1,0)             | not null
>
> -Dave
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl


pgsql-jdbc by date:

Previous
From: "David Esposito"
Date:
Subject: getScale() and getPrecision()
Next
From: "Jerry Reid"
Date:
Subject: Unable to store SHA hash