Re: Blob support... - Mailing list pgsql-jdbc
From | Marc Lavergne |
---|---|
Subject | Re: Blob support... |
Date | |
Msg-id | 3C7D25F2.5060203@richlava.com Whole thread Raw |
In response to | Blob support... (Benoit Menendez <benoitm@pacbell.net>) |
List | pgsql-jdbc |
Ok, my bad it's intended behavior, not a bug. It took a little digging but I found it. It's in section 8.6 of the JDBC interface documentation: /usr/local/pgsql/doc/html/jdbc-binary-data.html Quote: "It is possible to revert the driver back to the old 7.1 behavior by setting the compatible property on the Connection to a value of 7.1" So let's change that to 2 options ... use the 7.1.3 driver or use the compatible parameter on 7.2 driver! ;-) As a side note, I am in total agreement with the "authoritative statement". I really like the bytea approach to BLOBs much more than the lo approach. It makes things much much cleaner in the data store. However, it does make it difficult to interoperate between databases that use the JDBC get/setBlob object types (ie. Oracle). I worked around pushing BLOB data from Oracle into a PG bytea easily enough, but pushing PG bytea data into an Oracle BLOB becomes a much slower multi-step process. Is there a release target for moving the get/setBlob functionality over to bytea? Perhaps triggered using the same compatible flag (although it may be a little late for that now that 7.2 is out)? Cheers, Marc Barry Lind wrote: > Marc, > > The "authoritative statement on what the postition on BLOBs in 7.2" is > in the documentation for 7.2. The section on storing binary data with > jdbc explains what 7.1 did, what 7.2 does and how to revert to the 7.1 > behavior for backward compatibility. It also explains why you might > want to use bytea vs. LargeObjects to store binary data and gives > examples on how to do both. > > --Barry > > > Marc Lavergne wrote: > >> Right ... there's a few "bugs" unconfirmed but it is in my eyes in >> org.postgresql.jdbc2.PreparedStatement and ResultSet. Look in the >> source >> (postgresql-7.2/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet and >> you'll see that the code was branched right around line 330. >> Unfortunately, that breaks support for lo types in 7.2. Not I'm not >> sure WHAT the official position is on this. However, there are four >> things you can do: use the 7.1.3 JDBC driver, custom fix the 7.2 >> driver (ie. remove the if statement to revert to 7.1.3 behavior), >> submit a diff patch, file a bug and hope somebody fixes it. Obviously, >> the first and second options are the easiest. The third and fourth >> would require some kind of authoritative statement on what the >> position on BLOBs in 7.2 is! >> >> Hope this helps and good luck! >> >> Marc >> >> Benoit Menendez wrote: >> >>> I use the latest stable 7.2.2 under cygwin >>> >>> Benoit >>> >>> ----- Original Message ----- >>> From: "Marc Lavergne" <mlavergne-pub@richlava.com> >>> To: "Benoit Menendez" <benoitm@pacbell.net> >>> Cc: <pgsql-jdbc@postgresql.org> >>> Sent: Tuesday, February 26, 2002 11:13 AM >>> Subject: Re: [JDBC] Blob support... >>> >>> >>> >>>> Which release of PostgreSQL? There were numerous changes in BLOB >>>> support >>>> from 7.0 to 7.1 to 7.2, your answer depends on the target release of >>>> PostgreSQL. >>>> >>>> Benoit Menendez wrote: >>>> >>>> >>>>> I use both ODBC and JDBC to access the same database (from two >>>>> different >>>>> applications) and I need blob support... >>>>> >>>>> >>>>> >>>>> I have created and used the "lo" type which is handled correctly by >>>>> the >>>>> ODBC driver... >>>>> >>>>> >>>>> >>>>> But JDBC does not like the "lo" type for blobs... >>>>> >>>>> >>>>> >>>>> If I do a getBytes on an "lo" I only get 4 (+1) bytes... >>>>> >>>>> >>>>> >>>>> I tried "bytea" but ODBC does not work properly with this type... >>>>> >>>>> >>>>> >>>>> Is the "lo" type supported in a recent patch? >>>>> >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> >>>>> >>>>> Benoit >>>>> >>>>> >>>> >>> >>> >>> ---------------------------(end of broadcast)--------------------------- >>> TIP 6: Have you searched our list archives? >>> >>> http://archives.postgresql.org >>> >>> >> >> >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 6: Have you searched our list archives? >> >> http://archives.postgresql.org >> > >
pgsql-jdbc by date: