Patch applied to jdbc1 and jdbc2 and attached. This adds NUMERIC tests
to the code.
> ahh ... or maybe a "diff -c" ... amazing what the man pages can teach you ..
> ;)
>
> [root@TIMDA1 postgresbugfix]# diff -c ResultSetMetaData.java-original
> ResultSetMetaData.java
> *** ResultSetMetaData.java-original Mon Apr 17 16:07:52 2000
> --- ResultSetMetaData.java Wed May 2 17:29:36 2001
> ***************
> *** 285,290 ****
> --- 285,296 ----
> return 16;
> case Types.VARCHAR:
> return 0;
> + case Types.NUMERIC:
> + Field f = getField(column);
> + if(f != null)
> + return ((0xFFFF0000)&f.mod)>>16;
> + else
> + return 0;
> default:
> return 0;
> }
> ***************
> *** 316,321 ****
> --- 322,333 ----
> return 16;
> case Types.VARCHAR:
> return 0;
> + case Types.NUMERIC:
> + Field f = getField(column);
> + if(f != null)
> + return (((0x0000FFFF)&f.mod)-4);
> + else
> + return 0;
> default:
> return 0;
> }
> [root@TIMDA1 postgresbugfix]#
>
> > -----Original Message-----
> > From: Bruce Momjian [mailto:pgman@candle.pha.pa.us]
> > Sent: Tuesday, May 08, 2001 1:17 PM
> > To: David Esposito
> > Cc: pgsql-jdbc@postgresql.org
> > Subject: Re: [JDBC] getScale() and getPrecision() patch
> >
> >
> >
> > Is it possible to get a context diff of this patch? Thanks.
> >
> >
> > [ Charset ISO-8859-1 unsupported, converting... ]
> > > With a little bit of hacking, I figured out the internal
> > representation that
> > > PostGreSQL uses for its precision and scale values ... here's
> > the diff for
> > > the patch:
> > >
> > >
> > \postgresql-7.1\src\interfaces\jdbc\org\postgresql\jdbc2\ResultSet
> > MetaData.j
> > > ava
> > >
> > > [root@TIMDA1 postgresbugfix]# diff ResultSetMetaData.java
> > > ResultSetMetaData.java-original
> > > 288,293d287
> > > < case Types.NUMERIC:
> > > < Field f = getField(column);
> > > < if(f != null)
> > > < return ((0xFFFF0000)&f.mod)>>16;
> > > < else
> > > < return 0;
> > > 325,330d318
> > > < case Types.NUMERIC:
> > > < Field f = getField(column);
> > > < if(f != null)
> > > < return (((0x0000FFFF)&f.mod)-4);
> > > < else
> > > < return 0;
> > > [root@TIMDA1 postgresbugfix]#
> > >
>
>
--
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: contrib/retep/build.xml
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/contrib/retep/build.xml,v
retrieving revision 1.5
diff -c -r1.5 build.xml
*** contrib/retep/build.xml 2001/05/16 16:20:51 1.5
--- contrib/retep/build.xml 2001/05/16 16:53:23
***************
*** 43,48 ****
--- 43,49 ----
<target name="compile" depends="checks,prepare,warning" if="jdk1.2+">
<javac srcdir="${src}" destdir="${dest}">
<include name="${package}/**" />
+ <exclude name="${package}/**" unless="jdk1.2+" />
</javac>
</target>
Index: src/interfaces/jdbc/build.xml
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/build.xml,v
retrieving revision 1.9
diff -c -r1.9 build.xml
*** src/interfaces/jdbc/build.xml 2001/05/16 16:20:52 1.9
--- src/interfaces/jdbc/build.xml 2001/05/16 16:53:38
***************
*** 120,126 ****
<javac srcdir="${src}" destdir="${dest}">
<include name="example/**" />
<exclude name="example/corba/**"/>
! <exclude name="example/blobtest.java" unless="jdk1.2+" />
</javac>
</target>
--- 120,126 ----
<javac srcdir="${src}" destdir="${dest}">
<include name="example/**" />
<exclude name="example/corba/**"/>
! <exclude name="example/blobtest.java" unless="jdk1.2+"/>
</javac>
</target>
Index: src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java,v
retrieving revision 1.1
diff -c -r1.1 ResultSetMetaData.java
*** src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java 2000/04/17 20:07:48 1.1
--- src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java 2001/05/16 16:53:40
***************
*** 290,295 ****
--- 290,301 ----
return 16;
case Types.VARCHAR:
return 0;
+ case Types.NUMERIC:
+ Field f = getField(column);
+ if(f != null)
+ return ((0xFFFF0000)&f.mod)>>16;
+ else
+ return 0;
default:
return 0;
}
***************
*** 321,326 ****
--- 327,338 ----
return 16;
case Types.VARCHAR:
return 0;
+ case Types.NUMERIC:
+ Field f = getField(column);
+ if(f != null)
+ return (((0x0000FFFF)&f.mod)-4);
+ else
+ return 0;
default:
return 0;
}
Index: src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java,v
retrieving revision 1.1
diff -c -r1.1 ResultSetMetaData.java
*** src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java 2000/04/17 20:07:51 1.1
--- src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java 2001/05/16 16:53:40
***************
*** 285,290 ****
--- 285,296 ----
return 16;
case Types.VARCHAR:
return 0;
+ case Types.NUMERIC:
+ Field f = getField(column);
+ if(f != null)
+ return ((0xFFFF0000)&f.mod)>>16;
+ else
+ return 0;
default:
return 0;
}
***************
*** 316,321 ****
--- 322,333 ----
return 16;
case Types.VARCHAR:
return 0;
+ case Types.NUMERIC:
+ Field f = getField(column);
+ if(f != null)
+ return (((0x0000FFFF)&f.mod)-4);
+ else
+ return 0;
default:
return 0;
}