* A vulnerability exists due to the insecure creation of temporary files,
which could possibly let a malicious user overwrite arbitrary files
* Repair possible failure to update hint bits on disk
Under rare circumstances this oversight could lead to "could not access
transaction status" failures, which qualifies it as a potential-data-loss bug.
include:
Allow JDBC to compile with JDK 1.4
Add JDBC 3 support
Allows JDBC to set loglevel by adding ?loglevel=X to the connection URL
Add Driver.info
Add updateable result sets
Add support for callable statements
Add query cancel capability
Add refresh row
Fix MD5 encryption handling for multibyte servers
Add support for prepared statements
Approved by jwise@netbsd.org.
Only documented change since previous pkgsrc revision is creation of
a sepearate jar file with compiled versions of the examples. Other
changes may exist.
No documented code changes since the version which shipped with 7.1.2. Build
infrastructure now allows the default port to use to access the postmaster to be
changed.
foo-* to foo-[0-9]*. This is to cause the dependencies to match only the
packages whose base package name is "foo", and not those named "foo-bar".
A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net. Also
change dependency examples in Packages.txt to reflect this.
postgresql-7.1.2.
Most visible changes are that the authors now use jakarta-ant to build
this package, and that the authors have removed support for building
javadoc documentation for this package. This latter is rather unfortunate,
and may need to be addressed within the package.
Also, at some point this week, I will try to rework this package to use
the postgresql Makefile.common, as the original package now fits a little
more closely into the postgresql build hierarchy.
This package also adds one to the number of jakarta-ant using packages in
pkgsrc. At some point soonish I will code up a USE_ANT flag in bsd.pkg.mk
to cut out the duplication of effort...
Other changes include:
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>
Changes since the version shipped with postgresql-7.0:
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
* binaries which are not JVM dependent go in ${PREFIX}/bin
* jar/zip/etc files for use by java programs go in
${PREFIX}/lib/java
* examples for java packages go in ${PREFIX}/share/examples/java
* documentation for java packages go in ${PREFIX}/share/doc/java
JVMs go in their own directories, right now ${PREFIX}/{java,kaffe}, which
is necessary so that multiple JVMs can be installed concurrently, and so
that the miriad packages which count on ${JAVA_HOME} pointing to a JVM
install will DTRT.
Most java packages already use something similar or can be adapted easily.
Java packages such as Jakarta with large amounts of private java will need
to be addressed separately.
This shares a distfile and a checksum file with the postgresql package. It uses
a different workaround for the postgres jdbc Makefile than in that package's
patch-an, but I am leaving that patch there for documentation purposes. (That way
`cd pkgsrcs/databases/postgresql ; make patch' DTRT for people looking at the
sources).