mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-30 04:01:22 +02:00
79 lines
3.4 KiB
Groff
79 lines
3.4 KiB
Groff
|
Ok, here's the JDBC patch.
|
||
|
|
||
|
The jdbc6.3.tar.gz file that I've uploaded ftp.postgresql.org contains the
|
||
|
following files:
|
||
|
|
||
|
README_6.3 This message
|
||
|
blob.patch The patch to src/backend/tcop/fastpath.c fixing large objects
|
||
|
jdbc.tar The entire jdbc driver
|
||
|
|
||
|
I've put the entire driver here, rather than a patch, because its become
|
||
|
too complicated to do one this time. Files have been moved, two files
|
||
|
removed because they were obsolete, and there are a lot of new files.
|
||
|
|
||
|
Heres what the patch does:
|
||
|
|
||
|
* Memory overflow problem in the backend causing large objects to fail in
|
||
|
both libpq & jdbc (causing the backend to crash with a Segmentation
|
||
|
Violation)
|
||
|
* Problem with equals() method on the geometric support classes if the
|
||
|
class being checked wasn't the same class
|
||
|
* Fixed output of PGpath and PGpolygon support classes (missing , separator)
|
||
|
* Optimised the geometric support classes
|
||
|
* HTMLised the inline documentation, so the output of javadoc is easier
|
||
|
to read (mainly paragraphs)
|
||
|
* Removed obsolete class PGlobj (it never worked, and has been replaced
|
||
|
to read (mainly paragraphs)
|
||
|
* Removed obsolete class PGlobj (it never worked, and has been replaced
|
||
|
by the postgresql.largeobject package)
|
||
|
* Removed obsolete example JDBC_Test.java (replaced by new examples)
|
||
|
* Added < and > to nesting in PGtokenizer.
|
||
|
* Added fastpath support as a new package
|
||
|
* Added large object support as a new package
|
||
|
* Added ability of user code to handle custom storage types.
|
||
|
* Added new example testing the importing and exporting of a large object
|
||
|
* Added example application showing how to store and display images stored
|
||
|
as large objects
|
||
|
* Added example implementing part of psql client. This shows how to find out
|
||
|
what tables/columns are in a database (not yet complete)
|
||
|
* ResultSet.getBytes() now returns large object if field is an oid
|
||
|
* ResultSet.getString() now doesn't call getBytes() as this now would
|
||
|
cause an infinite loop because of large object support in getBytes()
|
||
|
* PreparedStatement.setBytes() now create a large object, and store its
|
||
|
oid into the column
|
||
|
* Reworked date style handling to make it easier to support new styles
|
||
|
* Added german and ISO styles, now all styles supported by postgresql
|
||
|
are now supported by the driver
|
||
|
* Fixed DatabaseMetaData.getTables()
|
||
|
* DatabaseMetaData.getTableTypes() returns our supported types.
|
||
|
* Fixed DatabaseMetaData.getColumns()
|
||
|
|
||
|
These three are required for Borland's JBuilder to work. For now they
|
||
|
return an empty result, as I'm not sure yet on how to get the
|
||
|
required results.
|
||
|
* DatabaseMetaData.getBestRowIdentifier()
|
||
|
* DatabaseMetaData.getProcedureColumns()
|
||
|
* DatabaseMetaData.getIndexInfo()
|
||
|
|
||
|
Finally, one change that is incompatible with earlier versions of the
|
||
|
driver. This change only affects any client code that uses the geometric
|
||
|
classes (eg: PGpoint) or the getObject()/setObject() methods.
|
||
|
|
||
|
Because of a problem with javac, if user code includes the line:
|
||
|
|
||
|
import postgresql.*;
|
||
|
|
||
|
then javac will fail, saying that interfaces cannot be instanciated.
|
||
|
|
||
|
To fix this, I've moved these classes into a new sub package,
|
||
|
postgresql.geometric and the PG_Object (renamed PGobject), and PGtokenizer
|
||
|
to postgresql.util.So the above line would become:
|
||
|
|
||
|
import postgresql.geometric.*;
|
||
|
|
||
|
Anyhow, I'm going to start writing some proper documentation for the
|
||
|
driver. For now, there is some available temporarily at:
|
||
|
|
||
|
http://www.demon.co.uk/finder/postgres/jdbc/packages.html
|
||
|
|