Re: [PATCHES] DatabaseMetadata patch

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [PATCHES] DatabaseMetadata patch
Дата
Msg-id 200110240242.f9O2gdt04913@candle.pha.pa.us
обсуждение исходный текст
Ответы Re: [PATCHES] DatabaseMetadata patch
Список pgsql-jdbc
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

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [PATCHES] DatabaseMetadata patch
Следующее
От: Ned Wolpert
Дата:
Сообщение: Re: [PATCHES] Ant configuration