From: Ann W. Harrison <aharrison@ib...> - 2001-05-26 18:18:27
At 12:33 AM 5/26/2001 -0400, Claudio Valderrama C. wrote:
>Ann, let me try to understand how metd and dyn* files and functions relate:
>- When metadata is defined, dsql calls a function generate_dyn that ends up
>calling dyn.e's DYN_execute and from that the specific functions are
Right. DYN is a (slightly) higher level interface for defining and
altering the metadata of a database. When DSQL processes a DDL statement,
it generates and executes a set of DYN calls to change the database
>- When data is being used, MET functions are invoked and the code is thread
>protected for SS.
MET routines in JRD (met.e), DSQL (metd.e), QLI (meta.e), GPRE (met.e), and
ALICE (met.e) all read the system tables so those utilities can make use of
the database structures. They build in memory structures that represent
the metadata and all other routines reference those structures.
>Is this okay? Apart from dyn and metd files, is there any other directly
>related to data definition and metadata information?
Within the engine, the module dfw.e also updates system tables and dpm.e
reads RDB$PAGES and RDB$FORMATS. blf.e reads RDB$FILTERS to identify blob
filters. fun.e does the same for user defined functions, using RDB$FUNCTIONS
and RDB$FUNCTION_ARGUMENTS. grant.e handles SQL security; ini.e does stuff
it shouldn't do; scl.e handles security classes.
In DSQL, ddl.c takes parsed ddl statements and applies semantic rules.
Other utilities (gpre, qli, alice) also perform metadata updates in
We have answers.
Get latest updates about Open Source Projects, Conferences and News.