On Fri, 6 Aug 2004 16:26:53 +0300, DebugasRu <debugas@stripped> wrote:
> since SQL89 standard lot of things got standartized but still there
> are more things to unify. One of them is metadata (system tables that
> a given DBMS uses) processing. I want to ask if there is going to be any standard on
> that ? Namely any unified way (for different DBMSs) to extract and
> modify metadata about the user database - primary keys, foreign keys, info on
> cascade updates/deletes settings, default values, ranges of allowed values and so
That standard already exists, MySQL just doesn't implement it.
The SQL standard defines form and function of a so-called
INFORMATION_SCHEMA in which various views reside that contain said
information. For instance, primary keys and foreign keys would be
identified by the CONSTRAINT_TYPE field of the
INFORMATION_SCHEMA.TABLE_CONSTRAINTS view. Actions on delete and
update would be in the UPDATE_RULE and DELETE_RULE fields of the
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS view. Etc. etc. etc.
If you are interested you can probably find a lot more documentation
in the PostgreSQL manual or you can buy a copy of ISO/IEC
9075-11:2003. But don't hold your breath, judging by the roadmap none
of it will work in MySQL for quite some years.