2014-05-27 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.h: Warn about not using the database inside a
	notification handler.
	* Postgres.m: Add locking around database operations caused
	by asynchronous arrival of a notification.
	* GNUmakefile: new subminor version for bugfix release 
	* Version 1.7.3: released

2014-05-19 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m: More locking to try to protect all access to the
	database connection.
	* GNUmakefile: new subminor version for bugfix release 
	* Version 1.7.2: released

2014-05-13 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m:
	Fix tiny window in which a connection could be unlocked yet have
	the flag set to say it is in a transaction (thus potentially
	allowing a locking consistency error).
	Add locking to protect setting/changing configuration.

2014-05-08 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: new subminor version for bugfix release 
	* Version 1.7.1: released

2014-04-12 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m:
	Fix error removing database observer when last name is removed.

2014-03-05  Wolfgang Lux  <wolfgang.lux@gmail.com>

	* Postgres.m (backendExecute:):
	Fix incorrect comparison operator.

2014-02-21 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.h:
        * SQLClient.m:
	Add mutable copy implementation so that set and dictionary builders
	can be used by caching queries without raising an exception ... the
	mutable copy of the helper's content is what gets cached.

2014-02-15 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.h:
        * SQLClient.m:
	Add helper for building counted set from query.

2013-09-06 Richard Frith-Macdonald  <rfm@gnu.org>

	* Version 1.7.0: released

2013-09-05 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.h:
        * SQLClient.m:
        Use NSUInteger for sizeInBytes:

2013-04-10 Richard Frith-Macdonald  <rfm@gnu.org>

        * ECPG.pgm:
        * MySQL.m:
        * Oracle.pm:
        * Postgres.m:
        * SQLClient.h:
        * SQLClient.m:
        * GNUmakefile:
        Change behavior to no longer trim leading and trailing space from
        values retrieved from database by default.
        Add method to restore automatic trimming for a connection if needed.

2013-03-04 Richard Frith-Macdonald  <rfm@gnu.org>

	* Version 1.6.1: released

2013-03-04 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.h: Add helper classe interfaces.
        * SQLClient.m: Add helper classe implementations.
        Add performance helper classes for when querying a set of records
        containing single values and when querying a dataset which contains
        key/value pairs more naturally haqndled as a dictionary than an array.
        
2013-02-11 Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
	* ECPG.pgm
	* testECPG.m
	* testMySQL.m
	* testSQLite.m
	  use PRIuPTR to NSLog NSUIntegers

2013-01-31 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m: Check for -disconnect being called when inside a
        transaction and handle locking properly in that case.
        Change simple execute and query methods so they don't call -debug:
        inside locked regions, in case the method has been overridden to
        do something not safe in such locked sections (such as trying a
        query in another thread to report extra debug info).

2012-11-29 Richard Frith-Macdonald  <rfm@gnu.org>

        * Wrap more code in exception handlers where there is any potential
        for an exception in a lock protected region.

2012-11-10 Niels Grewe <niels.grewe@halbordnung.de>

	* GNUmakefile: Link against $(FND_LIBS) and $(OBJC_LIBS) instead
	of -lgnustep-base and -lobjc.

2012-10-22 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.h:
        * SQLClient.m:
        * Postgres.m:
        * GNUmakefile:
        Add support for asynchronous notifications and bump version number.

2012-10-18 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* ECPG.pgm:
	* MySQL.m:
	* Postgres.m:
	* Oracle.pm:
	* SQLite.m:
	* JDBC.m:
	* testPostgres.m:
        Change execute methods to return a count of the rows to which the
        executed operation applies, or -1 if not supported.
        Implement for postgresql and mysql.

2012-06-17 Richard Frith-Macdonald  <rfm@gnu.org>

        * Improve check for compatibility of transactions between clients.

2011-09-30 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: try to use pg_config if available.
	* configure: regenerate
	* Postgres.m: Fix to handle new bytea with \x format
	* GNUmakefile: Bump to 1.5.3

2011-04-01 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Cleanup locking on -begin/-commit/-rollback
	* Version 1.5.2: bump version number

2011-04-01 Richard Frith-Macdonald  <rfm@gnu.org>

	* Version 1.5.1: bump version number

