Re: the relational model of data objects *and* program objects
Date: 13 Apr 2005 14:00:16 -0700
Message-ID: <1113426016.459970.13700_at_f14g2000cwb.googlegroups.com>
Kenneth Downs wrote:
> There an important point here. If meta-data describes user data,
then
> change management is the application of a delta-meta-data. If your
meta
> data is true meta-data, meaning rows and columns (XML flames to
/dev/null),
> then the delta-meta-data is magically transformed into first-order
logic
> and an easily codable sequence of events. But more importantly, you
can
> validate the destination state, and also validate the delta itself
using
> very simple constraints, often just using unique and referential
> constraints. For instance, you can take a SELECT of column types
before
> and after, and look them up in a table of allowed transformations.
The
> table would show "from char to text" as OK, but would have no row for
"from
> char to int", causing the delta to fail validation with message
"cannot
> convert column foo in table bar from char to int".
> But you can never do this with human-supplied code. There is
absolutely
> nothing intrinsic in the code that will give the same level of
guarantee
> that you are installing something that will actually work.
> Change Managements = Upgrades = Installs = Development
>
> They are all the same thing and should be handled by the same tools
and must
> be foolproof. Code is the sore thumb in the picture, it does not
allow
> foolproof change management.
>
> Hence the need to find a way to replace human-generated code in the
db.
- Eric