2004-08-06   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.06.

	* Updated external dependencies on Locale::KeyedText to v0.06 and on
	SQL::SyntaxModel to v0.24 and on Rosetta to v0.16.

	* Renamed Rosetta::Engine::L::en to Rosetta::Engine::Generic::L::en (now
	v0.03); it now only contains extra messages that are specific to Generic;
	general database messages are now stored in Rosetta::L::en.  Also, the
	remaining 2 (from 6) user text now are prefixed by the class name, so it is
	easier for users to know what file generated any error messages.

	* Multiple updates to SQLBuilder.pm (now v0.06) and Generic.pm (now v0.03); 
	Generic.pm had almost all of the changes.

	* Fixed POD bug in SQLBuilder.pm where the build_dmanip_call_[s|u]proc()
	methods were called build_expr_call_[s|u]proc() by mistake.

	* Added new payload() method and 'payload' property to Generic.pm.  Also 
	added new get_supported_features() method.

	* Added these new Generic.pm internal methods: DESTROY(), open_dbi_connection(), 
	close_dbi_connection(), make_ssm_node(), make_child_ssm_node(), 
	prepare_cmd_db_list(), prepare_cmd_db_info() (empty).  Deleted these internal 
	methods: dbi_driver_req_autocommit().

	* Renamed a lot of the local variables in Generic.pm to be a lot more
	consistent, descriptive, and scalable, meaning the code is now a lot easier
	to read and understand.  For example, any SSM Node objects now end in
	'_node', any Interface objects end in '_intf', any Engine objects in
	'_eng', any "preparation" interfaces or engines have '_prep' in the middle.
	 As an exception, for the few generic functions that can take many kinds of
	intfs/engs rather than one specific kind, the variables are simply called
	$interface or $preparation and $engine as before.

	* Added new SUPPORTED ROSETTA FEATURES documentation section to Generic.pm,
	expanded its DESCRIPTION, and brought the SYNOPSIS up to date with recent
	changes to SQL::SyntaxModel.

	* Added new static Generic methods get_static_const_use_auto_commit() and 
	get_static_const_supported_features() that should be easy for sub-classes 
	to override (see GenericAC, which does just that).

	* Added new module Rosetta::Engine::GenericAC (v0.01) which sub-classes
	Generic and should be used for database products that lack native support
	for transactions; Generic won't even try to emulate them, but will declare
	support for them; GenericAC will not declare support, and auto-commits.

	* Several other bug fixes and changes were made in Rosetta.pm.

	* For the first time, with this release, most of the Generic.pm code has
	now been exercised and tested, in combination with external code, and is
	now found to be working to spec.  Tests included successful runs of
	DB_LIST, DB_OPEN, DB_CLOSE, and likewise against GenericAC.pm.

2004-07-03   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.05.

	* Updated external dependencies on Locale::KeyedText to v0.04 and on
	SQL::SyntaxModel to v0.22.  Note that the Makefile.pl in release 0.04
	mistakenly said that Locale::KeyedText 0.04 was a prerequisite, but that
	wasn't true until now.

	* Updated SQLBuilder.pm (now v0.05) extensively such that about 15% of the
	module was added or changed.  The most extensive change concerns its POD
	documentation, as now 100% of the module's methods are documented;
	previously, less than half of them were.  Added 1 new state maintenance
	property plus its accessor method.  A few methods were re-ordered and/or
	re-named.  Rebuilt the methods for making INSERT, UPDATE, DELETE statements
	so they should now actually appear to work.  Literals are now escaped
	according to their type.  Now all Perl switch statement options are
	explicitely specified rather than the last one going in 'else'; this is
	meant to prevent bugs in the future caused by the addition of new options
	to SQL::SyntaxModel.  build_dmanip_into_clause() was renamed to
	build_query_into_clause() and merged into the generic query function list. 
	build_dmanip_stmt_table_or_view_name() was converted to
	build_dmanip_src_schema_object_name().  build_expr_call_cview() was merged
	into build_query_subquery().  Split build_dmanip_call_sproc() into itself
	plus build_dmanip_[insert|update|delete]_stmt(); build_dmanip_set_clause()
	was merged into the latter, and build_query_table_value_constr() was merged
	into 'insert'.  A few other small code updates.  All methods now have 
	SQL-2003 section/page references, where applicable.

