]> granicus.if.org Git - postgresql/blob - src/interfaces/jdbc/CHANGELOG
854725066c45743b8baccdefa4d49e5b87b843c4
[postgresql] / src / interfaces / jdbc / CHANGELOG
1 Thu Jan 18 17:30:00 GMT 2001 peter@retep.org.uk
2         - Added new error message into errors.properties "postgresql.notsensitive"
3           This is used by jdbc2.ResultSet when a method is called that should
4           fetch the current value of a row from the database refreshRow() for
5           example.
6         - These methods no longer throw the not implemented but the new noupdate
7           error. This is in preparation for the Updateable ResultSet support
8           which will overide these methods by extending the existing class to
9           implement that functionality, but needed to show something other than
10           notimplemented:
11             moveToCurrentRow()
12             moveToInsertRow()
13             rowDeleted()
14             rowInserted()
15             all update*() methods, except those that took the column as a String
16             as they were already implemented to convert the String to an int.
17         - getFetchDirection() and setFetchDirection() now throws
18           "postgresql.notimp" as we only support one direction.
19           The CursorResultSet will overide this when its implemented.
20         - Created a new class under jdbc2 UpdateableResultSet which extends
21           ResultSet and overides the relevent update methods.
22           This allows us to implement them easily at a later date.
23         - In jdbc2.Connection, the following methods are now implemented:
24             createStatement(type,concurrency);
25             getTypeMap();
26             setTypeMap(Map);
27         - The JDBC2 type mapping scheme almost complete, just needs SQLInput &
28           SQLOutput to be implemented.
29         - Removed some Statement methods that somehow appeared in Connection.
30         - In jdbc2.Statement()
31             getResultSetConcurrency()
32             getResultSetType()
33             setResultSetConcurrency()
34             setResultSetType()
35         - Finally removed the old 6.5.x driver.
36
37 Thu Jan 18 12:24:00 GMT 2001 peter@retep.org.uk
38         - These methods in org.postgresql.jdbc2.ResultSet are now implemented:
39             getBigDecimal(int) ie: without a scale (why did this get missed?)
40             getBlob(int)
41             getCharacterStream(int)
42             getConcurrency()
43             getDate(int,Calendar)
44             getFetchDirection()
45             getFetchSize()
46             getTime(int,Calendar)
47             getTimestamp(int,Calendar)
48             getType()
49           NB: Where int represents the column name, the associated version
50               taking a String were already implemented by calling the int
51               version.
52         - These methods no longer throw the not implemented but the new noupdate
53           error. This is in preparation for the Updateable ResultSet support
54           which will overide these methods by extending the existing class to
55           implement that functionality, but needed to show something other than
56           notimplemented:
57             cancelRowUpdates()
58             deleteRow()
59         - Added new error message into errors.properties "postgresql.noupdate"
60           This is used by jdbc2.ResultSet when an update method is called and
61           the ResultSet is not updateable. A new method notUpdateable() has been
62           added to that class to throw this exception, keeping the binary size
63           down.
64         - Added new error message into errors.properties "postgresql.psqlnotimp"
65           This is used instead of unimplemented when it's a feature in the
66           backend that is preventing this method from being implemented.
67         - Removed getKeysetSize() as its not part of the ResultSet API
68
69 Thu Jan 18 09:46:00 GMT 2001 peter@retep.org.uk
70         - Applied modified patch from Richard Bullington-McGuire
71           <rbulling@microstate.com>. I had to modify it as some of the code
72           patched now exists in different classes, and some of it actually
73           patched obsolete code.
74
75 Wed Jan 17 10:19:00 GMT 2001 peter@retep.org.uk
76         - Updated Implementation to include both ANT & JBuilder
77         - Updated README to reflect the changes since 7.0
78         - Created jdbc.jpr file which allows JBuilder to be used to edit the
79           source. JBuilder _CAN_NOT_ be used to compile. You must use ANT for
80           that. It's only to allow JBuilders syntax checking to improve the
81           drivers source. Refer to Implementation for more details
82
83 Wed Dec 20 16:19:00 GMT 2000 peter@retep.org.uk
84         - Finished build.xml and updated Driver.java.in and buildDriver to
85           match how Makefile and ANT operate.
86
87 Tue Dec 19 17:30:00 GMT 2000 peter@retep.org.uk
88         - Finally created ant build.xml file
89
90 Mon Nov 20 08:12:00 GMT 2000 peter@retep.org.uk
91         - Encoding patch to Connection by wrobell@posexperts.com.pl
92
93 Tue Oct 17 15:35:00 BST 2000 petermount@maidstone.gov.uk
94         - Changed getTimestamp() again. This time Michael Stephenson's
95           <mstephenson@tirin.openworld.co.uk> solution looked far better
96           than the original solution put in June.
97
98 Tue Oct 10 13:12:00 BST 2000 peter@retep.org.uk
99         - DatabaseMetaData.supportsAlterTableWithDropColumn() as psql doesn't
100           support dropping of individual columns
101         - Merged in some last patches. Only 1 left, which may not be compatible
102           with jdbc1
103         - Merged in my old retepsql project. Makefile now includes it.
104
105 Mon Oct 02 12:30:00 BST 2000 peter@retep.org.uk
106         - Merged in byte[] array allocation changes submitted by Gunnar R|nning
107           <gunnar@candleweb.no>
108
109 Mon Sep 25 14:22:00 BST 2000 peter@retep.org.uk
110         - Removed the DriverClass kludge. Now the org.postgresql.Driver class
111           is compiled from a template file, and now has both the connection
112           class (ie jdbc1/jdbc2) and the current version's from Makefile.global
113
114 Thu Jul 20 16:30:00 BST 2000 petermount@it.maidstone.gov.uk
115         - Fixed DatabaseMetaData.getTableTypes()
116
117 Tue Jun 06 12:00:00 BST 2000 petermount@it.maidstone.gov.uk
118         - Added org/postgresql/DriverClass.java to the list of files removed
119           by make clean (it's dynamically built)
120         - Fixed Statement, so that the update count is valid when an SQL
121           DELETE operation is done.
122         - While fixing the update count, made it easier to get the OID of
123           the last insert as well. Example is in example/basic.java
124
125 Tue Jun 06 08:37:00 BST 2000 petermount@it.maidstone.gov.uk
126         - Removed a hardwired 8K limit on query strings
127         - Added some missing org.'s in Connection that prevented
128           the use of the geometric types.
129
130 Thu Jun 01 07:26:00 BST 2000 petermount@it.maidstone.gov.uk
131         - Removed timezone in getTimestamp() methods in ResultSet.
132
133 Mon May 15 22:30:00 BST 2000 peter@retep.org.uk
134         - Fixed the message Makefile produces after compiling. It still said
135           about the old Driver class, not the new package. Spotted by
136           Joseph Shraibman <jks@p1.selectacast.net>
137
138 Thu May 04 11:38:00 BST 2000 petermount@it.maidstone.gov.uk
139         - Corrected incorrect date in CHANGELOG
140         - Fixed the ImageViewer example
141
142 Wed May 03 16:47:00 BST 2000 petermount@it.maidstone.gov.uk
143         - Fixed the Makefile so that postgresql.jar is built everytime
144           the jdbc1 or jdbc2 rules are called.
145         - Fixed the threadsafe example. It had problems with autocommit
146
147 Wed May 03 14:32:00 BST 2000 petermount@it.maidstone.gov.uk
148         - Rewrote the README file (the old one was 18 months old!)
149         - Added @deprecated tags to org.postgresql.jdbc2.ResultSet
150           to clear some warnings issued during compilation.
151
152 Wed Apr 12 22:14:00 BST 2000 peter@retep.org.uk
153         - Implemented the JDBC2 Blob interface, and ResultSet.getBlob().
154
155 Wed Apr 12 20:20:00 BST 2000 peter@retep.org.uk
156         - Fixed bug in ResultSet.absolute(). Negative rows are now supported.
157         - Implemented ResultSet.relative(), afterLast().
158
159 Tue Feb  1 21:40:00 GMT 2000 peter@retep.org.uk
160         - Finally imported the contributed javax extensions by Assaf Arkin
161           arkin@exoffice.com
162
163 Mon Jan 24 21:00:00 GMT 2000 peter@retep.org.uk
164         - Finally introduced the 7.0 additions to the core CVS repository.
165         - All source files are now under the org.postgresql package (previously
166           they were under postgresql). The package lines now changed
167           accordingly.
168         - The Makefile was rewritten so it should now work on machines that
169           can't handle the $( ) syntax.
170         - Dutch translation by Arnout Kuiper (ajkuiper@wxs.nl)
171
172 Mon Sep 13 23:56:00 BST 1999 peter@retep.org.uk
173         - PG_Stream.SendChar() optimised, increased default buffer size of
174           output stream to 8k, and introduced an 8k buffer on the input stream
175           Sverre H Huseby <sverrehu@online.no>
176         - Added a finalize() method to Connection class in both drivers so that
177           the connection to the backend is really closed.
178         - Due to many JVM's not returning a meaningful value for java.version
179           the decision for building the JDBC1.2 or JDBC2 driver is now a
180           compile time option.
181         - Replaced $$(cmd...) with `cmd...` in the Makefile. This should allow
182           the driver to compile when using shells other than Bash.
183
184 Thu Sep  9 01:18:39 MEST 1999 jens@jens.de
185         - fixed bug in handling of DECIMAL type
186
187 Wed Aug  4 00:25:18 CEST 1999 jens@jens.de
188         - updated ResultSetMetaData.getColumnDisplaySize() to return
189           the actual display size
190         - updated driver to use postgresql FE/BE-protocol version 2
191
192 Mon Aug  2 03:29:35 CEST 1999 jens@jens.de
193          - fixed bug in DatabaseMetaData.getPrimaryKeys()
194
195 Sun Aug  1 18:05:42 CEST 1999 jens@jens.de
196         - added support for getTransactionIsolation and setTransactionIsolation
197
198 Sun Jun 27 12:00:00 BST 1999
199         - Fixed typo in postgresql.Driver that prevented compilation
200         - Implemented getTimestamp() fix submitted by Philipp Matthias Hahn
201           <pmhahn@titan.lahn.de>
202         - Cleaned up some comments in Connection
203
204 Wed Jun 23 06:50:00 BST 1999
205         - Fixed error in errors.properties where the arguments are 0 based not
206           1 based
207         - Fixed bug in postgresql.Driver where exception is thrown, then
208           intercepted rather than being passed to the calling application.
209         - Removed the file postgresql/CallableStatement, as it's not used and
210           really exists in the jdbc1 & jdbc2 sub packages only.
211
212 Wed May 19 00:20:00 BST 1999
213         - Internationalisation now done. Surprising that there's 68 error
214           messages in the driver ;-)
215
216 Tue May 18 07:00:00 BST 1999
217         - Set the ImageViewer application to use transactions
218
219 Tue May 18 00:00:00 BST 1999
220         - Just after committing, I realised why internationalisation isn't
221           working. This is now fixed (in the Makefile).
222
223 Mon May 17 23:40:00 BST 1999
224         - PG_Stream.close() now attempts to send the close connection message
225           to the backend before closing the streams
226         - Added batch support in the JDBC2, supplied by Yutaka Tanida
227           <yutaka@marin.or.jp>
228         - Removed the old datestyle code. Now the driver uses only ISO.
229         - Removed some files in the postgresql directory still in CVS that were
230           moved since 6.4.x (DatabaseMetaData.java PreparedStatement.java
231           ResultSetMetaData.java Statement.java)
232         - Internationalisation of the error messages is partially implemented,
233           however it's not enabled as it only works when the jar file is
234           _not_ used, and work needs to be done.
235
236 Sun Apr 11 17:00:00 BST 1999
237         - getUpdateCount() now returns the actual update count (before it
238           simply returned 1 for everything).
239         - added some updates to example.basic so it would test the new update
240           count code.
241         - corrected typo in a comment in Statement.java
242
243 Mon Jan 25 19:45:00 GMT 1999
244         - created subfolders example/corba and example/corba/idl to hold the
245           new example showing how to hook CORBA and PostgreSQL via JDBC
246         - implemented some JDBC2 methods curtesy of Joachim.Gabler@t-online.de
247
248 Sat Jan 23 10:30:00 GMT 1999
249         - Changed imports in postgresql.jdbc1.ResultSetMetaData as for some
250           reason it didn't want to compile under jdk1.1.6
251
252 Tue Dec 29 15:45:00 GMT 1998
253         - Refreshed the README (which was way out of date)
254
255 Tue Dec 29 15:45:00 GMT 1998
256         - Finished adding the additional methods into the JDBC2 driver.
257         - Had to add some explicit package references for the JDK1.2 Javac to
258           cope with the driver
259
260 Tue Dec 29 12:40:00 GMT 1998
261         - Fixed package imports and some references to java.sql.ResultSet in
262           various files. Compiled and tested the JDBC1 driver.
263
264 Mon Dec 28 19:01:37 GMT 1998
265         - created a new package postgresql.jdbc2 which will contain the JDBC 2
266           specific classes. A similar new package (postgresql.jdbc1) has been
267           created to hold the JDBC 1 specific classes.
268         - modified Makefile to allow compilation of the JDBC 1 & 2 drivers,
269           with the possibility of building a dual-spec driver.
270         - changed the version number in postgresql.Driver to 6.5
271         - modified postgresql.Driver class to initiate the correct driver when
272           used under a 1.1 or 1.2+ JVM.
273         - postgresql.Connection and postgresql.jdbc2.Connection now extends the
274           new class postgresql.ConnectionStub, which allows us to dynamically
275           open the JDBC1 or JDBC2 drivers.
276         - enabled compilation of the driver under Win32 when using the Make
277           from the CygWin package (Cygnus B20.1 was used).
278         - To make future development easier (now we have 2 specifications to
279           work with) the following classes have moved from the postgresql to
280           the postgresql.jdbc1 package:
281                 CallableStatement       Connection
282                 DatabaseMetaData        PreparedStatement
283                 ResultSet               ResultSetMetaData
284                 Statement
285           Some of these classes have common code that is not dependent on
286           either JDBC specification. These common code are still in the
287           postgresql package.
288                 Ie: postgresql.jdbc1.Connection extends postgresql.Connection
289                 and postgresql.jdbc2.Connection extends postgresql.Connection
290
291 Web Oct  7 22:00:00 BST 1998
292         - removed syncronised from Connection.ExecSQL(). See next entry.
293         - added new syncronised locking in the Connection.ExecSQL() and
294           FastPath.fastpath() methods. They now lock against the PG_Steam
295           object for the connection, which now provides full Thread Safety.
296         - Reposted ChangeLog as it's missing from CVS.
297
298 Modifications done since 6.3.2 was released and Sun Aug 30 11:33:06 BST 1998
299
300         - Fixed PreparedStatement.setObject as it didn't handle shorts
301         - ResultSet.getDate() now handles null dates (returns null ratrher
302           than a NullPointerException)
303         - ResultSetMetaData.getPrecision() new returns 0 for VARCHAR
304         - Field now caches the typename->oid in a Hashtable to speed things
305           up. It removes the need for some unnecessary queries to the backend.
306         - PreparedStatement.toString() now returns the SQL statement that it
307           will send to the backend. Before it did nothing.
308         - DatabaseMetaData.getTypeInfo() now does something.
309         - Connection now throws an exception if either of the user or password
310           properties are missing, as they are required for JDBC to work.
311           This occasionally occurs when the client uses the properties version
312           of getConnection(), and is a common question on the email lists.
313
314 Sun Aug 30 11:33:06 BST 1998
315
316         - Created ChangeLog file, and entered stuff done since 6.3.2 and today
317         - Change version number to 6.4 in Driver.java
318         - Added fix to DatabaseMetaData.getTables() submitted by
319           Stefan Andreasen <stefan@linux.kapow.dk>
320         - Added fix to DatabaseMetaData.getColumns() to handle patterns
321           submitted by Stefan Andreasen <stefan@linux.kapow.dk>
322         - Set TcpNoDelay on the connection, as this gives us a 10x speed
323           improvement on FreeBSD (caused by a bug in their TCP Stack). They
324           should fix the bug before 6.4 is released, but will keep this
325           in here unless it causes more problems.
326           Submitted by Jason Venner <jason@idiom.com>
327         - Removed a duplicate definition of fieldCache
328         - Added a more meaningful message when the connection is refused. It
329           now says:
330                 Connection refused. Check that the hostname and port is
331                 correct, and that the postmaster is running with the -i flag,
332                 which enables TCP/IP networking.
333         - Removed kludge in PreparedStatement.setDate() that acted as a
334           temporary fix to a bug in SimpleDateFormat, as it broke date
335           handling in JDK 1.1.6.
336         - Modified PG_Stream and Connection, so that outbound data is now
337           buffered. This should give us a speed improvement, and reduce the
338           ammount of network packets generated.
339         - Removed duplicate code and optimised PG_Stream.
340         - PG_Stream now returns a more meaningful message when the connection
341           is broken by the backend. It now returns:
342                 The backend has broken the connection. Possibly the action you
343                 have attempted has caused it to close.
344         - Removed obsolete code from Connection.
345         - The error message returned when the authentication scheme is unknown
346           has been extended. It now reads:
347                 Authentication type ### not supported. Check that you have
348                 configured the pg_hba.conf file to include the client's IP
349                 address or Subnet, and is using a supported authentication
350                 scheme.
351         - Connection.getMetaData() now caches the instance returned, so
352           multiple calls will return the same instance.
353         - Created a test application that tests the DatabaseMetaData and
354           ResultSetMetaData classes.
355         - Replaced getString(#).getBytes() with getBytes(#) which should speed
356           things up, and reduce memory useage.
357         - Optimised DatabaseMetaData.getProcedures(), and implemented patterns
358         - Fixed NullPointerExceptions thrown when a field is null (Internal
359           to the driver, not caused by results from the backend.
360           DatabaseMetaData.getProcedures() is an example of a method that
361           causes this):
362                 - ResultSetMetaData.getColumnName() now returns field# where
363                   # is the column name.
364                 - ResultSet.getObject() fixed
365                 - Fixed bug in psql example that was affected by null fields
366                 - DatabaseMetaData.getTables()
367         - DatabaseMetaData.getPrimaryKeys() ran a query with an ambiguous field
368           fixed.
369         - getTypeInfo() optimised to increase speed and reduce memory useage
370         - ResultSetMetaData.isCurrency() optimised and is now smaller.
371         - Removed unnecessary code fromResultSetMetaData.getCatalogName()
372           and getSchemaName().
373         - Created new class postgresql.util.PGmoney to map the money type
374         - Created new class postgresql.geometric.PGline to map the line type
375