2014.10.08 MSS Code Factory 1.11.12448 Service Pack 2

Service Pack 2 addresses a critical area of functionality: being able to control
the order in which objects are deleted.  This is particularly important for objects
which maintain complex relationships throughout their hierarchy, such as defined
by CFBam 2.0 and CFDbTest 2.0.

The way I've chosen to address the issue is to introduce the concept of a "DelDep"
element of a table definition (they can be specified as part of TableRelations virtual
elements in the model as well, allowing you to specify them at the end of a model
when all the relationships have already been defined.)  Other than a Name, a DelDep
has a "DelDepChain" attribute which allows you to specify up to four relationships
to be "chased" in order to resolve the objects to be deleted.  In practice, this turns
into up to a 5-way table join to select the primary keys of the deleted objects,
which are iterated through invoking their stored procedures for deletion in order to
ensure that the history of the objects is maintained.

At some point in the future I'll probably add an explicit check as to whether the
deletion target HasHistory, and perform an optimal delete-join instead of iterating,
but for now most of the data I worry about has history so I'm dealing with that as
being the general case.  It's slower, but it *does* work.

Service Pack 2 also adds the concept of a PopDepChain to relationship specifications,
which specifies up to 4 relationships to be chased in order to locate the selection
set used by the Picker window for a widget that expresses the relationship in the GUI.
There are no database or object side changes for PopDepChains -- they only affect the
prototype GUI.  But I needed them in order to properly do things like present the user
with a list of index columns to pick from for the ToIndex of a Relation while creating
the RelationCol elements.  The variation on the concept I tried in Service Pack 1 was
only able to deal with relationships that chained up the inheritance hierarchy of the
object; PopDepChain is a more general solution and therefore more powerful.

There are also a number of errors corrected for the database creation scripts.  It turns
out I was not looking for errors in the Microsoft SQL Server and Sybase ASE logs
correctly, so there were a number of unresolved errors in Service Pack 1.  Both of those
databases now install cleanly for CFDbTest 2.0.  In addition, I made a couple of boo-boos
while editing the .bash script rules for PostgreSQL with Service Pack 1 that I only
discovered recently while doing some regression testing.  While the errors were easily
corrected manually, it's far better to download this latest release and have the scripts
manufactured *correctly* in the first place.