2010-11-17  Nicola Pero  <nicola.pero@meta-innovation.com>

	* GNUmakefile.postamble: Uncommented .PRECIOUS for ECPG and
	Oracle, so that typing 'make' does nothing when everything is
	already built.

2010-08-13 Richard Frith-Macdonald  <rfm@gnu.org>

	* MySQL.m: Try to recognise loss of connection.
	Fix bug in timezone management.

2010-07-16 Richard Frith-Macdonald  <rfm@gnu.org>

	* MySQL.m: Add support for TEXT data and for MySQL's failure to support
	timezones.  Also add support for multiple statements in a batch.

2010-07-16 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: Improve check for mysql library.

2010-02-15 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Just include Foundation.h,  fix minor doc errors
	* GNUmakefile: Add documentation flag to avoid warning.

2010-01-29 Richard Frith-Macdonald  <rfm@gnu.org>

	* Postgres.m: Fix to cope with a new date format in recent postgres.

2009-11-18 Richard Frith-Macdonald  <rfm@gnu.org>

	Many tweaks to build under OSX snow leopard.

2009-10-27 Richard Frith-Macdonald  <rfm@gnu.org>

	* ECPG.pgm:
	* MySQL.m:
	* Postgres.m:
	* Oracle.pm:
	* SQLite.m:
	* JDBC.m:
	Don't call -backendConnect or -backendDisconnect ... should be using
	the public API so that notifications are sent properly.

2009-10-01 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: workaround autoconf bug.
	* configure: regenerate

2009-09-16 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Add convenience method to convert array of rows into an array of
	columns.

2009-09-08 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Add method for executing a batch of statements/transactions and
	returning any failed statements/transactions to they can be
	re-done.  Also add methods to manipulate the statements in a
	transaction so we can retry things intelligently.

2008-11-12 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Add support for tracking the number of consecutive connection failures
	and imposing a delay between connection attempts.
	* JDBC.m: fix typo
	* GNUMmakefile: bump version

2008-07-19  Nicola Pero <nicola.pero@meta-innovation.com>

	* configure.ac: Documented the --with-additional-include=,
	--with-additional-lib=, --with-postgres-dir= and
	--with-jre-architecture= options.
	* configure: Regenerated.
	* config.h.in: Regenerated.
	
2008-03-03 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* ECPG.pgm:
	* MySQL.m:
	* Postgres.m:
	* SQLite.m:
	* JDBC.m:
	Alter to allow control of both the way records are strored and
	the way they are listed ... so people can make performance
	optimisations.

2008-02-21 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Experimental new method to set a thread to do all cached
	queries on and to perform asynchronous updates if other
	threads request information which is in the cache but
	past its expiry date.  Should allow threads to use
	config information from a database without blocking
	unnecessarily.

2008-02-15 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Fix memory leak when executing transaction.

2007-10-23 Richard Frith-Macdonald  <rfm@gnu.org>

	Postgres.m: Use E'...' syntax for bytea if it is available.

2007-09-14 Richard Frith-Macdonald  <rfm@gnu.org>

	Update to LGPL3

2007-07-21 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m: Fix retasin bug copying transactions.
	* JDBC.m: Update for new batch code

2007-07-09 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m: Post notifications upon connect and disconnect.

2007-07-07 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Fix error causing loss of some debug output when an
	exception occurs in a transaction.
	Rewrite transaction code to support execution with automatic retry of
	statements when batching.
	* JDBC.m: Update for new transaction code

2007-04-01 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* testSQLite.m:
	* testJDBC.m:
	* MySQL.m:
	* Postgres.m:
	* GNUmakefile:
	* SQLite.m:
	* JDBC.m:
	* testMySQL.m:
	* testPostgres.m:
	* testECPG.m:
	Updates to build on MacOS-X with apple-apple-appple

2007-03-08 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* MySQL.m:
	* ECPG.pgm:
	* Postgres.m:
	* Oracle.pm:
	* SQLite.m:
	* JDBC.m:
	Add KVC support for SQLRecord.  Make SQLRecord into a class cluster
	with a single concrete implementation for now.  Extend API to allow
	specifying of an alternative SQLRecord subclass when doing a query
	so that query results can be efficiently stored into custom subclasses
	rather than having to first be retrieved into an SQLRecord and then
	copied.

