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

	* Release 0.44.

	* New code file versions are: Routine.pm v0.44.

	* This is a major release, with multiple significant data-design,
	documentation, and test suite changes, but almost no changes to the code
	proper.  All changes were in Routine.pm, Language.pod, and
	t_SQL_Routine.pm.  No changes were made to en.pm or API_C.pod.

	* Added 4 new enumerated value types: container_type, exception_type,
	standard_routine, standard_routine_arg.  Removed 6 old enumerated value
	types: basic_expr_type, standard_func, basic_var_type, basic_stmt_type,
	standard_proc, command_type.  The 4 new types are mostly recombined
	replacements for the old 6 ones, though some of the old were simply
	superfluous.  exception_type is completely new.  container_type corresponds
	to basic_var_type plus the return-values documentation section in
	command_type plus the 'LIST' of basic_expr_type.  standard_routine is
	mostly the 3-way combination of command_type, standard_proc, standard_func,
	plus 'CAST' and 'RETURN' of basic_[expr|stmt]_type.  The majority of
	basic_[expr|stmt]_type was simply dropped since the info they gave
	duplicated what could be known by reading other attributes in
	[view|routine]_expr Nodes, which mostly corresponded 1:1.

	* Removed the 'command' and 'command_arg' Node types, which were only meant
	to be a temporary stop-gap feature anyway.  Their functionality has been
	integrated into the standard 'routine[|*]' Nodes, which can now embed
	built-in routine calls for all kinds of functionality, including queries,
	DML, DDL, and connection management.

	* Eliminated the 'elements' level 2 pseudo-Node, which hasn't been used for
	awhile; only 4 are left: 'blueprints', 'tools', 'sites', 'circumventions'.

	* All built-in standard routines now take named arguments rather than
	positional ones, just like user-defined routines; they can now all be used
	in the same ways.  In addition, it is now standard practice for any
	built-in routine to indicate failure by throwing an exception; the routine
	is assumed to have succeeded if it doesn't do this.

	* All schema object types (domains, sequences, tables, views, routines) can
	now be defined as either server/database-side or application-side (the
	first 3 were added).  Defining a table on the application-side is now the
	official way to make a "temporary table"; there is no 'table' Node
	attribute for that.

	* There is now more detailed documentation for many built-in routines,
	including what their arguments are, side-effects of calling them, and
	exceptions they may throw.

	* Added the commonly used 'ANSEL' to the 'char_enc_type' enum list.

	* Added a 'single_schema' attribute to 'catalog' Nodes.

	* Many small clean-ups and standardization with the order of attribute
	Nodes.  Now, all primary-parent candidate attributes always appear at the
	top of the list, below 'id'; then comes the 'name' attribute if there is
	one; then come the other attributes, starting with any always-mandatory or
	'type' ones, and grouped by functional relation.  Renamed and regrouped
	most view_expr and routine_expr attributes; the ones indicating
	correspondence such as what cols or args to *set* or *pass to* go first,
	and the ones indicating where a value comes from are below them; the latter
	group all start with 'valf_' for "value from".  The routine_stmt Node was
	simplified, with some details stored in routine_expr Nodes instead.  A set
	of 8 new attributes in routine_expr, which start with 'actn_' (for "act
	on") are used mainly with former 'CREATE_' (etc) standard routines.  The 
	new attribute names should be more descriptive than the old ones.

	* In Routine.pm, updated Node.assert_deferrable_constraints() in how the
	"Local Attribute Dependencies List" constraints are implemented so that
	depended-on attributes of all 3 major types are handled with common code.

	* Rewrote major parts of the SYNOPSIS in Routine.pm so that it provides a 
	complete but simple working example, rather than just a few lines plus 
	a reference to another file.

	* Updated sigificant chunks of t_SQL_Routine.pm to give a more complete
	semblence of working examples.

	* Replaced all documentation occurances of "SQL-2003" with "SQL:2003".

	* Updated all code that referenced module version numbers so that those
	numbers are now quoted in strings rather than being bare numbers.  In the
	*.pm files, this affected only the "use" strings, since each $VERSION was
	already declared as a string.  In the *.t files, the "use" strings.  In the
	Makefile.PL, each PREREQ_PM item was updated.

	* A few other small changes and fixes.

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

	* Release 0.43.

	* This is the first version of the SQL-Routine distribution under that
	name, which follows the official registration of SQL::Routine with the Perl
	5 Module List.  The core module has been renamed to SQL::Routine from
	SQL::SyntaxModel, its previous name; all similarly named modules and files
	were correspondingly renamed.  All name-related strings, both in code and
	documentation, were updated as follows: "SyntaxModel" -> "Routine", "SSM"
	-> "SRT", "SQLSM" -> "SQLRT", "sqlsm" -> "sqlrt".

	* New code file versions are: Routine.pm v0.43 and en.pm v0.15.

	* Updated external dependencies on Locale::KeyedText to v1.00.

	* Changed the NAME of Routine.pm to "Specify all database tasks with SQL
	routines" from "An abstract syntax tree for all types of SQL".

	* Aside from the name references, version numbers, and dependencies, no
	changes were made to any code or documentation between SQL-SyntaxModel-0.42
	and SQL-Routine-0.43.  A significant update to the main documentation is 
	planned for v0.44 which reflects the module's current functional domain.

	* For historical posterity, here is this distribution's file manifest:

		ChangeLog
		INSTALL
		lib/SQL/Routine.pm
		lib/SQL/Routine/API_C.pod
		lib/SQL/Routine/L/en.pm
		lib/SQL/Routine/Language.pod
		LICENSE
		Makefile.PL
		MANIFEST
		META.yml                                Module meta-data (added by MakeMaker)
		ReadMe
		t/lib/t_SQL_Routine.pm
		t/SQL_Routine.t
		TODO

	* Rewrote the TODO file so it actually lists some near-future plans.

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

	The next version of the Module List will list the following module:

	  modid:       SQL::Routine
	  DSLIP:       cdpOg
	  description: Specify all database tasks with SQL routines
	  userid:      DUNCAND (Darren Duncan)
	  chapterid:   11 (String_Lang_Text_Proc)
	  enteredby:   BDFOY (brian d foy)
	  enteredon:   Mon Oct  4 20:04:46 2004 GMT

	The resulting entry will be:

	SQL::
	::Routine         cdpOg Specify all database tasks with SQL routines DUNCAND

2004-09-13   Darren Duncan <perl@DarrenDuncan.net>

	* SQL-SyntaxModel-0.42, the last version of the distribution having that
	name which contained the modules that became the SQL-Routine distribution,
	was released on CPAN.

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

	* SQL-SyntaxModel-0.28, the first version of a distribution having that
	name, was released on CPAN.  Early versions of the modules that became the
	SQL-Routine distribution were included.

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

	* Rosetta-0.27, the last version of the distribution having that name which
	contained the modules that became the SQL-Routine distribution, was
	released on CPAN.

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

	* Rosetta-0.02, the first version of a distribution having that name, was
	released on CPAN.  Early versions of the modules that became the
	SQL-Routine distribution were included.

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

	* DBIx-Portable-0.01, the only version of a distribution having that name,
	was released on CPAN.  Early versions of the modules that became the
	SQL-Routine distribution were included.

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

	* Began development on the modules which became the SQL-Routine
	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.

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.