updated patch from Mark Lillywhite per Tom Lane's comments: subtract VARHDRSZ first then and with 0xffff
This commit is contained in:
parent
d80d4baa09
commit
d650a6f580
@ -13,7 +13,7 @@ import org.postgresql.util.PSQLException;
|
||||
/**
|
||||
* This class provides information about the database as a whole.
|
||||
*
|
||||
* $Id: DatabaseMetaData.java,v 1.40 2001/10/25 05:59:59 momjian Exp $
|
||||
* $Id: DatabaseMetaData.java,v 1.41 2001/10/30 05:09:51 barry Exp $
|
||||
*
|
||||
* <p>Many of the methods here return lists of information in ResultSets. You
|
||||
* can use the normal ResultSet methods such as getString and getInt to
|
||||
@ -2014,12 +2014,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData
|
||||
// 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
|
||||
// from the typmod value.
|
||||
if (typname.equals("numeric") || typname.equals("decimal"))
|
||||
{
|
||||
int attypmod = r.getInt(8);
|
||||
tuple[8] =
|
||||
Integer.toString((attypmod & 0xffff) - VARHDRSZ).getBytes();
|
||||
Integer.toString((attypmod - VARHDRSZ) & 0xffff).getBytes();
|
||||
}
|
||||
else
|
||||
tuple[8] = "0".getBytes();
|
||||
|
Loading…
x
Reference in New Issue
Block a user