2007-02-14  Nicola Pero <nicola.pero@meta-innovation.com>

	* GNUmakefile (BUNDLE_INSTALL_DIR): Set using GNUSTEP_BUNDLES,
	not GNUSTEP_INSTALLATION_DIR.

2007-01-29 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC.m: Add JDBC2.0 batching for when all statements in a
	transaction are simple (ie no NSData arguments) and the batch
	API is supported by the driver.
	* testJDBC.m: Add simple transaction/batch test.

2007-01-29 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC.m: Add support for SQLTransaction class to batch JDBC
	operations.

2006-12-24 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC.m: Don't store pointer to jni information in local variable
	until after we have opened the connection to the database, or we
	may be using a null pointer and generate a crash.

2006-12-22 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: save/restore LIBS after jdbc check so that other
	tests don't try to link jre

2006-10-06 Nicola Pero <nicola.pero@meta-innovation.com>

	* GNUmakefile.wrapper.objc.preamble (ADDITIONAL_LIB_DIRS): Added 
	variable so that the wrapper compiles before the library is installed.

2006-10-02 Nicola Pero <nicola.pero@meta-innovation.com>

	* configure.ac: Do not read gnustep configuration which is never
	used.
	* configure.ac: Added --disable-jdbc-bundle,
	--disable-mysql-bundle, --disable-sqllite-bundle,
	--disable-postgres-bundle flags to be able to turn some bundles
	off (regardless of config results).
	* configure: Regenerated.

2006-10-01 Graham J Lee <graham.lee@operatelecom.com>

        * configure.ac:  Fix to use GNUSTEP_CONFIG_FILE environment variable.
	
2006-09-14 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC push and pop local frames to avoid memory leaks.

2006-08-03 Nicola Pero <nicola.pero@meta-innovation.com>

	* SQLClient.m ([SQLClient -quoteString:]): Renamed local variable
	that had the same name as the method argument.
	
2005-06-23 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: transaction efficiency tweak.
	* GNUmakefile: bump version to 1.3 as the new blob marker changes and
	postgres quoting changes alter behavior.

2005-06-04 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: avoid useless compiler warnings.

2005-05-25 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: Check for new postgres string escaping
	* configure: Regenerate
	* SQLClient.h: Add quoteString method for subclasses to override
	* SQLClient.m:  Add new method and change marker for blobs to be
	one that shouldn't occur in a quoted string.
	* SQLite.m: Use new blob marker
	* MySQL.m: Use new blob marker
	* config.h.in: Add new postgres escaping function
	* Postgres.m: Handle new escaping
	* testPostgres.m: Add check for escaping odd characters.

2005-02-22 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Support quoting of NSArray and NSSet objects.

2006-01-11  Nicola Pero <nicola@brainstorm.co.uk>

	* configure.ac: Do not source GNUSTEP_CONFIG_FILE if it doesn't
	exist, so that the library can be used with older versions of
	gnustep-make/gnustep-base too. :-)
	* configure: Regenerated.

2005-11-23 Richard Frith-Macdonald  <rfm@gnu.org>

	Added SQLite backend support.

2005-11-14 Richard Frith-Macdonald  <rfm@gnu.org>

	Factor out WebServer into separate library, and timer and caching
	stuff into Performance library.  Make this library depend on the
	Performance library.

2005-10-27 Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Add more accurate timestamps and implement request
	and session duration logging.  Also add a unique session ID number
	to each log to make it easy to track requests on a session.

2005-09-28 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile.wrapper.objc.preamble: new file
	* SQLClient.jigs: new file
	* GNUmakefile: Provide java wrappings for SQLClient and friends

2005-09-28 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: boost performance of quoting a little.
	Provide -count method for transactions.


2005-09-26 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Clean up caching/timestamps.
	* SQLClient.m: ditto.

2005-09-22 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Rewrite caching, and expose cache for external use.
	* SQLClient.m: ditto.

2005-09-20 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: make SQLRecord modifieable (replace values).
	* SQLClient.m: ditto.

2005-09-15 Richard Frith-Macdonald  <rfm@gnu.org>

        * configure.ac: Locate postgres 8.0 on debian
	* configure: regenerate
		
