Re: [JDBC] getScale() and getPrecision() patch - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: [JDBC] getScale() and getPrecision() patch |
Date | |
Msg-id | 200105161708.f4GH88917255@candle.pha.pa.us Whole thread Raw |
List | pgsql-patches |
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; }
pgsql-patches by date: