The patch is missing the corresponding fix for
jdbc1/DatabaseMetaData.java. Can you resubmit the patch with a fix for
both occurances of the problem? Otherwise the fix looks fine.
thanks,
--Barry
Bruce Momjian wrote:
> Here is a patch for DatabaseMetaData to show precision properly. It is
> from Mark Lillywhite. I am adding to the patch queue.
>
>
>
> ------------------------------------------------------------------------
>
> 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
>
>
> ------------------------------------------------------------------------
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>