0.2-8	2020-03-06
    *	re-use Java helper for subsequent fetch() calls on the same
	result set which should make them more efficient.

    *	set `has.completed` only if the fetch() has encountered
	end of the result set (#73)

    *	add `use.label` argument to fetch() - if set to `FALSE`
	then column names are used instead of labels (#74)

    *	change both semantics and defaults for `append=FALSE` and
	`overwrite=FALSE` in dbWriteTable() to match what is
	documented in `DBI`: append=TRUE no longer requires the
	existence of the target table and the options are mutally
	exclusive (i.e. append=TRUE, overwrite=TRUE is illegal).

    *	dbWriteTable() also gains `force=TRUE` option (disabled by
	default) which skips the existence check for the target and
	proceeds with removal and/or insertion regardless. This can be
	useful with append=TRUE where the target is not a table and
	thus would not pass the dbExistsTable() check (see #27).

    *	dbRemoveTable() returns TRUE on success (#20). On failure it
	will fail with an error if silent=FALSE (as it always did so
	far) or return FALSE if silent=TRUE.

    *	JDBC errors are reported such that the statement is shown at
	the end. Previously the statement preceded the JDBC error, so
	long statements caused errors to be truncated (#32). This also
	opens up the possibility of more structured error objects.

    *	n, block and use.label are now passed through from
        dbGetQuery() to fetch() (#44)


0.2-7	2018-01-24
    *	cosmetic changes to appease CRAN


0.2-6	2018-01-05
    *	move java-src to java

    *	add schema= argument to dbGetTables() and dbListTables()

    *	support vectorized version of dbSendUpdate() which uses
	batch-inserts for more efficient loading. Note that only
	prepared statements work for now.

    *	use column labels instead of names (#36)

    *	dbColumnInfo() will return the column label in `name' and
	column name in `field.name' (which is optional, for
	compatbility).


0.2-5	2014-12-18
    *	fix bug in dbUnloadDriver() returning NULL instead of FALSE

    *	added block argument to fetch() currently defaulting to 2048
	which controls the fetch size.
	Note that 0.2-4 has set this to the stride which was much too
	big for some databases therefore it is now configurable.
	(issue #10)

    *	recover if setFetchSize() fails since some drivers don't take
	it as a hint and fail regardless (issue #11)


0.2-4	2014-06-26
    *	set fetch size to match the capacity for better performance
	with some drivers. (thanks Jesse Rohland)

    *	close DB objects explicitly (issue #4) to avoid Oracle DB
	running out of resources

    *	add support for dbHasCompleted() even in older DBI versions


0.2-3	2013-12-12
    *	fix duplicate connection object (issue #1)


0.2-2	2013-12-03
    *	add dbGetTables() and dbGetFields() which are similar to
	dbListTable() and dbListFields() but return a full data frame
	as obtained from the corresponding JDBC calls.

    *	add support for stored procedure call JDBC syntax.
	Currently only IN parameters are supported since
	DBI doesn't provide a way to retrieve OUT parameters.

    *	JDBC now uses path.expand() on the classPath components


0.2-1	2012-11-30
    *	add support for dbWriteTable(..., append=TRUE)

    *	pass any additional arguments to dbConnect() as properties to
	the connection

    *	use prepared statements only if parameters are passed,
	otherwise use simple statements (this allows to work around
	bugs in	drivers that do not support prepared statements
	properly)

    *	dbGetQuery() explicitly closes the statement before it returns
	to work arround issues in the Teradata driver.


0.2-0	2011-05-16
    *	use Java code to fetch results -- it should result in much higher
	throughput in pulling result sets from the database. It is
	also more efficient to use fetch() with n specified
	(especially if you know it in advance) than relying on
	n = -1. The latter will try first run with n = 32k and then
	continue with n = 512k chunks and paste the results which is
	inherently slow (still much faster than the 0.1-x way which
	was fetching one record at a time).


0.1-6	2011-03-09
    *	fix a typo in dbClearResult

    *	map NAs in query parameters into NULLs
	(thanks to Axel Klenk)

    *	explicitly close statements right away (Oracle seems to need this)
	(thanks to Axel Klenk)

    *	add "stat" slot (Statement object) to JDBCResult class to make sure
	the statement lives long enough to not close the result set

    *	convert NULLs into NAs in numeric columns

0.1-5	2007-10-01
    *	instantiate driver's class and use a call to 'connect' as a
	fall-back if the DriverManager fails to find a proper driver.

    *	fix SQL syntax in dbWriteTable (superfluous semicolon)

    *	fix a typo in prepared statement code
	(thanks to Carl Grant for the last two bugfixes)

0.1-4	2007-03-05
    *	added SQL error information to most JDBC errors

    *	use .jfindClass to load drivers

0.1-3	2007-02-21
    *	remove beforeFirst() as some DBMS don't like it. This also
	allows a sequential use of fetch() with a limit to load data
	in chunks.

    *	fix a bug that caused NULL entries in string columns to fail
	in fetch()

0.1-2	2007-01-23
    *	fix dbDisconnect return value and update manuals

0.1-1	2007-01-17
    *	added pre-compiled statements and proper dbWriteTable

0.1-0	(not released)
    *	drop pgsql access, switch to DBI

0.0-3	2006-03-05
    *	add direct insert support for pgsql

0.0-2	2005-10-12
    *	added converson of tables to data.frames

0.0-1	2005-05-02
    *	added type conversion (int, double, string)

0.0-0	2004-11-02
    *	first public release
