Inconsistent Loading of Bytea accross platform - Mailing list pgsql-jdbc

From Marc-André Laverdière
Subject Inconsistent Loading of Bytea accross platform
Date
Msg-id 4CFC754F.9060600@atc.tcs.com
Whole thread Raw
Responses Re: Inconsistent Loading of Bytea accross platform
List pgsql-jdbc
Hello,

Our team has recently upgraded from PostgreSQL 8.4 to 9.0. We ran all
our tests on one Linux box, and everything ran fine. However, we ran
into problems in our pre-production environment. Here are the details

Developer's box: Ubuntu 10.10 with Sun JDK 1.6.0_22-b04
Preprod box: Windows 2003 server SP2 Enterprise Edition with Sun JVM
1.6.0_22-b04

We are using Hibernate 3.6 with infinispan cache and the latest JDBC
driver (build 801).

Our table has 2 bytea columns. The columns are supposed to contain data
of size 256 bytes. On the Linux box, we get our 256 bytes correctly. On
the Windows box, we get 511 bytes however.

I detailed my problem here:
http://stackoverflow.com/questions/4335088/hibernate-not-loading-postgresql-bytea-consistently

After narrowing it down, it seems like the issue would be in the driver,
not Hibernate, as I have the same problem using JDBC. Here is some
sample code.

ssess = xyz.getFactory().openStatelessSession();
Connection rawConn = sess.connection();
PreparedStatement ps =
  rawConn.prepareStatement("select encryptedkey,encryptediv from abc
where id=?");
ps.setString(1,"fff4f538-aea5-4703-b9d6-dcd7829766e4");
ResultSet rs = ps.executeQuery();
if (rs.next()){
    byte[] key = rs.getBytes("encryptedkey");
    byte[] iv = rs.getBytes("encryptediv");
    logger.info("Key:{}\tIV:{}", key.length, iv.length);
}
rs.close();
ps.close();
conn.close();

Any ideas what could be wrong here?

--
Marc-André Laverdière
Software Security Scientist
Innovation Labs, Tata Consultancy Services
Hyderabad, India

pgsql-jdbc by date:

Previous
From: Maciek Sakrejda
Date:
Subject: Re: Driver work slow with new upgrade of Openjdk in Ubuntu
Next
From: Marc-André Laverdière
Date:
Subject: Re: Inconsistent Loading of Bytea accross platform