]> granicus.if.org Git - postgresql/commitdiff
Applied patch submitted by Mike Beachy to give a better error message if
authorBarry Lind <barry@xythos.com>
Sun, 20 Oct 2002 00:10:55 +0000 (00:10 +0000)
committerBarry Lind <barry@xythos.com>
Sun, 20 Oct 2002 00:10:55 +0000 (00:10 +0000)
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.jpx

src/interfaces/jdbc/CHANGELOG [deleted file]
src/interfaces/jdbc/Implementation [deleted file]
src/interfaces/jdbc/README
src/interfaces/jdbc/build.xml
src/interfaces/jdbc/jdbc.jpx [deleted file]

diff --git a/src/interfaces/jdbc/CHANGELOG b/src/interfaces/jdbc/CHANGELOG
deleted file mode 100644 (file)
index 863f836..0000000
+++ /dev/null
@@ -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
-
diff --git a/src/interfaces/jdbc/Implementation b/src/interfaces/jdbc/Implementation
deleted file mode 100644 (file)
index ecfc626..0000000
+++ /dev/null
@@ -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
-
index 7531bc5b209ecb08c929f7ce0d35d18acfdd66a1..e4f364f68000616f23b148b6668ba7e85a4935d1 100644 (file)
@@ -1,13 +1,10 @@
 This is a simple readme describing how to compile and use the jdbc driver.
 
-This file was amended on January 17 2001 to reflect the changes made in the 7.1
-release.
-
 ---------------------------------------------------------------------------
 
-This isn't a guide on how to use JDBC - for that refer to Javasoft's web site:
+This isn't a guide on how to use JDBC - for that refer to sun's web site:
 
-       http://www.javasoft.com/
+       http://java.sun.com/
 
 For problems with this driver, then refer to the postgres-jdbc email
 list:
@@ -17,10 +14,6 @@ list:
 The Driver's home page is:
 
        http://jdbc.postgresql.org/
-or     http://www.retep.org.uk/postgresql/
-
-NB: They are both the same physical directory so both will always be in sync
-(unless the laws of physics break down ;-) )
 
 ---------------------------------------------------------------------------
 
@@ -39,20 +32,10 @@ the directory PREFIX/share/java.
 
 That jar file will contain the driver for _your_ version of the JDK.
 
-Note: As of 7.1, you can build from the top-level directory or from
-src/interfaces/jdbc.
-
 REMEMBER: Once you have compiled the driver, it will work on ALL platforms
 that support that version of the API. You don't need to build it for each
 platform.
 
-That means you don't have to compile it on every platform. Believe me, I
-still hear from people who ask me "I've compiled it ok under Solaris, but it
-won't compile under Linux" - there's no difference.
-
-Don't try to run javac directly.  Don't try to run ant directly.  Neither
-will work.
-
 Possible problems
 
 You may see a message similar to:
@@ -63,11 +46,8 @@ postgresql/Driver.java:87: interface java.sql.Connection is an interface. It can
 This is caused by not having the current directory in your CLASSPATH. Under
 Linux/Solaris, unset the CLASSPATH environment variable, and rerun ant.
 
-If you are still having problems, I keep a copy of the driver (for different
-versions of the backend) on my web site http://www.retep.org.uk/postgres/
-or http://jdbc.postgresql.org/
-
-More details are in the Implementation file src/interfaces/jdbc/Implementation
+If you are still having problems, prebuilt versions of the driver 
+are available at http://jdbc.postgresql.org/
 
 ---------------------------------------------------------------------------
 
@@ -79,9 +59,6 @@ ie: under LINUX/SOLARIS (the example here is my linux box):
 
        export CLASSPATH=.:/usr/local/pgsql/share/java/postgresql.jar
 
-Please don't be tempted to extract the files from the .jar file. There are a
-lot of files in there, and you may break the Exception handling.
-
 ---------------------------------------------------------------------------
 
 USING THE DRIVER
@@ -177,10 +154,6 @@ For example:
 
 Large Object API
 
-Most of the time, you can use the getBytes()/setBytes() methods to read and
-write small Large Objects. However, PostgreSQL's own internal api's are
-available. These allow you to access the object as if it was a file.
-
 The first thing you need to do is to open the LargeObjectManager. This class
 handles the opening of existing objects, and creating new ones. To do this,
 you use the following line of code:
@@ -227,28 +200,6 @@ SQLException to be thrown.
 
                        ------------------
 
-Date datatype:
-
-The driver now issues the "show datestyle;" query when it first connects, so
-any call to ResultSet.getDate() how returns the correct date.
-
-One caveat though: if you change the datestyle from within JDBC, you must also
-issue the "show datestyle" query. Without this, the driver will not know of
-the change.
-
-ie:
-       Statement s = db.createStatement();
-       ...
-       s.executeUpdate("set datestyle='european'");
-       s.executeUpdate("show datestyle");
-       ..
-       s.close();
-
-Please note: This may change later, so that the driver uses the same format
-internally (similar to how the ODBC driver works).
-
-                       ------------------
-
 JDBC supports database specific data types using the getObject() call. The
 following types have their own Java equivalents supplied by the driver:
 
@@ -269,9 +220,3 @@ syntax for writing these to the database.
 
 ---------------------------------------------------------------------------
 
-Peter T Mount, December 29 1998
-home email: peter@retep.org.uk         http://www.retep.org.uk
-work email: petermount@it.maidstone.gov.uk or peter@taer.maidstone.gov.uk
-
-PS: Please use the home email whenever possible. If you must contact me at work
-then please cc my home one at the same time.
index 96c3dbb3138bb46b091e3b5e2e3740994c8f22db..3e6a61dd198ce8d502805b65459fcf37d3728476 100644 (file)
@@ -6,7 +6,7 @@
 
   This file now requires Ant 1.4.1.  2002-04-18
 
-  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.29 2002/09/25 07:01:30 barry Exp $
+  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.30 2002/10/20 00:10:55 barry Exp $
 
 -->
 
     <filter token="JDBCCONNECTCLASS" value="${connectclass}" />
     <filter token="DEF_PGPORT" value="${def_pgport}" />
 
+     <fail unless="major" message="'major' undefined. Please follow the directions in README."/>
+     <fail unless="minor" message="'minor' undefined. Please follow the directions in README."/>
     <!-- Put a check for the current version here -->
 
     <!-- now copy and filter the file -->
     <copy file="${package}/Driver.java.in"
+          overwrite="true"
           tofile="${package}/Driver.java"
           filtering="yes" />
 
diff --git a/src/interfaces/jdbc/jdbc.jpx b/src/interfaces/jdbc/jdbc.jpx
deleted file mode 100644 (file)
index 8c17267..0000000
+++ /dev/null
@@ -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>