2005-05-13   Darren Duncan <perl@DarrenDuncan.net>

	* SQL-Routine-SQLBuilder Release 0.18.

	* New code file versions are: SQLBuilder.pm v0.18.

	* Updated external dependencies on Locale::KeyedText to v1.04 and on
	SQL::Routine to v0.62.

	* This release marks the very first time that SQL::Routine::SQLBuilder has
	actually been executed, and not merely just compiled.  Correspondingly, it
	contains a reasonable collection of small bug fixes, but no large changes.

	* Updated every instance of the COPYRIGHT AND LICENSE documentation in this
	distribution to correct the declared date range in which the core
	SQL::Routine::SQLBuilder files were created.  The new dates are 2002 thru
	2005, which is when I actually committed documentation describing or code
	implementing what became the SQL::Routine::SQLBuilder core.  The old dates
	were 1999 thru 2005, which goes back to the time that I started conceiving a
	larger project which the aforementioned module started out being related to;
	however, those earlier years did not contain any work on what specifically
	became the aforementioned module, so they are now excluded.

	* Updated every instance of the COPYRIGHT AND LICENSE documentation in this
	distribution so that you may now choose between licensing it under the GPL
	version 2 or any later GPL version, rather than only under version 2.

	* Renamed the "LICENSE" file to "GPL", and correspondingly updated all
	references to it in this distribution, most of them being in COPYRIGHT AND
	LICENSE statements.  This change was made to reduce user confusion in
	situations where files from this distribution may be aggregated with other
	files that have different licenses; the old name was too generic.

	* In SQLBuilder.pm, added new boolean property 'lc_nd_ident' along with a
	new corresponding accessor method lowercased_non_delimited_identifiers(); 
	also updated new() to set it and quote_identifier() to use it.  When this 
	property is true, generated non-delimited SQL identifiers will be folded to 
	lowercase rather than to uppercase.

	* In SQLBuilder.pm, updated the following 13 methods to retain compatability
	with recent SQL::Routine changes and/or to fix bugs:
	build_identifier_view_src_field(), build_expr(),
	build_expr_scalar_data_type_defn(), build_query_from_clause(),
	build_query_table_factor(), build_query_select_list(),
	build_schema_[table|routine]_create(), build_access_[grant|revoke](),
	build_dmanip_routine_body(), build_dmanip_call_sroutine(),
	build_dmanip_src_schema_object_name().

	* Also added these 3 private utility methods, which the above use:
	_[scalar|row]_data_type_of_node(), _row_domain_of_node().

	* These 26 methods saw only minor changes, concerning output whitespace:
	build_query_table_expr(),
	build_query_[where|group|having|window|into]_clause(),
	build_query_query_[spec|expr|expr_body](),
	build_schema_[schema|domain|sequence|view]_[create|delete](),
	build_schema_[table|routine]_delete(), build_access_role_[create|delete](),
	build_dmanip_routine_stmt(), build_dmanip_[insert|update|delete]_stmt(),
	build_dmanip_call_uroutine().

	* Small DESCRIPTION update, in the sentence about how much of SQLBuilder.pm 
	has been executed.

	* Documentation fix for the delimited_identifiers() method.

	* Split t/SQL_Routine_SQLBuilder.t up into t/SRT_SB_00_Compile.t and
	t/lib/t_SRT_SB_Util.pm.  Rewrote SRT_SB_00_Compile.t to contain 5 tests; 2
	of these uses Test::More's use_ok() function to cleanly test that the 1 core
	module and Util will load without errors; 1 of these tests, with cmp_ok(),
	that the 1 core module is of the correct version; 2 of these use can_ok() to
	check Util.  Before this change, the original test script would simply die
	without any ok/not ok if the core module was missing.  The old test script
	simply printed 'ok 1' to show it was running.  The test utility module
	t_SRT_SB_Util.pm contains the message() and error_to_string() functions to
	be used by other upcoming test scripts; the message() function also received
	a minor update such that its output is prefixed with '#' rather than '--',
	like Test::More does for comments.

	* Added 2 new test suite files, t/lib/t_SRT_SB_Model.pm and
	t/SRT_SB_10_Generic.t, which test that generating SQL to create and drop a
	'table' and 'view' schema object, all in 3 SQL variants; this adds 14
	numbered tests.  Updated SRT_SB_00_Compile.t to test that the new test
	module compiles; this adds 2 numbered tests, to total 7.

	* Renamed this file to 'Changes' from 'ChangeLog'; the new name is more
	descriptive to its free-form structure, and more consistent with CPAN (which
	uses both names but 'Changes' seems to be more common these days).  Also
	truncated this Changes file to remove all detail entries for releases v0.01
	thru v0.17; in their place was added a change summary for releases v0.01
	thru v0.17 that mainly just said what the names and versions of all the
	predecessor distributions and modules are.

2005-04-03   Darren Duncan <perl@DarrenDuncan.net>

	* SQL-Routine-SQLBuilder Release 0.17, containing SQL::Routine::SQLBuilder
	0.17, was released on CPAN.

