db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Db-derby Wiki] Update of "DataDictionary" by BryanPendleton
Date Sat, 02 Sep 2006 15:14:01 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by BryanPendleton:
http://wiki.apache.org/db-derby/DataDictionary

The comment on the change is:
Some high level info about DataDictionary

New page:
The {{{DataDictionary}}} provides an object-oriented API to the SystemTables.

The API to the DataDictionary lives in the {{{org.apache.derby.iapi.sql.dictionary}}} package.

Additional internal implementation classes for the DataDictionary are found in the {{{org.apache.derby.impl.sql.catalog}}}
package.

Classes in the DataDictionary API tend to correspond closely to the SystemTables. These classes
are called "Descriptor" classes. So, for example, there is {{{TableDescriptor}}} which provides
the object-oriented API to a row in SYSTABLES.

Other major classes are {{{ColumnDescriptor}}}, {{{ViewDescriptor}}}, {{{ConstraintDescriptor}}},
{{{TriggerDescriptor}}}, etc.

Classes in the compile and execute portions of the LanguageSystem gain access to the {{{DataDictionary}}}
via the {{{LanguageConnectionContext}}}, which in turn is accessed via the {{{ContextManager}}}.

Factory classes in the internal implementation are responsible for constructing Descriptor
classes from the SystemTables. So, for example, {{{SYSTABLESRowFactory}}} knows how to make
a {{{TableDescriptor}}} from a row in the {{{SYSTABLES}}} table.

An important (and complex) part of the {{{DataDictionary}}} implementation is DataDictionaryCaching.

Mime
View raw message