2004-06-21   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.04.

	* Updated external dependencies on SQL::SyntaxModel to v0.21.

	* Updated SQLBuilder.pm (now v0.04) extensively such that about 30% of the
	module was added or rewritten.  Added 8 new SQLBuilder properties, with 6
	being for general configuration, and 2 for short term state maintenance.
	Renamed build_expr_identifier_element() to build_identifier_element() and
	split build_expr_identifier_chain() into 4 more specialized
	build_identifier_*() methods.  Further added or updated SQL generation code
	corresponding to these sections of "SQL-2003 Foundation": 6 "Scalar
	expressions", 7 "Query expressions", 11 "Schema definition and
	manipulation", 14 "Data manipulation".  All of the above concerned code
	changes.  Some documentation changes, mostly in the method list; most
	methods are still not documented.  Following these changes, all of the
	existing methods in SQLBuilder are now "implemented" (no more empty methods
	with 'to be done' comments); however, many of them stand to be updated
	later with new or corrected features.  A few empty methods were removed.

2004-05-12   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.03.

	* Updated external dependencies on SQL::SyntaxModel to v0.18.

	* Updated SQLBuilder.pm (now v0.03) extensively such that about 20% of the
	module was added or rewritten.  Added a base property and renamed another.
	Added or updated SQL generation code corresponding to these sections of
	"SQL-2003 Foundation": 7 "Query expressions", 11 "Schema definition and
	manipulation", 12 "Access control", 14 "Data manipulation".  All of the
	above concerned code changes.  Documentation was added/changed for the
	new/altered property accessors only.

2004-05-01   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.02.

	* This is a "middle of development" release that includes a large number of
	changes, some of which are only partially implemented.  It exists largely
	so that I can have a reliable backup for (and historical record of) the
	last 3 weeks of in-progress work.  It compiles, but there are large gaps.

	* Updated external dependencies on SQL::SyntaxModel to v0.17.

	* Updated all relevant documentation, including the NAME of Extensions.pod,
	to specify that the modules herein are "reference implementations of
	fundamental Rosetta features".  That is, they are not meant to be the best
	or only implementations, but rather just examples of how the deed is done.

	* Updated documentation to say that the SQL-2003 standard is now the focus 
	of influence rather than SQL-1999 (or SQL-1992).

	* Updated SQLBuilder.pm (now v0.02) extensively such that over 70% of the
	module was added or rewritten; probably 98%+ of all changes for this
	distribution release were in this module.  Most existing properties and
	methods were renamed and/or reordered.  Added 2 base properties and 4 'data
	types' sub-properties.  The 'data types' sub-property defaults are now more
	standard-centric rather than MySQL centric; said sub-properties can now
	contain substitution variables.  Implemented most of the SQL generation
	code corresponding to these sections of "SQL-2003 Foundation": 5 "Lexical
	elements", 6 "Scalar expressions", 7 "Query expressions", 8 "Predicates",
	11 "Schema definition and manipulation".  All of the above concerned code 
	changes.  For documentation, there were no descriptions for individual 
	functions/methods in 0.01, but now there are for about a third of them.

	* Updated Generic.pm (now v0.02) so that the "engine configuration option"
	named "insen_ident" (case-insensitive identifiers) was renamed to
	"delim_ident" (delimited identifiers); rewrote that option's description.

	* Updated en.pm (now v0.02) to add a "ROS_G_RAW_SQLSTATE" message.

2004-04-10   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.01.

	* This is the first release of the Rosetta-Extensions distribution.  This
	distribution is meant to be temporary, collecting a number of related
	modules during their infancy, as they tend to be updated in tandem; said
	modules will get split into their own distributions later when they
	stabilize.  This release features the first versions of the modules
	Rosetta::Engine::Generic and Rosetta::Utility::SQLBuilder (plus the
	placeholder Rosetta::Extensions and the localization file
	Rosetta::Engine::L::en).  These modules are mostly code complete such that
	you can connect to or disconnect from databases, as well as create or
	remove tables and sequences in a database.  None of this functionality was
	tested, though (except for compiling); that is planned for release 0.03.

	* For more background information, see the "Rosetta" distribution and 
	everything of mine that it references.