mirror of https://github.com/postgres/postgres
configure hasn't been run before trying to build. Also cleaned up the README file and removed some obsolete files. Modified Files: jdbc/README jdbc/build.xml Removed Files: jdbc/CHANGELOG jdbc/Implementation jdbc/jdbc.jpxREL7_3_STABLE
parent
272bf59d29
commit
ea794574f1
@ -1,467 +0,0 @@ |
||||
Tue Mar 06 12:05:00 GMT 2001 peter@retep.org.uk |
||||
- Removed org.postgresql.xa.Test from the JDBC EE driver as it's an old |
||||
test class and prevented it from compiling. |
||||
|
||||
Fri Mar 02 10:00:00 GMT 2001 peter@retep.org.uk |
||||
- Fixed build.xml so that PGclob is not built in the JDBC1.2 driver |
||||
|
||||
|
||||
Fri Feb 17 18:25:00 GMT 2001 peter@retep.org.uk |
||||
- Removed the last deprecation warnings from the Java2 driver. Now only |
||||
the old examples give deprecation warnings. |
||||
- Added a new class into core that (JDK1.3+) ensures all connections are |
||||
closed when the VM terminates. |
||||
|
||||
Fri Feb 17 15:11:00 GMT 2001 peter@retep.org.uk |
||||
- Reduced the object overhead in PreparedStatement by reusing the same |
||||
StringBuffer object throughout. Similarly SimpleDateStamp's are alse |
||||
reused in a thread save manner. |
||||
- Implemented in PreparedStatement: setNull(), setDate/Time/Timestamp |
||||
using Calendar, setBlob(), setCharacterStream() |
||||
- Clob's are now implemented in ResultSet & PreparedStatement! |
||||
- Implemented a lot of DatabaseMetaData & ResultSetMetaData methods. |
||||
We have about 18 unimplemented methods left in JDBC2 at the current |
||||
time. |
||||
|
||||
Web Feb 14 17:29:00 GMT 2001 peter@retep.org.uk |
||||
- Fixed bug in LargeObject & BlobOutputStream where the stream's output |
||||
was not flushed when either the stream or the blob were closed. |
||||
- Fixed PreparedStatement.setBinaryStream() where it ignored the length |
||||
|
||||
Tue Feb 13 16:33:00 GMT 2001 peter@retep.org.uk |
||||
- More TestCases implemented. Refined the test suite api's. |
||||
- Removed need for SimpleDateFormat in ResultSet.getDate() improving |
||||
performance. |
||||
- Rewrote ResultSet.getTime() so that it uses JDK api's better. |
||||
|
||||
Tue Feb 13 10:25:00 GMT 2001 peter@retep.org.uk |
||||
- Added MiscTest to hold reported problems from users. |
||||
- Fixed PGMoney. |
||||
- JBuilder4/JDBCExplorer now works with Money fields. Patched Field & |
||||
ResultSet (lots of methods) for this one. Also changed cash/money to |
||||
return type DOUBLE not DECIMAL. This broke JBuilder as zero scale |
||||
BigDecimal's can't have decimal places! |
||||
- When a Statement is reused, the previous ResultSet is now closed. |
||||
- Removed deprecated call in ResultSet.getTime() |
||||
|
||||
Thu Feb 08 18:53:00 GMT 2001 peter@retep.org.uk |
||||
- Changed a couple of settings in DatabaseMetaData where 7.1 now |
||||
supports those features |
||||
- Implemented the DatabaseMetaData TestCase. |
||||
|
||||
Wed Feb 07 18:06:00 GMT 2001 peter@retep.org.uk |
||||
- Added comment to Connection.isClosed() explaining why we deviate from |
||||
the JDBC2 specification. |
||||
- Fixed bug where the Isolation Level is lost while in autocommit mode. |
||||
- Fixed bug where several calls to getTransactionIsolationLevel() |
||||
returned the first call's result. |
||||
|
||||
Tue Feb 06 19:00:00 GMT 2001 peter@retep.org.uk |
||||
- Completed first two TestCase's for the test suite. JUnit is now |
||||
recognised by ant. |
||||
|
||||
Wed Jan 31 08:46:00 GMT 2001 peter@retep.org.uk |
||||
- Some minor additions to Statement to make our own extensions more |
||||
portable. |
||||
- Statement.close() will now call ResultSet.close() rather than just |
||||
dissasociating with it. |
||||
|
||||
Tue Jan 30 22:24:00 GMT 2001 peter@retep.org.uk |
||||
- Fixed bug where Statement.setMaxRows() was a global setting. Now |
||||
limited to just itself. |
||||
- Changed LargeObject.read(byte[],int,int) to return the actual number |
||||
of bytes read (used to be void). |
||||
- LargeObject now supports InputStream's! |
||||
- PreparedStatement.setBinaryStream() now works! |
||||
- ResultSet.getBinaryStream() now returns an InputStream that doesn't |
||||
copy the blob into memory first! |
||||
- Connection.isClosed() now tests to see if the connection is still alive |
||||
rather than if it thinks it's alive. |
||||
Thu Jan 25 09:11:00 GMT 2001 peter@retep.org.uk |
||||
- Added an alternative constructor to PGSQLException so that debugging |
||||
some more osteric bugs is easier. If only 1 arg is supplied and it's |
||||
of type Exception, then that Exception's stacktrace is now included. |
||||
|
||||
Wed Jan 24 09:18:00 GMT 2001 peter@retep.org.uk |
||||
- Removed the 8k limit by setting it to 64k |
||||
|
||||
Fri Jan 19 08:47:00 GMT 2001 peter@retep.org.uk |
||||
- Applied patch submitted by John Schutz <schutz@austin.rr.com> that |
||||
fixed a bug with ANT's SQL functions (not needed for building but nice |
||||
to have fixed). |
||||
|
||||
Thu Jan 18 17:30:00 GMT 2001 peter@retep.org.uk |
||||
- Added new error message into errors.properties "postgresql.notsensitive" |
||||
This is used by jdbc2.ResultSet when a method is called that should |
||||
fetch the current value of a row from the database refreshRow() for |
||||
example. |
||||
- These methods no longer throw the not implemented but the new noupdate |
||||
error. This is in preparation for the Updateable ResultSet support |
||||
which will overide these methods by extending the existing class to |
||||
implement that functionality, but needed to show something other than |
||||
notimplemented: |
||||
moveToCurrentRow() |
||||
moveToInsertRow() |
||||
rowDeleted() |
||||
rowInserted() |
||||
all update*() methods, except those that took the column as a String |
||||
as they were already implemented to convert the String to an int. |
||||
- getFetchDirection() and setFetchDirection() now throws |
||||
"postgresql.notimp" as we only support one direction. |
||||
The CursorResultSet will overide this when its implemented. |
||||
- Created a new class under jdbc2 UpdateableResultSet which extends |
||||
ResultSet and overides the relevent update methods. |
||||
This allows us to implement them easily at a later date. |
||||
- In jdbc2.Connection, the following methods are now implemented: |
||||
createStatement(type,concurrency); |
||||
getTypeMap(); |
||||
setTypeMap(Map); |
||||
- The JDBC2 type mapping scheme almost complete, just needs SQLInput & |
||||
SQLOutput to be implemented. |
||||
- Removed some Statement methods that somehow appeared in Connection. |
||||
- In jdbc2.Statement() |
||||
getResultSetConcurrency() |
||||
getResultSetType() |
||||
setResultSetConcurrency() |
||||
setResultSetType() |
||||
- Finally removed the old 6.5.x driver. |
||||
|
||||
Thu Jan 18 12:24:00 GMT 2001 peter@retep.org.uk |
||||
- These methods in org.postgresql.jdbc2.ResultSet are now implemented: |
||||
getBigDecimal(int) ie: without a scale (why did this get missed?) |
||||
getBlob(int) |
||||
getCharacterStream(int) |
||||
getConcurrency() |
||||
getDate(int,Calendar) |
||||
getFetchDirection() |
||||
getFetchSize() |
||||
getTime(int,Calendar) |
||||
getTimestamp(int,Calendar) |
||||
getType() |
||||
NB: Where int represents the column name, the associated version |
||||
taking a String were already implemented by calling the int |
||||
version. |
||||
- These methods no longer throw the not implemented but the new noupdate |
||||
error. This is in preparation for the Updateable ResultSet support |
||||
which will overide these methods by extending the existing class to |
||||
implement that functionality, but needed to show something other than |
||||
notimplemented: |
||||
cancelRowUpdates() |
||||
deleteRow() |
||||
- Added new error message into errors.properties "postgresql.noupdate" |
||||
This is used by jdbc2.ResultSet when an update method is called and |
||||
the ResultSet is not updateable. A new method notUpdateable() has been |
||||
added to that class to throw this exception, keeping the binary size |
||||
down. |
||||
- Added new error message into errors.properties "postgresql.psqlnotimp" |
||||
This is used instead of unimplemented when it's a feature in the |
||||
backend that is preventing this method from being implemented. |
||||
- Removed getKeysetSize() as its not part of the ResultSet API |
||||
|
||||
Thu Jan 18 09:46:00 GMT 2001 peter@retep.org.uk |
||||
- Applied modified patch from Richard Bullington-McGuire |
||||
<rbulling@microstate.com>. I had to modify it as some of the code |
||||
patched now exists in different classes, and some of it actually |
||||
patched obsolete code. |
||||
|
||||
Wed Jan 17 10:19:00 GMT 2001 peter@retep.org.uk |
||||
- Updated Implementation to include both ANT & JBuilder |
||||
- Updated README to reflect the changes since 7.0 |
||||
- Created jdbc.jpr file which allows JBuilder to be used to edit the |
||||
source. JBuilder _CAN_NOT_ be used to compile. You must use ANT for |
||||
that. It's only to allow JBuilders syntax checking to improve the |
||||
drivers source. Refer to Implementation for more details |
||||
|
||||
Wed Dec 20 16:19:00 GMT 2000 peter@retep.org.uk |
||||
- Finished build.xml and updated Driver.java.in and buildDriver to |
||||
match how Makefile and ANT operate. |
||||
|
||||
Tue Dec 19 17:30:00 GMT 2000 peter@retep.org.uk |
||||
- Finally created ant build.xml file |
||||
|
||||
Mon Nov 20 08:12:00 GMT 2000 peter@retep.org.uk |
||||
- Encoding patch to Connection by wrobell@posexperts.com.pl |
||||
|
||||
Tue Oct 17 15:35:00 BST 2000 petermount@maidstone.gov.uk |
||||
- Changed getTimestamp() again. This time Michael Stephenson's |
||||
<mstephenson@tirin.openworld.co.uk> solution looked far better |
||||
than the original solution put in June. |
||||
|
||||
Tue Oct 10 13:12:00 BST 2000 peter@retep.org.uk |
||||
- DatabaseMetaData.supportsAlterTableWithDropColumn() as psql doesn't |
||||
support dropping of individual columns |
||||
- Merged in some last patches. Only 1 left, which may not be compatible |
||||
with jdbc1 |
||||
- Merged in my old retepsql project. Makefile now includes it. |
||||
|
||||
Mon Oct 02 12:30:00 BST 2000 peter@retep.org.uk |
||||
- Merged in byte[] array allocation changes submitted by Gunnar R|nning |
||||
<gunnar@candleweb.no> |
||||
|
||||
Mon Sep 25 14:22:00 BST 2000 peter@retep.org.uk |
||||
- Removed the DriverClass kludge. Now the org.postgresql.Driver class |
||||
is compiled from a template file, and now has both the connection |
||||
class (ie jdbc1/jdbc2) and the current version's from Makefile.global |
||||
|
||||
Thu Jul 20 16:30:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Fixed DatabaseMetaData.getTableTypes() |
||||
|
||||
Tue Jun 06 12:00:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Added org/postgresql/DriverClass.java to the list of files removed |
||||
by make clean (it's dynamically built) |
||||
- Fixed Statement, so that the update count is valid when an SQL |
||||
DELETE operation is done. |
||||
- While fixing the update count, made it easier to get the OID of |
||||
the last insert as well. Example is in example/basic.java |
||||
|
||||
Tue Jun 06 08:37:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Removed a hardwired 8K limit on query strings |
||||
- Added some missing org.'s in Connection that prevented |
||||
the use of the geometric types. |
||||
|
||||
Thu Jun 01 07:26:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Removed timezone in getTimestamp() methods in ResultSet. |
||||
|
||||
Mon May 15 22:30:00 BST 2000 peter@retep.org.uk |
||||
- Fixed the message Makefile produces after compiling. It still said |
||||
about the old Driver class, not the new package. Spotted by |
||||
Joseph Shraibman <jks@p1.selectacast.net> |
||||
|
||||
Thu May 04 11:38:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Corrected incorrect date in CHANGELOG |
||||
- Fixed the ImageViewer example |
||||
|
||||
Wed May 03 16:47:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Fixed the Makefile so that postgresql.jar is built everytime |
||||
the jdbc1 or jdbc2 rules are called. |
||||
- Fixed the threadsafe example. It had problems with autocommit |
||||
|
||||
Wed May 03 14:32:00 BST 2000 petermount@it.maidstone.gov.uk |
||||
- Rewrote the README file (the old one was 18 months old!) |
||||
- Added @deprecated tags to org.postgresql.jdbc2.ResultSet |
||||
to clear some warnings issued during compilation. |
||||
|
||||
Wed Apr 12 22:14:00 BST 2000 peter@retep.org.uk |
||||
- Implemented the JDBC2 Blob interface, and ResultSet.getBlob(). |
||||
|
||||
Wed Apr 12 20:20:00 BST 2000 peter@retep.org.uk |
||||
- Fixed bug in ResultSet.absolute(). Negative rows are now supported. |
||||
- Implemented ResultSet.relative(), afterLast(). |
||||
|
||||
Tue Feb 1 21:40:00 GMT 2000 peter@retep.org.uk |
||||
- Finally imported the contributed javax extensions by Assaf Arkin |
||||
arkin@exoffice.com |
||||
|
||||
Mon Jan 24 21:00:00 GMT 2000 peter@retep.org.uk |
||||
- Finally introduced the 7.0 additions to the core CVS repository. |
||||
- All source files are now under the org.postgresql package (previously |
||||
they were under postgresql). The package lines now changed |
||||
accordingly. |
||||
- The Makefile was rewritten so it should now work on machines that |
||||
can't handle the $( ) syntax. |
||||
- Dutch translation by Arnout Kuiper (ajkuiper@wxs.nl) |
||||
|
||||
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 <sverrehu@online.no> |
||||
- 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 |
||||
<pmhahn@titan.lahn.de> |
||||
- 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 |
||||
<yutaka@marin.or.jp> |
||||
- 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 <stefan@linux.kapow.dk> |
||||
- Added fix to DatabaseMetaData.getColumns() to handle patterns |
||||
submitted by Stefan Andreasen <stefan@linux.kapow.dk> |
||||
- 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 <jason@idiom.com> |
||||
- 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 |
||||
|
@ -1,199 +0,0 @@ |
||||
This short document is provided to help programmers through the internals of |
||||
the PostgreSQL JDBC driver. |
||||
|
||||
Last update: January 17 2001 peter@retep.org.uk |
||||
|
||||
build.xml |
||||
--------- |
||||
|
||||
As of 7.1, we now use the ANT build tool to build the driver. ANT is part of |
||||
the Apache/Jakarta project, and provides far superior build capabilities. You |
||||
can find ANT from http://jakarta.apache.org/ant/index.html and being pure java |
||||
it will run on any java platform. |
||||
|
||||
So far I've tested it under JDK1.2.x & JDK1.3 (both Linux & NT) but not yet with |
||||
JDK1.1.8. Because of the latter the Makefile still works for now, but should be |
||||
gone for 7.2. |
||||
|
||||
Anyhow, to build, simply type ant and the .jar file will be created and put into |
||||
the jars directory. |
||||
|
||||
Tip: If you run ant from the sources root directory (ie: where the configure |
||||
script is located) you will find another build.xml file. It is advised to run |
||||
ant from that directory as it will then compile some auxilary Java/JDBC |
||||
utilities that are located under the /contrib/retep directory. |
||||
|
||||
Makefile |
||||
-------- |
||||
|
||||
Prior to 7.1, all compilation must be done by using Make. This is because there |
||||
are three versions of the driver, one for JDBC1 (for JDK 1.1.x) and the others |
||||
for JDBC2 (for JDK 1.2 or later, one standard and one enterprise). |
||||
|
||||
As of 7.1, ANT is the build tool of choice. Just compare Makefile and build.xml |
||||
to see why! Make just isn't suited to Java. |
||||
|
||||
Building with just the JDK |
||||
-------------------------- |
||||
|
||||
This is not advised, simply because you have to make sure you include the |
||||
correct classes, and the fact that org.postgresql.Driver is built on the fly. |
||||
Also, javac won't pick up all the classes because some (org.postgresql.geometric |
||||
for example) are loaded dynamically. |
||||
|
||||
org/postgresql/Driver.java.in |
||||
----------------------------- |
||||
|
||||
Because there are three versions of the driver, the org.postgresql.Driver class |
||||
is built dynamically. To build correctly ANT copies the Driver.java.in file to |
||||
Driver.java replacing certain values according to the required driver. |
||||
|
||||
The replaced values are of the format %VALUE%, ie: %MAJORVERSION% is replaced |
||||
with 7 in the 7.1 version of the driver. |
||||
|
||||
postgresql.jar |
||||
-------------- |
||||
|
||||
This jar file is produced by ANT, and contains the driver for your JDK platform. |
||||
|
||||
If you downloaded a precompiled binary from the web, you may find that the |
||||
jar file will be named differently. These are identical to this file but are |
||||
named according to the backend and jdk versions. |
||||
|
||||
The naming convention is of the form: jdbc-#.#-#.##.jar |
||||
|
||||
ie: for 7.1 |
||||
jdbc-7.1-1.1.jar JDBC Driver for JDK1.1.8 |
||||
jdbc-7.1-1.2.jar JDBC Driver for JDK1.2 & JDK1.3 |
||||
jdbc-7.1-1.2ent.jar JDBC Driver for JDK1.2 & JDK1.3 Enterprise Editions |
||||
|
||||
If in the future there are any 1.3 specific classes then there will be two new |
||||
jar files. |
||||
|
||||
Note: All the precompiled binaries are built under Linux. |
||||
|
||||
jdbc.jpx |
||||
-------- |
||||
|
||||
This is a JBuilder4 project file. It's here to allow JBuilder to be used to |
||||
develop the driver. Mainly for it's Editor's features like syntax checking and |
||||
auto-completion etc. |
||||
|
||||
IMPORTANT: You CAN NOT build the driver from within JBuilder. You must use ANT. |
||||
This is because of the three versions of the JDK. If you try to use |
||||
JBuilder, it will try to build everything, and it will just not work. |
||||
|
||||
Importing packages |
||||
------------------ |
||||
|
||||
In user code, you may have to import one or more packages, if and only if you |
||||
are using the non jdbc extensions (like FastPath, or LargeObject). |
||||
|
||||
DO NOT import the postgresql, postgresql.jdbc1 or postgresql.jdbc2 packages! |
||||
|
||||
Internally, some classes will import the packages when there is a link between |
||||
them and the other packages. However, the above rule still applies. It's there |
||||
because Javac becomes confused between the different places that similar class |
||||
names are present. |
||||
|
||||
However, there are places where they need to refer to classes in the postgresql |
||||
package. In this case, import the individual classes, and not the entire |
||||
package. |
||||
|
||||
ie: import postgresql.Field |
||||
|
||||
NOT import postgresql.* |
||||
|
||||
Package Layout |
||||
-------------- |
||||
|
||||
The driver is split into several packages: |
||||
|
||||
org.postgresql core classes that can be accessed by user code |
||||
org.postgresql.core core classes not normally used externally |
||||
org.postgresql.jdbc1 classes used only in implementing JDBC 1 |
||||
org.postgresql.jdbc2 classes used only in implementing JDBC 2 |
||||
org.postgresql.fastpath FastPath to backend functions |
||||
org.postgresql.geometric 2D Geometric types mapped to Java Objects |
||||
org.postgresql.largeobject Low level Large Object access |
||||
org.postgresql.util Utility classes |
||||
|
||||
|
||||
Package org.postgresql |
||||
------------------ |
||||
|
||||
This package holds the core classes. |
||||
|
||||
Driver registers the driver when it's loaded, and determines which |
||||
Connection class (in jdbc1 or jdbc2 packages) to use when |
||||
connecting to a database. |
||||
|
||||
Field Used internally to represent a Field |
||||
PG_Stream Used internally to manage the network stream. |
||||
PostgresqlDataSource |
||||
Exists in the Java2 Enterprise edition driver only and is the |
||||
enterprise equivalent to Driver |
||||
|
||||
These classes contains common code that is not dependent to the |
||||
two JDBC specifications. |
||||
|
||||
Connection Common code used in Connections, mainly Network Protocol stuff. |
||||
ResultSet Common code used in ResultSet's |
||||
|
||||
Package org.postgresql.core |
||||
----------------------- |
||||
|
||||
New in 7.1, this is where core classes (common to all versions) will exist. Any |
||||
new class that would have gone into org.postgresql must go in here instead. |
||||
|
||||
BytePoolDim1 Handles a pool of byte[] arrays. |
||||
BytePoolDim2 Handles a pool of byte[][] arrays |
||||
MemoryPool Interface for managing MemoryPools. Not used (yet). |
||||
ObjectPool Interface for an Object Pool |
||||
SimpleObjectPool Class that implements ObjectPool and used by BytePoolDim# |
||||
Encoding Character encoding logic, mainly for Connection and PG_Stream. |
||||
|
||||
Package org.postgresql.fastpath |
||||
--------------------------- |
||||
|
||||
Fastpath Handles executing a function on the PostgreSQL Backend |
||||
FastpathArg Defines an argument for a function call |
||||
|
||||
Package org.postgresql.geometric |
||||
---------------------------- |
||||
|
||||
PGbox Maps to postgresql type box |
||||
PGcircle Maps to postgresql type circle |
||||
PGline Maps to postgresql type line |
||||
PGlseg Maps to postgresql type lseg |
||||
PGpath Maps to postgresql type path |
||||
PGpoint Maps to postgresql type point |
||||
PGpolygon Maps to postgresql type polygon |
||||
|
||||
Package org.postgresql.jdbc1 |
||||
------------------------ |
||||
|
||||
The classes in this package handle the JDBC 1 Specification, for JDK 1.1.x |
||||
All interfaces in the java.sql package are present here. |
||||
|
||||
Package org.postgresql.jdbc2 |
||||
------------------------ |
||||
|
||||
The classes in this package handle the JDBC 2 Specification, for JDK 1.2 |
||||
All interfaces in the java.sql, and javax.sql packages are present here. |
||||
|
||||
Package org.postgresql.largeobject |
||||
------------------------------ |
||||
|
||||
LargeObject Represents an open LargeObject |
||||
LargeObjectManager Handles the opening and deleting of LargeObjects |
||||
|
||||
Package org.postgresql.util |
||||
----------------------- |
||||
|
||||
PGmoney Maps to postgresql type money |
||||
PGobject Used to represent postgresql types that have no Java equivalent |
||||
PGtokenizer Helper class for the geometric types |
||||
Serialize Used to serialise Java objects into tabes, rather than Blobs |
||||
UnixCrypt Used to handle crypt authentication |
||||
|
@ -1,31 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
||||
<!--JBuilder XML Project--> |
||||
<project> |
||||
<property category="runtime.0" name="RunnableType" value="com.borland.jbuilder.runtime.ApplicationRunner" /> |
||||
<property category="runtime.0" name="jsprunner.docbase" value="." /> |
||||
<property category="runtime.0" name="jsprunner.jspfile" value="E%|/docs/java/xml/example6" /> |
||||
<property category="sys" name="BackupPath" value="bak" /> |
||||
<property category="sys" name="CheckStable" value="1" /> |
||||
<property category="sys" name="Company" value="" /> |
||||
<property category="sys" name="Copyright" value="Copyright (c) 2001" /> |
||||
<property category="sys" name="DefaultPackage" value="org.postgresql.core" /> |
||||
<property category="sys" name="Description" value="" /> |
||||
<property category="sys" name="DocPath" value="doc" /> |
||||
<property category="sys" name="ExcludeClassEnabled" value="0" /> |
||||
<property category="sys" name="JDK" value="java 1.3.0-C" /> |
||||
<property category="sys" name="LastTag" value="0" /> |
||||
<property category="sys" name="Libraries" value="JUnit" /> |
||||
<property category="sys" name="MakeStable" value="0" /> |
||||
<property category="sys" name="OutPath" value="build" /> |
||||
<property category="sys" name="SourcePath" value="." /> |
||||
<property category="sys" name="Title" value="" /> |
||||
<property category="sys" name="Version" value="1.0" /> |
||||
<property category="sys" name="WorkingDirectory" value="." /> |
||||
<node type="Package" name="org.postgresql.core" /> |
||||
<file path="build.xml" /> |
||||
<file path="CHANGELOG" /> |
||||
<file path="Implementation" /> |
||||
<file path="README" /> |
||||
<file path="org/postgresql/jdbc2/UpdateableResultSet.java" /> |
||||
</project> |
Loading…
Reference in new issue