Mon Sep 13 23:56:00 BST 1999 peter@retep.org.uk - PG_Stream.SendChar() optimised, increased default buffer size of output stream to 8k, and introduced an 8k buffer on the input stream Sverre H Huseby - Added a finalize() method to Connection class in both drivers so that the connection to the backend is really closed. - Due to many JVM's not returning a meaningful value for java.version the decision for building the JDBC1.2 or JDBC2 driver is now a compile time option. - Replaced $$(cmd...) with `cmd...` in the Makefile. This should allow the driver to compile when using shells other than Bash. Thu Sep 9 01:18:39 MEST 1999 jens@jens.de - fixed bug in handling of DECIMAL type Wed Aug 4 00:25:18 CEST 1999 jens@jens.de - updated ResultSetMetaData.getColumnDisplaySize() to return the actual display size - updated driver to use postgresql FE/BE-protocol version 2 Mon Aug 2 03:29:35 CEST 1999 jens@jens.de - fixed bug in DatabaseMetaData.getPrimaryKeys() Sun Aug 1 18:05:42 CEST 1999 jens@jens.de - added support for getTransactionIsolation and setTransactionIsolation Sun Jun 27 12:00:00 BST 1999 - Fixed typo in postgresql.Driver that prevented compilation - Implemented getTimestamp() fix submitted by Philipp Matthias Hahn - Cleaned up some comments in Connection Wed Jun 23 06:50:00 BST 1999 - Fixed error in errors.properties where the arguments are 0 based not 1 based - Fixed bug in postgresql.Driver where exception is thrown, then intercepted rather than being passed to the calling application. - Removed the file postgresql/CallableStatement, as it's not used and really exists in the jdbc1 & jdbc2 sub packages only. Wed May 19 00:20:00 BST 1999 - Internationalisation now done. Surprising that there's 68 error messages in the driver ;-) Tue May 18 07:00:00 BST 1999 - Set the ImageViewer application to use transactions Tue May 18 00:00:00 BST 1999 - Just after committing, I realised why internationalisation isn't working. This is now fixed (in the Makefile). Mon May 17 23:40:00 BST 1999 - PG_Stream.close() now attempts to send the close connection message to the backend before closing the streams - Added batch support in the JDBC2, supplied by Yutaka Tanida - Removed the old datestyle code. Now the driver uses only ISO. - Removed some files in the postgresql directory still in CVS that were moved since 6.4.x (DatabaseMetaData.java PreparedStatement.java ResultSetMetaData.java Statement.java) - Internationalisation of the error messages is partially implemented, however it's not enabled as it only works when the jar file is _not_ used, and work needs to be done. Sun Apr 11 17:00:00 BST 1999 - getUpdateCount() now returns the actual update count (before it simply returned 1 for everything). - added some updates to example.basic so it would test the new update count code. - corrected typo in a comment in Statement.java Mon Jan 25 19:45:00 GMT 1999 - created subfolders example/corba and example/corba/idl to hold the new example showing how to hook CORBA and PostgreSQL via JDBC - implemented some JDBC2 methods curtesy of Joachim.Gabler@t-online.de Sat Jan 23 10:30:00 GMT 1999 - Changed imports in postgresql.jdbc1.ResultSetMetaData as for some reason it didn't want to compile under jdk1.1.6 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 - Added fix to DatabaseMetaData.getColumns() to handle patterns submitted by Stefan Andreasen - 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 - 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