2005-03-19   Darren Duncan <perl@DarrenDuncan.net>

	* SQL-Routine-SQLBuilder Release 0.16, containing SQL::Routine::SQLBuilder
	0.16, was released on CPAN; this is the first release of the
	SQL-Routine-SQLBuilder distribution.  This is the first release of any
	distribution to contain SQL::Routine::SQLBuilder, which was renamed from
	Rosetta::Utility::SQLBuilder.  This is the first release for this module
	where it explicitly has a version number matching its distribution.

2005-03-18   Darren Duncan <perl@DarrenDuncan.net>

	* Rosetta-Extensions Release 0.15, containing Rosetta::Utility::SQLBuilder
	0.15, was released on CPAN; this is the last release of the
	Rosetta-Extensions distribution.  This is the last release of any
	distribution to contain Rosetta::Utility::SQLBuilder.  This is the last
	release for this module where it does not explicitly have a version number
	matching its distribution.

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

	* Rosetta-Extensions Release 0.01, containing Rosetta::Utility::SQLBuilder
	0.01, was released on CPAN; this is the first release of the
	Rosetta-Extensions distribution.  This is the first release of any
	distribution to contain Rosetta::Utility::SQLBuilder.  This is the first
	release of any distribution for which some of the existing work that became
	the SQL-Routine-SQLBuilder distribution was in the form of executable code,
	and not just design documentation.

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

	* Rosetta Release 0.29 was released on CPAN.  This is the last release of
	any distribution for which all of the existing work that became the
	SQL-Routine-SQLBuilder distribution was purely in the form of design
	documentation, without executable code of any kind.

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

	* Rosetta Release 0.27 was released on CPAN.  This is the first release of
	any distribution where the proposal documentation for
	SQL::Routine::SQLBuilder uses the name Rosetta::Utility::SQLBuilder for it;
	it was renamed from Rosetta::Engine::Common::SQLBuilder.

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

	* Rosetta Release 0.26 was released on CPAN.  This is the last release of
	any distribution for which the documented name of the proposed module that
	became SQL::Routine::SQLBuilder was given the name
	Rosetta::Engine::Common::SQLBuilder.

2004-02-23   Darren Duncan <perl@DarrenDuncan.net>

	* Rosetta Release 0.24 was released on CPAN.  This is the first release of
	any distribution where the proposal documentation for
	SQL::Routine::SQLBuilder uses the name Rosetta::Engine::Common::SQLBuilder
	for it; it was renamed from Rosetta::Driver::Common::SQLBuilder.

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

	* Rosetta Release 0.23 was released on CPAN.  This is the last release of
	any distribution for which the documented name of the proposed module that
	became SQL::Routine::SQLBuilder was given the name
	Rosetta::Driver::Common::SQLBuilder.

2003-04-15   Darren Duncan <perl@DarrenDuncan.net>

	* Rosetta Release 0.07 was released on CPAN.  This is the first release of
	any distribution to have proposal documentation that splits out SQL
	generation code into its own module, whereas prior to this the documentation
	included SQL generation as one of several functions performed by several
	distinct modules.  The proposed name for this module is
	Rosetta::Driver::Common::SQLBuilder.

2003-01-27   Darren Duncan <perl@DarrenDuncan.net>

	* Rosetta Release 0.02 was released on CPAN; this is the first release of
	the Rosetta distribution.  Early versions of the design documentation that
	became the SQL-Routine-SQLBuilder distribution were included.

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

	* DBIx-Portable Release 0.01 was released on CPAN; this is the only release
	of the DBIx-Portable distribution.  This is the first release of any
	distribution to contain design documentation that became the
	SQL-Routine-SQLBuilder distribution.

2002-11-12   Darren Duncan <perl@DarrenDuncan.net>

	* Began development on the modules which became the SQL-Routine-SQLBuilder
	distribution as their own entity that is separate from my application, for
	open-source distribution on CPAN.  The modules were to comprise an
	RDBMS-generic DB framework for any application to use.

	* Modules based on a template created by h2xs 1.18.

2002-07-28

	* Posted the first significant update to the second prototype, which added
	an index or cache for data that was expensive to calculate for each page
	request, and involved rewriting about a fourth of the perl code.

2002-06-07

	* Posted to my website the second public prototype demo of the new
	self-proprietary database driven application, whose database schema, user
	interface, feature set, and Perl application code was almost completely
	rewritten. The new version explicitly had separate modules for database
	communication and the web interface logic, with MySQL-specific code and
	database generic or data dictionary code in separate files, and separate
	files for parts of the web interface.  The program used the same generic
	CPAN modules as in the first prototype, DBI/MySQL and CGI::Portable.

	* This is when I started writing self-contained code components that were
	explicitly designed to enable external code that used them to work
	seamlessly on multiple database products, and hence 2002 is the start of my
	declared copyright date range for SQL::Routine::SQLBuilder.

2001-11-24

	* Posted the last update to the first prototype.

2001-07-12

	* Posted to my website the first public prototype demo of a new
	self-proprietary database driven application, which is like a cross between
	a multimedia metadata catalogue and a repository for historical or
	genealogical data.  This application contained the first prototypes of code
	that ended up in these modules.  All of this application's code, for
	database communication and web interface logic, was situated in a single
	module, with the rest of the program being more generic CPAN modules like
	DBI (and DBD for MySQL) and CGI::Portable.

2000-05-17

	* Requested MySQL database privileges on my web host so I have something to
	start developing, testing and deploying database driven applications on.