2005-08-03 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Add SQLClient_LIBRARIES_DEPEND_UPON for apple as
	suggested by Yen-Ju Chen.
	* SQLClient.m: Don't call allocation debug functions on apple,
	and avoid bogus apple compiler warning.
	Guard against nil object passed to NSMapRemove() ... the apple
	implementation crashes on this.

2005-08-02 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Don't build WebServer stuff on MacOS-X when using the
	apple runtime (and presumably foundation).

2005-07-07 Richard Frith-Macdonald  <rfm@gnu.org>

	* MySQL.m:
	* SQLClient.m:
	* WebServer.h:
	* WebServer.m:
	Tweaks to keep gcc-4 happy (signedness issues) and add support for
	using separate ssl conmfig for different IP addresses.

2005-06-21 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Expand tilde in paths searched for backend bundles.

2005-05-25 Richard Frith-Macdonald  <rfm@gnu.org>

	* Postgres.m: Clear connection if an exception occurs while
	disconnecting ... otherwise a failed disconnect can prevent
	any new connection from being established.
	Improve quoting of strings to be a bit more efficient and to
	remove nul characters.

2005-05-09 Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add method to encode a form from a dictionary
	into a data object ... convenience for where form data is needed.

2005-03-02 Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add support for basic http authentication either
	via username/password pairs in property list or in database table.
	* SQLClient.[hm]: Add methods to query database with local caching
	of results, for use on systems needing high performance, where
	database query (and/or database client-server comms) overheads are
	important.

2005-02-25  Adam Fedor  <fedor@gnu.org>

	* Version 1.1.0:
	* GNUmakefile: Add version.
	* README: Add ftp location.

Sat Feb 19 04:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* Makefile: Build two versions of each bundle with different library
	linkage for systems where dybnamic linker symbol visibility differs.
	* SQLClient.m: Try alternative bundle versions.

Mon Jan 07 15:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* Makefile: Bump version.
	* SQLClient.h: Improve documentation.

Sat Dec 18 06:00:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Fix bug in substitution of nil values into templates.
	Add new method to vend static pages.

Wed Dec 15 13:10:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* MySQL.m, Postgres.m, ECPG.pgm: Do NSLog() logging of field
	information only when debug level is greater than 1.

Fri Dec 10 10:50:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Remove unnecessary libraries from link commands for
	bundles.  On Darwin, specifying these leads to multiply defined
	symbols when an executable attempts to load the bundle.

Fri Nov 19 14:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: parse basic authentication infor and set it in extra
	headers in request.
	* WebServerBundles.m: support handling of paths longer than the
	ones set for each bundle.

Tue Nov 11 14:48:05 2004  Nicola Pero  <n.pero@mi.flashnet.it>

	* GNUmakefile (BUNDLE_INSTALL_DIR): install bundles in
	GNUSTEP_INSTALLATION_DIR, not GNUSTEP_LOCAL_ROOT.

Tue Nov 09 10:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.hm: add ([-append:]) method to merge transactions.

Thu Oct 28 08:45:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Don't generate alert about connection with empty
	request if we have lready handled a request and reset.

Tue Oct 26 16:50:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: debug and duration logging should be turned off
	by default ...  a different value crept in somehow.

Sat Oct  9 14:29:35 2004  Nicola Pero  <n.pero@mi.flashnet.it>

	* SQLClient.m ([SQLClient -simpleExecute:]): Fixed logging
	durations and statements in transactions.

Thu Oct 08 10:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Add ([-quotef:,...]) to perform efficient quoting
	of a string produced using printf style format and arguments.

Thu Oct 07 10:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Optimise timing operations somewhat.

Wed Oct 06 15:04:23 2004  Nicola Pero <n.pero@mi.flashnet.it>

	* WebServer.h: Fixed typo in parameter name.

Wed Oct 06 13:10:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Allow a database transaction to already have been
	begun when [SQLTransactiuon-execute] is called, so we can have
	queries in the same database transaction as a list of statements.

Wed Oct 06 06:15:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Make the rollback opoeration a safe no-op if
	there is no transaction in progress.
	* Postgres.m: Improve exception text by reporting the offending
	SQL statement(s).

