Re: The fable of DEMETRIUS, CONSTRAINTICUS, and AUTOMATICUS

From: Marshall Spight <mspight_at_dnai.com>
Date: Sun, 24 Oct 2004 05:08:33 GMT
Message-ID: <lNGed.308508$3l3.288165_at_attbi_s03>


"Jonathan Leffler" <jleffler_at_earthlink.net> wrote in message news:2QCed.5313$KJ6.831_at_newsread1.news.pas.earthlink.net...
> Marshall Spight wrote:
> >
> > I mean, for the catalog to be useful, it has to be correct. For
> > it to be fully useful, it has to be complete. If it's correct and
> > complete, why wouldn't it be definitive? Why have the
> > *transient* DDL be definitive? The meta-state is persistent,
> > right?
> >
> > Another line of thinking: the non-meta data is data just
> > as much as the meta-data is. For non-meta data, we have
> > the actual contents of the tables as the definitive source
> > of truth. We *could* instead propose that the DML is
> > the definitive source of truth. The contents of the
> > table would be merely advisory; when we wanted to
> > *really* operate on the data, we'd manipulate insert
> > statements. RAA.
>
> A couple of points.
>
> 1. There's a boot-strapping problem. How do you create the initial
> load of data in the system catalog that describes the system
> catalog? You can't create the columns in the 'systables' before
> there's a 'syscolumns' table, nor can you create the 'syscolumns'
> table before there's a 'systables'.
>
> This need not be insuperable - it is a real problem, though.

Uh, for whom is it a real problem? I mean, this seems similar to saying that there's a real problem with dbmss because they don't come with any types, and it's really hard to implement int if you don't have something to base it on.

Couldn't I just as well argue that the DDL won't work until the catalog is created?

My assumption is that any sensible dbms will come with the catalog preinstalled, and types such as int, bool, and char will also be preinstalled.

> 2. Although the system catalog contains a lot of descriptive
> information, there are normally a number of other actions taken
> when a table is created. Specifically, space is allocated in
> some manner. Now, you might be able to use triggered actions or
> something similar to ensure that the space is allocated as you
> create a table (by inserting a row into the 'systables' part of
> the system catalog), or maybe as you add some columns to the
> table.

This argument has no relevance to whether the DDL is defined in terms of the catalog or the catalog is defined in terms of the DDL.

Honestly, I don't understand the fixation on DDL. It's just sugar.

Marshall Received on Sun Oct 24 2004 - 07:08:33 CEST

Original text of this message