Database Dictionary
A database must have a database dictionary; this file has the database name with extension .fdd. It is created with CTDatabase::CreateDatabase(), and must exist for the user to connect to the database. Each database dictionary maintains information about the tables associated with the database. When a database is connected to the session, it is considered “active”.
Database Dictionary Layout
Field
|
Type
|
Length
|
Description
|
TYPE
|
CT_INT4
|
4
|
Record type: 1-database 2-table 3-index
|
STATUS
|
CT_INT4
|
4
|
Record status: 0-status ok 1-reserved
|
NAME
|
CT_FSTRING
|
128
|
Name of database or table or index
|
LINK
|
CT_FSTRING
|
128
|
Name of table if record type is 3-index
|
LINKNBR
|
CT_INT4
|
4
|
Table UID if record type is 3-index
|
PATH
|
CT_FSTRING
|
256
|
Path of database dictionary, data or index
|
SUPEXT
|
CT_FSTRING
|
16
|
Super file extension (if super file is used)
|
DATEXT
|
CT_FSTRING
|
16
|
Data file extension (usually .DAT)
|
IDXEXT
|
CT_FSTRING
|
16
|
Index file extension (usually .IDX)
|
VERSION
|
CT_INT4
|
4
|
Record version: 0x00010000 (version 1.0)
|
COUNTER
|
CT_INT4
|
4
|
Deprecated.
|
UID
|
CT_INT4
|
4
|
UID for database or table or index
|
OWNER
|
CT_FSTRING
|
128
|
Name of owner - used by the c-treeACE SQL server
|
MIRROR_NAME
|
CT_FSTRING
|
128
|
Name of mirrored file.
|
MIRROR_PATH
|
CT_FSTRING
|
128
|
Path of mirrored file.
|
RESERVED
|
CT_ARRAY
|
3128
|
Reserved for future use
|
This information is included for general information on the database dictionary structure. c-treeDB has appropriate functions to retrieve any needed information from the database dictionary, such as the table UID or path.
A database dictionary file has several different record types:
- Table records (the field Type set to 2) holds information about a data file (table).
- Index records (the field Type set to 3) holds information about an index file.
- A special type four record which maintained the COUNTER field has been been deprecated as of c-treeACE V9.0.
|