Oops. Forgot to attach it last time.
On Mon, 2003-06-30 at 12:44, Barry Lind wrote: > Kim, > > Are you going to be submitting a patch for this? > > thanks, > --Barry > > > Kim Ho wrote: > > On Wed, 2003-06-18 at 13:09, Kim Ho wrote: > > > >>Problem: > >> - setObject(x,y,Types.BIT) throws an exception if y is a Number > >> - getObject() on a bit column will return null instead of True or False > >>Boolean objects > >> > > > > Added Problem: > > - Doesn't set bit columns > > > > > >>Fix: > >> - Added check in setObject() to check to that the Number has value==1. > >>If so, set to True. False otherwise. This seems to be consistent with > >>the rest of the code. > >> - Added BIT to JDBC datatype list > > > > - Using way to set values in both boolean/bit type columns > > > > It works now. > > > > The following program works now: > > > > Statement stmt = con.createStatement(); > > stmt.execute("Create Table bit_tab (b bit)"); > > > > PreparedStatement pstmt = con.prepareStatement("insert into bit_tab > > values (?)"); > > pstmt.setBoolean(1,true); > > pstmt.execute(); > > > > Sorry bout the delay. > > > > Cheers, > > > > Kim > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 7: don't forget to increase your free space map settings > > > >
? cloudscape.LOG Index: org/postgresql/jdbc1/AbstractJdbc1Connection.java =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java,v retrieving revision 1.20 diff -c -p -c -p -r1.20 AbstractJdbc1Connection.java *** org/postgresql/jdbc1/AbstractJdbc1Connection.java 29 May 2003 21:44:47 -0000 1.20 --- org/postgresql/jdbc1/AbstractJdbc1Connection.java 30 Jun 2003 13:07:38 -0000 *************** public abstract class AbstractJdbc1Conne *** 1740,1745 **** --- 1740,1746 ---- "varchar", "text", "name", "filename", "bytea", "bool", + "bit", "date", "time", "abstime", "timestamp", "timestamptz" *************** public abstract class AbstractJdbc1Conne *** 1763,1768 **** --- 1764,1770 ---- Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.BINARY, + Types.BIT, Types.BIT, Types.DATE, Types.TIME, Index: org/postgresql/jdbc1/AbstractJdbc1Statement.java =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java,v retrieving revision 1.24 diff -c -p -c -p -r1.24 AbstractJdbc1Statement.java *** org/postgresql/jdbc1/AbstractJdbc1Statement.java 29 May 2003 04:52:44 -0000 1.24 --- org/postgresql/jdbc1/AbstractJdbc1Statement.java 30 Jun 2003 13:07:39 -0000 *************** public abstract class AbstractJdbc1State *** 905,911 **** */ public void setBoolean(int parameterIndex, boolean x) throws SQLException { ! bind(parameterIndex, x ? "'t'" : "'f'", PG_BOOLEAN); } /* --- 905,911 ---- */ public void setBoolean(int parameterIndex, boolean x) throws SQLException { ! bind(parameterIndex, x ? "'1'" : "'0'", PG_BOOLEAN); } /* *************** public abstract class AbstractJdbc1State *** 1492,1500 **** setTimestamp(parameterIndex, (Timestamp)x); break; case Types.BIT: if (x instanceof Boolean) { ! bind(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE", PG_TEXT); } else { --- 1492,1509 ---- setTimestamp(parameterIndex, (Timestamp)x); break; case Types.BIT: + case Types.BOOLEAN: if (x instanceof Boolean) { ! bind(parameterIndex, ((Boolean)x).booleanValue() ? "'1'" : "'0'", PG_TEXT); ! } ! else if (x instanceof String) ! { ! bind(parameterIndex, Boolean.valueOf(x.toString()).booleanValue() ? "'1'" : "'0'", PG_BOOLEAN); ! } ! else if (x instanceof Number) ! { ! bind(parameterIndex, ((Number)x).intValue()==1 ? "'1'" : "'0'", PG_TEXT); } else { Index: org/postgresql/jdbc2/AbstractJdbc2Connection.java =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java,v retrieving revision 1.5 diff -c -p -c -p -r1.5 AbstractJdbc2Connection.java *** org/postgresql/jdbc2/AbstractJdbc2Connection.java 29 May 2003 04:39:48 -0000 1.5 --- org/postgresql/jdbc2/AbstractJdbc2Connection.java 30 Jun 2003 13:07:39 -0000 *************** public abstract class AbstractJdbc2Conne *** 126,131 **** --- 126,132 ---- "varchar", "text", "name", "filename", "bytea", "bool", + "bit", "date", "time", "abstime", "timestamp", "timestamptz", *************** public abstract class AbstractJdbc2Conne *** 153,158 **** --- 154,160 ---- Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.BINARY, + Types.BIT, Types.BIT, Types.DATE, Types.TIME, Index: org/postgresql/jdbc3/AbstractJdbc3Connection.java =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java,v retrieving revision 1.3 diff -c -p -c -p -r1.3 AbstractJdbc3Connection.java *** org/postgresql/jdbc3/AbstractJdbc3Connection.java 7 May 2003 03:03:30 -0000 1.3 --- org/postgresql/jdbc3/AbstractJdbc3Connection.java 30 Jun 2003 13:07:39 -0000 *************** public abstract class AbstractJdbc3Conne *** 415,420 **** --- 415,421 ---- "varchar", "text", "name", "filename", "bytea", "bool", + "bit", "date", "time", "abstime", "timestamp", "timestamptz", *************** public abstract class AbstractJdbc3Conne *** 442,447 **** --- 443,449 ---- Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.BINARY, + Types.BIT, Types.BIT, Types.DATE, Types.TIME,
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html