I've just posted to the patches list a new version of the JDBC driver.
This version now compiles under JDK 1.2 and later.

To do this, I've had to move come classes, and rewrite others, due to the
changes between JDBC 1 & JDBC 2 (loads of new methods, and some are now
deprecated).

The main difference is that the Makefile now tests the version of the JDK
being used, and builds the JDBC 1 driver for JDK 1.1.x or JDBC 2 for later
JDK's.

A nice additional feature, is that if you first use JDK 1.1.x to compile,
then compile using JDK 1.2 or later, you'll have both sets of classes in
the postgresql.jar file (adds about 64K to the file size) which can then
be used on either version of the JVM.

A pre-compiled copy of postgresql.jar will appear on my website shortly.

Here's the CHANGELOG:

Tue Dec 29 15:45:00 GMT 1998
        - Refreshed the README (which was way out of date)

Tue Dec 29 15:45:00 GMT 1998
        - Finished adding the additional methods into the JDBC2 driver.
        - Had to add some explicit package references for the JDK1.2 Javac to
          cope with the driver

Tue Dec 29 12:40:00 GMT 1998
        - Fixed package imports and some references to java.sql.ResultSet in
          various files. Compiled and tested the JDBC1 driver.

Mon Dec 28 19:01:37 GMT 1998
        - created a new package postgresql.jdbc2 which will contain the JDBC 2
          specific classes. A similar new package (postgresql.jdbc1) has been
          created to hold the JDBC 1 specific classes.
        - modified Makefile to allow compilation of the JDBC 1 & 2 drivers,
          with the possibility of building a dual-spec driver.
        - changed the version number in postgresql.Driver to 6.5
        - modified postgresql.Driver class to initiate the correct driver when
          used under a 1.1 or 1.2+ JVM.
        - postgresql.Connection and postgresql.jdbc2.Connection now extends the
          new class postgresql.ConnectionStub, which allows us to dynamically
          open the JDBC1 or JDBC2 drivers.
        - enabled compilation of the driver under Win32 when using the Make
          from the CygWin package (Cygnus B20.1 was used).
        - To make future development easier (now we have 2 specifications to
          work with) the following classes have moved from the postgresql to
          the postgresql.jdbc1 package:
                CallableStatement       Connection
                DatabaseMetaData        PreparedStatement
                ResultSet               ResultSetMetaData
                Statement
          Some of these classes have common code that is not dependent on
          either JDBC specification. These common code are still in the
          postgresql package.
                Ie: postgresql.jdbc1.Connection extends postgresql.Connection
                and postgresql.jdbc2.Connection extends postgresql.Connection

Web Oct  7 22:00:00 BST 1998
        - removed syncronised from Connection.ExecSQL(). See next entry.
        - added new syncronised locking in the Connection.ExecSQL() and
          FastPath.fastpath() methods. They now lock against the PG_Steam
          object for the connection, which now provides full Thread Safety.
        - Reposted ChangeLog as it's missing from CVS.
        
Modifications done since 6.3.2 was released and Sun Aug 30 11:33:06 BST 1998

        - Fixed PreparedStatement.setObject as it didn't handle shorts
        - ResultSet.getDate() now handles null dates (returns null ratrher
          than a NullPointerException)
        - ResultSetMetaData.getPrecision() new returns 0 for VARCHAR
        - Field now caches the typename->oid in a Hashtable to speed things
          up. It removes the need for some unnecessary queries to the backend.
        - PreparedStatement.toString() now returns the SQL statement that it
          will send to the backend. Before it did nothing.
        - DatabaseMetaData.getTypeInfo() now does something.
        - Connection now throws an exception if either of the user or password
          properties are missing, as they are required for JDBC to work.
          This occasionally occurs when the client uses the properties version
          of getConnection(), and is a common question on the email lists.
        
Sun Aug 30 11:33:06 BST 1998

        - Created ChangeLog file, and entered stuff done since 6.3.2 and today
        - Change version number to 6.4 in Driver.java
        - Added fix to DatabaseMetaData.getTables() submitted by
          Stefan Andreasen <[EMAIL PROTECTED]>
        - Added fix to DatabaseMetaData.getColumns() to handle patterns
          submitted by Stefan Andreasen <[EMAIL PROTECTED]>
        - Set TcpNoDelay on the connection, as this gives us a 10x speed
          improvement on FreeBSD (caused by a bug in their TCP Stack). They
          should fix the bug before 6.4 is released, but will keep this
          in here unless it causes more problems.
          Submitted by Jason Venner <[EMAIL PROTECTED]>
        - Removed a duplicate definition of fieldCache
        - Added a more meaningful message when the connection is refused. It
          now says:
                Connection refused. Check that the hostname and port is
                correct, and that the postmaster is running with the -i flag,
                which enables TCP/IP networking.
        - Removed kludge in PreparedStatement.setDate() that acted as a
          temporary fix to a bug in SimpleDateFormat, as it broke date
          handling in JDK 1.1.6.
        - Modified PG_Stream and Connection, so that outbound data is now
          buffered. This should give us a speed improvement, and reduce the
          ammount of network packets generated.
        - Removed duplicate code and optimised PG_Stream.
        - PG_Stream now returns a more meaningful message when the connection
          is broken by the backend. It now returns:
                The backend has broken the connection. Possibly the action you
                have attempted has caused it to close.
        - Removed obsolete code from Connection.
        - The error message returned when the authentication scheme is unknown
          has been extended. It now reads:
                Authentication type ### not supported. Check that you have
                configured the pg_hba.conf file to include the client's IP
                address or Subnet, and is using a supported authentication
                scheme.
        - Connection.getMetaData() now caches the instance returned, so
          multiple calls will return the same instance.
        - Created a test application that tests the DatabaseMetaData and
          ResultSetMetaData classes.
        - Replaced getString(#).getBytes() with getBytes(#) which should speed
          things up, and reduce memory useage.
        - Optimised DatabaseMetaData.getProcedures(), and implemented patterns
        - Fixed NullPointerExceptions thrown when a field is null (Internal
          to the driver, not caused by results from the backend.
          DatabaseMetaData.getProcedures() is an example of a method that
          causes this):
                - ResultSetMetaData.getColumnName() now returns field# where
                  # is the column name.
                - ResultSet.getObject() fixed
                - Fixed bug in psql example that was affected by null fields
                - DatabaseMetaData.getTables()
        - DatabaseMetaData.getPrimaryKeys() ran a query with an ambiguous field
          fixed.
        - getTypeInfo() optimised to increase speed and reduce memory useage
        - ResultSetMetaData.isCurrency() optimised and is now smaller.
        - Removed unnecessary code fromResultSetMetaData.getCatalogName()
          and getSchemaName().
        - Created new class postgresql.util.PGmoney to map the money type
        - Created new class postgresql.geometric.PGline to map the line type
        

-- 
       Peter T Mount [EMAIL PROTECTED]
      Main Homepage: http://www.retep.org.uk
PostgreSQL JDBC Faq: http://www.retep.org.uk/postgres
 Java PDF Generator: http://www.retep.org.uk/pdf

Reply via email to