Commit 8af0ea9d authored by Bruce Momjian's avatar Bruce Momjian

Got two patches that were found by folks on the Castor list, that we'd like to

submit.  These were done for the jdbc2 driver.  The first one is for support
of the Types.BIT in the PreparedStatement class.  The following lines need to be
inserted in the switch statment, at around line 530:


	(Prepared statment, line 554, before the default: switch
	case Types.BIT:
	     if (x instanceof Boolean) {
	          set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE");
	     } else {
	          throw new PSQLException("postgresql.prep.type");
	     }
	     break;


	The second one is dealing with blobs,

	inserted in PreparedStatemant.java (After previous patch line, 558):
	         case Types.BINARY:
	         case Types.VARBINARY:
	                              setObject(parameterIndex,x);
	                              break;
	and in ResultSet.java (Around line 857):
	        case Types.BINARY:
	        case Types.VARBINARY:
	                        return getBytes(columnIndex);

Ned Wolpert <ned.wolpert@knowledgenet.com>
parent 05150e2d
...@@ -489,6 +489,17 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta ...@@ -489,6 +489,17 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta
case Types.TIMESTAMP: case Types.TIMESTAMP:
setTimestamp(parameterIndex, (Timestamp)x); setTimestamp(parameterIndex, (Timestamp)x);
break; break;
case Types.BIT:
if (x instanceof Boolean) {
set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE");
} else {
throw new PSQLException("postgresql.prep.type");
}
break;
case Types.BINARY:
case Types.VARBINARY:
setObject(parameterIndex,x);
break;
case Types.OTHER: case Types.OTHER:
setString(parameterIndex, ((PGobject)x).getValue()); setString(parameterIndex, ((PGobject)x).getValue());
break; break;
......
...@@ -806,6 +806,9 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu ...@@ -806,6 +806,9 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
return getTime(columnIndex); return getTime(columnIndex);
case Types.TIMESTAMP: case Types.TIMESTAMP:
return getTimestamp(columnIndex); return getTimestamp(columnIndex);
case Types.BINARY:
case Types.VARBINARY:
return getBytes(columnIndex);
default: default:
return connection.getObject(field.getTypeName(), getString(columnIndex)); return connection.getObject(field.getTypeName(), getString(columnIndex));
} }
......
...@@ -549,6 +549,17 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta ...@@ -549,6 +549,17 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta
case Types.TIMESTAMP: case Types.TIMESTAMP:
setTimestamp(parameterIndex, (Timestamp)x); setTimestamp(parameterIndex, (Timestamp)x);
break; break;
case Types.BIT:
if (x instanceof Boolean) {
set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE");
} else {
throw new PSQLException("postgresql.prep.type");
}
break;
case Types.BINARY:
case Types.VARBINARY:
setObject(parameterIndex,x);
break;
case Types.OTHER: case Types.OTHER:
setString(parameterIndex, ((PGobject)x).getValue()); setString(parameterIndex, ((PGobject)x).getValue());
break; break;
......
...@@ -855,6 +855,9 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu ...@@ -855,6 +855,9 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
return getTime(columnIndex); return getTime(columnIndex);
case Types.TIMESTAMP: case Types.TIMESTAMP:
return getTimestamp(columnIndex); return getTimestamp(columnIndex);
case Types.BINARY:
case Types.VARBINARY:
return getBytes(columnIndex);
default: default:
return connection.getObject(field.getTypeName(), getString(columnIndex)); return connection.getObject(field.getTypeName(), getString(columnIndex));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment