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 по дате отправления: