Just tested it with build 312 and the original problem went away. Now
I am seeing a new problem with null BLOBs only:
java.sql.SQLException: ERROR: column "blob_col" is of type bytea but
expression is of type oid
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse
(QueryExecutorImpl.java:1471)
at org.postgresql.core.v3.QueryExecutorImpl.processResults
(QueryExecutorImpl.java:1256)
at org.postgresql.core.v3.QueryExecutorImpl.execute
(QueryExecutorImpl.java:175)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute
(AbstractJdbc2Statement.java:389)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags
(AbstractJdbc2Statement.java:330)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute
(AbstractJdbc2Statement.java:321)
at NullBlob.main(NullBlob.java:26)
In other words "bytea" columns allow inserting non-null blobs, but
null generates the exception above. Here is sample code:
PreparedStatement st = c
.prepareStatement("insert into BLOB_TEST (BLOB_TEST_ID,
BLOB_COL) values (?, ?)");
st.setInt(1, 1);
st.setNull(2, Types.BLOB);
st.execute(); // this line throws the exception above
Andrus
On Jul 22, 2005, at 11:40 PM, Kris Jurka wrote:
>
>
> On Fri, 22 Jul 2005, Kris Jurka wrote:
>
>
>> On Fri, 22 Jul 2005, Andrus Adamchik wrote:
>>
>>
>>> Whenver I call PreparedStatement.setNull(int, int) on BLOB or
>>> CLOB columns,
>>> an exception below occurs. Driver version:
>>> postgresql-8.0-310.jdbc3.jar. But
>>> looks like latest CVS version has the same problem.
>>>
>>>
>>
>> This has been fixed in CVS for the 8.0 and development drivers, we
>> just
>> haven't done a release in nearly three months. I'll put out a
>> release
>> this weekend unless there are any other outstanding fixes I'm
>> unaware of.
>>
>>
>
> Actually looking more closely, this was fixed in build 311 which is
> available, but we should still put out a new release for other fixes.
>
> Kris Jurka