Fri Sep 17 16:55:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: When reporting the duration of a commit or
	rollback, report text of all the statements in the transaction.

Fri Aug 28 09:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add support for limiting maximum number of incoming
	sessions permitted from mone host.

Tue Aug 24 14:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add support for HTTP/1.1 persistent connections.

Sun Aug 22 10:35:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Add ([SQLRecord-dictionary]) and tidy/comment the
	class a bit better.

Sat Aug 07 14:25:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Add session timeouts to kill off idle sessions.

Tue Jul 27 17:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

        * configure.ac: Give more help when postgres is not found.
	* configure: regenerate
		
Mon Jul 26 09:50:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Add -transaction method and SQLTransaction class
	* SQLClient.m: Implement -transaction method and SQLTransaction class
	to provide a simple convenient mechanism for executing a sequence
	of statements as a single transaction.

Thu Jul 15 09:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: ([_didRead:]) more informative logging upon reading
	an unexpected end-of-file

Wed Jul 14 12:07:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: Check for PQfformat in libpq, if it is not there
	but the library is there, warn that it is too old.

Thu Jul 02 17:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Add control over character encoding used to
	interpret form data.

Thu Jul 02 13:25:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Fix error response when an exception occurs.

Thu Jul 01 18:00:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Make ([setPort:secure:]) return a status.
	* WebServerBundles.m: Check that web server is able to start.
	* WebServer.h: ditto

Wed Jun 30 05:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Use ./obj as location for library to link,
	for initial case where we link the bundles before installing
	the library.
	* WebServer.m: Add casts to prevent compiler warning.
	* Postgres.m: Commented out NSLog() left over from debugging.

Tue Jun 29 18:10:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Fix code for retrieving reference name ... look in
	the config dictionary first, and in user defaults if not found
	there.
	* SQLClient.h: Document change.
	* GNUmakefile: Link bundles with the library to ensure that they
	find the SQLRecord class when loaded.

Mon Jun 28 12:55:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.h: New file.
	* WebServer.m: New file.
	* WebServerBundles.m: New file.
	* SQLClient.h: Mention WebServer.
	* GNUmakefile: Build WebServer classes.
	Added framework to make it easy to use SQLClient to produce
	standalone http/https applications, such as accepting POST'ed
	records for addition to a database.

Fri May 07 09:15:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	Add methods to log duration of any statements over a certain
	limit.
	Tidy instance variables ... prefix mprivate ones with underscore.
	Install header!

Thu Apr 29 15:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Fix URLs in documentation as suggested by Adam.
	* SQLClient.html: regenerate

Mon Apr 26 16:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	Initial checkin of library.
2009-10-01 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: workaround autoconf bug.
	* configure: regenerate

2009-09-16 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Add convenience method to convert array of rows into an array of
	columns.

2009-09-08 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Add method for executing a batch of statements/transactions and
	returning any failed statements/transactions to they can be
	re-done.  Also add methods to manipulate the statements in a
	transaction so we can retry things intelligently.

2008-11-12 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Add support for tracking the number of consecutive connection failures
	and imposing a delay between connection attempts.
	* JDBC.m: fix typo
	* GNUMmakefile: bump version

2008-07-19  Nicola Pero <nicola.pero@meta-innovation.com>

	* configure.ac: Documented the --with-additional-include=,
	--with-additional-lib=, --with-postgres-dir= and
	--with-jre-architecture= options.
	* configure: Regenerated.
	* config.h.in: Regenerated.
	
2008-03-03 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* ECPG.pgm:
	* MySQL.m:
	* Postgres.m:
	* SQLite.m:
	* JDBC.m:
	Alter to allow control of both the way records are strored and
	the way they are listed ... so people can make performance
	optimisations.

2008-02-21 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	Experimental new method to set a thread to do all cached
	queries on and to perform asynchronous updates if other
	threads request information which is in the cache but
	past its expiry date.  Should allow threads to use
	config information from a database without blocking
	unnecessarily.

2008-02-15 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Fix memory leak when executing transaction.

2007-10-23 Richard Frith-Macdonald  <rfm@gnu.org>

	Postgres.m: Use E'...' syntax for bytea if it is available.

2007-09-14 Richard Frith-Macdonald  <rfm@gnu.org>

	Update to LGPL3

