2004-05-22  Roger Leigh  <rleigh@debian.org>

	* Version 0.1.6.

	* Don't generate pkg-config template.

	* Renamed libpqxx-object to libpqxxobject.

2004-05-10  Roger Leigh  <rleigh@debian.org>

	* Fixed problems with field_proxy copy constructors, but
	field_proxy_readonly is currently a non-const method.

	* Added test of field_proxy to tutorial.

2004-04-02  Roger Leigh  <rleigh@debian.org>

	* transaction exec(), exec_noresult() and perform() methods
	are overloaded to allow std::ostringstream and query objects
	in addition to std::string.

	* query_helpers use static methods so that they do not require
	instantiation.

	* Added an autoupdate method to row_base, to insert or update a
	row as is appropriate.

	* Added a field_proxy class to act as a proxy for a field class.

2004-04-01  Roger Leigh  <rleigh@debian.org>

	* query_helpers contain a static apply() function, which means the
	class does not have to be instantiated.

2004-04-01  Roger Leigh  <rleigh@debian.org>

	* Version 0.1.5.

	* Don't build a shared library by default.

	* Use pkg-config correctly when getting libpqxx information.

	* field<> and ptr_field<> provide a number of overloaded operators
	to make their use more convenient.

	* Update places.cc to use insert_query and update_query.

	* Add query_helpers.h which contains templates used to convert
	field values into a form suitable for use by the query classes.

	* Add insert_query and update_query classes which derive from
	query.  These may be used to generate queries from field
	values without messing around with stringstreams directly.

	* Add a query base class for generating queries.

2004-03-11  Roger Leigh  <rleigh@debian.org>

	* Split field<> into field<> (for holding values), and ptr_field
	(for holding values which may be NULL).  Common field
	functionality is provided by a common field_base base class.

2004-02-20  Roger Leigh  <rleigh@debian.org>

	* Version 0.1.4.

	* Add a copy contructor to row<> to prevent duplication of
	checkpoint data during copying, which can result in a double
	delete of the pointer when the last object is destroyed.  Also
	added an operator=().

	* All operator=() methods check for self assignment.

	* Make all constructors taking arguments explicit, apart from
	copy constructors.

2004-02-19  Roger Leigh  <rleigh@debian.org>

	* Added object checkpointing and rollback support to row objects.
	A saved row is stored in the root object of a row object and is
	restored if the transaction is aborted, or discarded on commit.
	Support is required from the transaction object to prevent all
	children from creating and using checkpoint objects (which is
	wasteful) at the expense of only being able to do one database
	operation per object per transaction.

	* field<> can now contain NULL values.

	* Updated the tutorial to reflect recent changes.

2004-01-30  Roger Leigh  <rleigh@debian.org>

	* field<>: overload operator * and operator -> to provide
	read-only (const) access to the contained value and its members.

	* Change project licence to the same BSD-style licence used by
	libpqxx.

2004-01-27  Roger Leigh  <rleigh@debian.org>

	* Renamed column<> class to field<>, to better reflect its
	purpose.

2004-01-20  Roger Leigh  <rleigh@debian.org>

	* Added a static create() method to row<>.  A convert_impl()
	method needs to be provided by the deriving class.  This should be
	public, or private and have row<> as a friend.

	* Added a constant get_value() method to column<>.  This allows
	values to be obtained when using const classes.

2004-01-18  Roger Leigh  <rleigh@debian.org>

	* Version 0.1.3.

	* Updated tutorial code and documentation to match the changes,
	though the tutorial document needs updating.

	* transaction replaces the "autocommit" state with recursion depth
	tracking.  This is far more flexible, but requires care when using
	to prevent miscounting of the recursion depth.

	* table uses the row static create() method for row creation, and
	the new transaction recursion semantics.

	* row_base provides insert(), update(), erase() and refresh()
	methods and _impl() versions of all of them, intended to be
	overridden in derived classes.  Row state handling and signal
	emission is done in the former methods (modification state
	handling is not yet implemented).

	* Removed rowconvert class.  Its functionality is provided by
	row_base.

2004-01-17  Roger Leigh  <rleigh@debian.org>

	* Version 0.1.2.

	* Updated tutorial and documentation to match the changes.

	* All methods and constructors that previous took a
	pqxx::connection& and a pqxx::transaction<>*& now simply take a
	pqxxobject::transaction&.

	* transaction emits "commit" and "abort" signals, and its exec()
	method returns a pqxx::result, rather than a pqxx::result*.

	* rowconvert is now an interface class only, and defines virtual
	functions to insert/update/delete/refresh rows and an initialise
	function to create a row object from a pqxx::result.  row<>
	derives from both row_base and rowconvert.

	* Added a column<> template class to represent row columns.  This
	emits signals on column changes.

2004-01-06  Roger Leigh  <rleigh@debian.org>

	* Version 0.1.1.

	* make distcheck completes without error.

	* row_base now defines its own copy constructor and operator=().
	This allows copying (the SigC::Object base may not be copied, and
	this previously prevented copying or assignment of rows).

	* Updated the tutorial to reflect the API changes.

	* Moved from the libpqxx 1.5.x to the 2.1.x API.  libpqxx 2.1.0 or
	greater is now required.

2003-12-10  Roger Leigh  <rleigh@debian.org>

	* Added a row<> and row_base classes, which row classes should
	derive from.  row_base derives from SigC::Object, and contains
	signals which are emitted after certain events.

2003-10-19  Roger Leigh  <rleigh@debian.org>

	* Added a tutorial (source code and LaTeX document).

2003-10-17  Roger Leigh  <rleigh@debian.org>

	* Initial revision 0.1.0.

	* Project source and infrastructure imported into CVS.
