Re: [PATCHES] DatabaseMetadata patch - Mailing list pgsql-jdbc

From Bruce Momjian
Subject Re: [PATCHES] DatabaseMetadata patch
Date
Msg-id 200110241746.f9OHkmw03501@candle.pha.pa.us
Whole thread Raw
List pgsql-jdbc
Patch applied.  Thanks.  If you can send a jdbc1 version, that would be
great.

---------------------------------------------------------------------------


> Here is a patch for DatabaseMetaData to show precision properly.  It is
> from Mark Lillywhite.  I am adding to the patch queue.
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

> Index: org/postgresql/jdbc2/DatabaseMetaData.java
> ===================================================================
> RCS file: /cvs/pgjdbc71/org/postgresql/jdbc2/DatabaseMetaData.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- org/postgresql/jdbc2/DatabaseMetaData.java    2001/10/04 05:01:32    1.1
> +++ org/postgresql/jdbc2/DatabaseMetaData.java    2001/10/23 09:44:30    1.2
> @@ -1932,7 +1932,19 @@
>
>      tuple[7] = null;    // Buffer length
>
> -    tuple[8] = "0".getBytes();    // Decimal Digits - how to get this?
> +        // Decimal digits = scale
> +        // From the source (see e.g. backend/utils/adt/numeric.c,
> +        // function numeric()) the scale and precision can be calculated
> +        // from the typmod value. mark@plasticsoftware.com.au
> +        if (typname.equals("numeric") || typname.equals("decimal"))
> +        {
> +          int attypmod = r.getInt(8);
> +          tuple[8] =
> +            Integer.toString((attypmod & 0xffff) - VARHDRSZ).getBytes();
> +        }
> +        else
> +          tuple[8] = "0".getBytes();
> +
>      tuple[9] = "10".getBytes();    // Num Prec Radix - assume decimal
>
>      // tuple[10] is below

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-jdbc by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PATCHES] DatabaseMetadata patch
Next
From: Barry Lind
Date:
Subject: Re: [PATCHES] DatabaseMetadata patch