2007-07-21 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m: Fix retasin bug copying transactions.
	* JDBC.m: Update for new batch code

2007-07-09 Richard Frith-Macdonald  <rfm@gnu.org>

        * SQLClient.m: Post notifications upon connect and disconnect.

2007-07-07 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Fix error causing loss of some debug output when an
	exception occurs in a transaction.
	Rewrite transaction code to support execution with automatic retry of
	statements when batching.
	* JDBC.m: Update for new transaction code

2007-04-01 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* testSQLite.m:
	* testJDBC.m:
	* MySQL.m:
	* Postgres.m:
	* GNUmakefile:
	* SQLite.m:
	* JDBC.m:
	* testMySQL.m:
	* testPostgres.m:
	* testECPG.m:
	Updates to build on MacOS-X with apple-apple-appple

2007-03-08 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h:
	* SQLClient.m:
	* MySQL.m:
	* ECPG.pgm:
	* Postgres.m:
	* Oracle.pm:
	* SQLite.m:
	* JDBC.m:
	Add KVC support for SQLRecord.  Make SQLRecord into a class cluster
	with a single concrete implementation for now.  Extend API to allow
	specifying of an alternative SQLRecord subclass when doing a query
	so that query results can be efficiently stored into custom subclasses
	rather than having to first be retrieved into an SQLRecord and then
	copied.

2007-02-14  Nicola Pero <nicola.pero@meta-innovation.com>

	* GNUmakefile (BUNDLE_INSTALL_DIR): Set using GNUSTEP_BUNDLES,
	not GNUSTEP_INSTALLATION_DIR.

2007-01-29 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC.m: Add JDBC2.0 batching for when all statements in a
	transaction are simple (ie no NSData arguments) and the batch
	API is supported by the driver.
	* testJDBC.m: Add simple transaction/batch test.

2007-01-29 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC.m: Add support for SQLTransaction class to batch JDBC
	operations.

2006-12-24 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC.m: Don't store pointer to jni information in local variable
	until after we have opened the connection to the database, or we
	may be using a null pointer and generate a crash.

2006-12-22 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: save/restore LIBS after jdbc check so that other
	tests don't try to link jre

2006-10-06 Nicola Pero <nicola.pero@meta-innovation.com>

	* GNUmakefile.wrapper.objc.preamble (ADDITIONAL_LIB_DIRS): Added 
	variable so that the wrapper compiles before the library is installed.

2006-10-02 Nicola Pero <nicola.pero@meta-innovation.com>

	* configure.ac: Do not read gnustep configuration which is never
	used.
	* configure.ac: Added --disable-jdbc-bundle,
	--disable-mysql-bundle, --disable-sqllite-bundle,
	--disable-postgres-bundle flags to be able to turn some bundles
	off (regardless of config results).
	* configure: Regenerated.

2006-10-01 Graham J Lee <graham.lee@operatelecom.com>

        * configure.ac:  Fix to use GNUSTEP_CONFIG_FILE environment variable.
	
2006-09-14 Richard Frith-Macdonald  <rfm@gnu.org>

	* JDBC push and pop local frames to avoid memory leaks.

2006-08-03 Nicola Pero <nicola.pero@meta-innovation.com>

	* SQLClient.m ([SQLClient -quoteString:]): Renamed local variable
	that had the same name as the method argument.
	
2005-06-23 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: transaction efficiency tweak.
	* GNUmakefile: bump version to 1.3 as the new blob marker changes and
	postgres quoting changes alter behavior.

2005-06-04 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: avoid useless compiler warnings.

2005-05-25 Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: Check for new postgres string escaping
	* configure: Regenerate
	* SQLClient.h: Add quoteString method for subclasses to override
	* SQLClient.m:  Add new method and change marker for blobs to be
	one that shouldn't occur in a quoted string.
	* SQLite.m: Use new blob marker
	* MySQL.m: Use new blob marker
	* config.h.in: Add new postgres escaping function
	* Postgres.m: Handle new escaping
	* testPostgres.m: Add check for escaping odd characters.

2005-02-22 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Support quoting of NSArray and NSSet objects.

2006-01-11  Nicola Pero <nicola@brainstorm.co.uk>

	* configure.ac: Do not source GNUSTEP_CONFIG_FILE if it doesn't
	exist, so that the library can be used with older versions of
	gnustep-make/gnustep-base too. :-)
	* configure: Regenerated.

2005-11-23 Richard Frith-Macdonald  <rfm@gnu.org>

	Added SQLite backend support.

2005-11-14 Richard Frith-Macdonald  <rfm@gnu.org>

	Factor out WebServer into separate library, and timer and caching
	stuff into Performance library.  Make this library depend on the
	Performance library.

2005-10-27 Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Add more accurate timestamps and implement request
	and session duration logging.  Also add a unique session ID number
	to each log to make it easy to track requests on a session.

2005-09-28 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile.wrapper.objc.preamble: new file
	* SQLClient.jigs: new file
	* GNUmakefile: Provide java wrappings for SQLClient and friends

2005-09-28 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: boost performance of quoting a little.
	Provide -count method for transactions.


2005-09-26 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Clean up caching/timestamps.
	* SQLClient.m: ditto.

2005-09-22 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Rewrite caching, and expose cache for external use.
	* SQLClient.m: ditto.

2005-09-20 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: make SQLRecord modifieable (replace values).
	* SQLClient.m: ditto.

2005-09-15 Richard Frith-Macdonald  <rfm@gnu.org>

        * configure.ac: Locate postgres 8.0 on debian
	* configure: regenerate
		
2005-08-03 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Add SQLClient_LIBRARIES_DEPEND_UPON for apple as
	suggested by Yen-Ju Chen.
	* SQLClient.m: Don't call allocation debug functions on apple,
	and avoid bogus apple compiler warning.
	Guard against nil object passed to NSMapRemove() ... the apple
	implementation crashes on this.

2005-08-02 Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Don't build WebServer stuff on MacOS-X when using the
	apple runtime (and presumably foundation).

2005-07-07 Richard Frith-Macdonald  <rfm@gnu.org>

	* MySQL.m:
	* SQLClient.m:
	* WebServer.h:
	* WebServer.m:
	Tweaks to keep gcc-4 happy (signedness issues) and add support for
	using separate ssl conmfig for different IP addresses.

2005-06-21 Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Expand tilde in paths searched for backend bundles.

2005-05-25 Richard Frith-Macdonald  <rfm@gnu.org>

	* Postgres.m: Clear connection if an exception occurs while
	disconnecting ... otherwise a failed disconnect can prevent
	any new connection from being established.
	Improve quoting of strings to be a bit more efficient and to
	remove nul characters.

2005-05-09 Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add method to encode a form from a dictionary
	into a data object ... convenience for where form data is needed.

2005-03-02 Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add support for basic http authentication either
	via username/password pairs in property list or in database table.
	* SQLClient.[hm]: Add methods to query database with local caching
	of results, for use on systems needing high performance, where
	database query (and/or database client-server comms) overheads are
	important.

2005-02-25  Adam Fedor  <fedor@gnu.org>

	* Version 1.1.0:
	* GNUmakefile: Add version.
	* README: Add ftp location.

Sat Feb 19 04:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* Makefile: Build two versions of each bundle with different library
	linkage for systems where dybnamic linker symbol visibility differs.
	* SQLClient.m: Try alternative bundle versions.

Mon Jan 07 15:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* Makefile: Bump version.
	* SQLClient.h: Improve documentation.

Sat Dec 18 06:00:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Fix bug in substitution of nil values into templates.
	Add new method to vend static pages.

Wed Dec 15 13:10:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* MySQL.m, Postgres.m, ECPG.pgm: Do NSLog() logging of field
	information only when debug level is greater than 1.

Fri Dec 10 10:50:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Remove unnecessary libraries from link commands for
	bundles.  On Darwin, specifying these leads to multiply defined
	symbols when an executable attempts to load the bundle.

Fri Nov 19 14:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: parse basic authentication infor and set it in extra
	headers in request.
	* WebServerBundles.m: support handling of paths longer than the
	ones set for each bundle.

Tue Nov 11 14:48:05 2004  Nicola Pero  <n.pero@mi.flashnet.it>

	* GNUmakefile (BUNDLE_INSTALL_DIR): install bundles in
	GNUSTEP_INSTALLATION_DIR, not GNUSTEP_LOCAL_ROOT.

Tue Nov 09 10:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.hm: add ([-append:]) method to merge transactions.

Thu Oct 28 08:45:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Don't generate alert about connection with empty
	request if we have lready handled a request and reset.

Tue Oct 26 16:50:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: debug and duration logging should be turned off
	by default ...  a different value crept in somehow.

Sat Oct  9 14:29:35 2004  Nicola Pero  <n.pero@mi.flashnet.it>

	* SQLClient.m ([SQLClient -simpleExecute:]): Fixed logging
	durations and statements in transactions.

Thu Oct 08 10:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Add ([-quotef:,...]) to perform efficient quoting
	of a string produced using printf style format and arguments.

Thu Oct 07 10:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Optimise timing operations somewhat.

Wed Oct 06 15:04:23 2004  Nicola Pero <n.pero@mi.flashnet.it>

	* WebServer.h: Fixed typo in parameter name.

Wed Oct 06 13:10:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Allow a database transaction to already have been
	begun when [SQLTransactiuon-execute] is called, so we can have
	queries in the same database transaction as a list of statements.

Wed Oct 06 06:15:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Make the rollback opoeration a safe no-op if
	there is no transaction in progress.
	* Postgres.m: Improve exception text by reporting the offending
	SQL statement(s).

Fri Sep 17 16:55:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: When reporting the duration of a commit or
	rollback, report text of all the statements in the transaction.

Fri Aug 28 09:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add support for limiting maximum number of incoming
	sessions permitted from mone host.

Tue Aug 24 14:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.[hm]: Add support for HTTP/1.1 persistent connections.

Sun Aug 22 10:35:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.[hm]: Add ([SQLRecord-dictionary]) and tidy/comment the
	class a bit better.

Sat Aug 07 14:25:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Add session timeouts to kill off idle sessions.

Tue Jul 27 17:30:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

        * configure.ac: Give more help when postgres is not found.
	* configure: regenerate
		
Mon Jul 26 09:50:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Add -transaction method and SQLTransaction class
	* SQLClient.m: Implement -transaction method and SQLTransaction class
	to provide a simple convenient mechanism for executing a sequence
	of statements as a single transaction.

Thu Jul 15 09:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: ([_didRead:]) more informative logging upon reading
	an unexpected end-of-file

Wed Jul 14 12:07:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* configure.ac: Check for PQfformat in libpq, if it is not there
	but the library is there, warn that it is too old.

Thu Jul 02 17:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Add control over character encoding used to
	interpret form data.

Thu Jul 02 13:25:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Fix error response when an exception occurs.

Thu Jul 01 18:00:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.m: Make ([setPort:secure:]) return a status.
	* WebServerBundles.m: Check that web server is able to start.
	* WebServer.h: ditto

Wed Jun 30 05:40:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* GNUmakefile: Use ./obj as location for library to link,
	for initial case where we link the bundles before installing
	the library.
	* WebServer.m: Add casts to prevent compiler warning.
	* Postgres.m: Commented out NSLog() left over from debugging.

Tue Jun 29 18:10:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.m: Fix code for retrieving reference name ... look in
	the config dictionary first, and in user defaults if not found
	there.
	* SQLClient.h: Document change.
	* GNUmakefile: Link bundles with the library to ensure that they
	find the SQLRecord class when loaded.

Mon Jun 28 12:55:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* WebServer.h: New file.
	* WebServer.m: New file.
	* WebServerBundles.m: New file.
	* SQLClient.h: Mention WebServer.
	* GNUmakefile: Build WebServer classes.
	Added framework to make it easy to use SQLClient to produce
	standalone http/https applications, such as accepting POST'ed
	records for addition to a database.

Fri May 07 09:15:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	Add methods to log duration of any statements over a certain
	limit.
	Tidy instance variables ... prefix mprivate ones with underscore.
	Install header!

Thu Apr 29 15:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	* SQLClient.h: Fix URLs in documentation as suggested by Adam.
	* SQLClient.html: regenerate

Mon Apr 26 16:20:00 2004  Richard Frith-Macdonald  <rfm@gnu.org>

	Initial checkin of library.
