The data dictionary populated by the Configuration Utility is stored in a DBF file (along with accompanying CDX and FPT files) called Repmeta. All types of data objects -- database, tables, fields, joins, data groups, and data dictionary user groups -- are stored in this table. To distinguish data object types, RECTYPE, a single-character column, indicates the type of a record. The values are:

The ID column contains a unique ID for each record. The contents of the rest of the columns depend on the record type.

Database Records

Many of the columns for a database record contain information about the data source used for the meta data discovery process (when you used the Add Database function). If your project uses only a single data source and you don't have a GetDataSources script for the database, this information is used by Stonefield Query to access the data source.

Some columns pertain to ODBC or ADO/OLE DB databases only and are empty for Visual FoxPro databases; those columns are indicated with "(ODBC only)" or "(ADO only)" below.

ColumnContents
RECTYPE"D"
OBJECTNAMEThe name of the database record (not necessarily the name of the physical database; this is the name shown in the TreeView for the database).
ALIASThe data source name (DSN) used for the meta data discovery process (ODBC only).
ALIASCAP"ODBC" for an ODBC database, "VFP" for a Visual FoxPro database, or "ADO" for an ADO/OLE DB database.
CAPTIONThe descriptive name of the data source (this comes from the caption you entered in the Select Data Source dialog).
HEADINGThe name of the data source; this is usually the same as OBJECTNAME.
FIELDEXPRThe name of the physical database accessed by the data source. In the case of a Visual FoxPro database, this includes the path for the database container or the free table directory.
FORMATThe name of the server (ODBC only).
INPUTMASKThe name of the ODBC driver (ODBC only) or the OLE DB connection string (ADO only), if applicable.
CLASSAdditional ODBC connection information (ODBC only).
LIBRARYThe database specifier required by the ODBC driver, such as "dbq" or "database" (ODBC only).
REPORTABLETrue if this is the main database.
ALIAS1The user ID used to access the data source (ODBC only).
ALIAS2The password, stored as an encrypted string (ODBC only).
UPDATEDThe date the record was updated.

Table Records

ColumnContents
RECTYPE"C"
DATABASEThe name of the database (matching OBJECTNAME for a database record) the table belongs to.
DATAGROUPA comma-delimited list of the ID values of the data groups the table belongs to.
OBJECTNAMEThe name of the table. If a table name has illegal SQL characters (such as spaces) or matches SQL keywords, it's surrounded with the delimiter you specified when you added the database in the data dictionary (for example, [Order Details]).
ALIASThe same contents as OBJECTNAME.
CAPTIONThe descriptive name of the table.
HEADINGThe main table name if this is a subtable.
OUTPUTEXPRThe subtable filter expression if this is a subtable.
FIELDEXPRThe schema or owner of the table (ODBC and ADO only).
REPORTABLETrue if the user can query on any of the fields in this table.
PATHThe path for the table (Visual FoxPro free tables only).
USERUser-defined column; not used by Stonefield Query but can be by your scripts if desired.
ROLESA comma-delimited list of roles that can access the table (blank if everyone can access it).
UPDATEDThe date the record was updated.

Field Records

Field records have some redundant information with table records. For example, the DATABASE and DATAGROUP columns contain the same information for a field record as the table record for the table the field belongs to, and the field's ALIASCAP column matches the table's CAPTION value. This is done for performance reasons. The Configuration Utility automatically fills in the appropriate information from the table record into the records of every field for that table.

Some columns pertain to Visual FoxPro databases only and are empty for ODBC or ADO databases; those columns are indicated with "(VFP only)" below.

See Field Properties for a list of valid values or further description of these columns.

ColumnContents
RECTYPE"F"
DATABASEThe name of the database (matching OBJECTNAME for a database record) the field belongs to.
DATAGROUPA comma-delimited list of the ID values of the data groups the field belongs to.
OBJECTNAMEThe name of the field, prefixed with the name of the table (for example, CUSTOMERS.COMPANY). If either the table name or the field name has illegal SQL characters (such as spaces) or matches SQL keywords, the table name or field name are surrounded with the delimiter you specified when you added the database in the data dictionary (for example, Orders.[Ship Date], [Order Details].Quantity, or [Order Details].[Unit Price]).
ALIASThe name of the table (matching OBJECTNAME for a table record) the field belongs to.
ALIASCAPThe descriptive name of the table (matching CAPTION for a table record).
CAPTIONThe descriptive name of the field.
HEADINGThe default column heading in a report for the field.
FIELDEXPRThe expression used to retrieve the field from the database (usually the same as OBJECTNAME but contains the Output Expression property if the Stonefield Query Expression setting is turned off on the Calc page for a calculated field).
FIELDTYPEThe data type of the field.
FIELDLENThe length of the field.
FIELDDECThe number of places after the decimal for numeric fields.
FORMATThe format property for the field.
INPUTMASKThe picture for the field.
KEYThe key expression if this field appears in an index. Stonefield Query uses this to determine if the query can be case-insensitive by checking for UPPER() in the index expression (VFP only)
CLASSThe class used for value entry in the Filter dialog. This contains "SFQEnumComboBox" for enumerated fields, "SFQForeignKeyComboBox" for fields with Display Field From Related Table turned on, and is empty for all other fields.
LIBRARYThe library containing the class specified in the CLASS column. This contains "SFQFramework.vcx" for enumerated fields or fields with Display Field From Related Table turned on, and is empty for all other fields.
GETMETHODReserved for future use.
SETMETHODReserved for future use.
VALUESMETHThe expression used to display unique values for the field when the Values button in the Filter Condition dialog or the Data Selection step of the Report Wizard is chosen.
CALCULATEDTrue if this is a calculated field. If the Stonefield Query Expression property of a calculated field is turned off, this contains False.
CALCFIELDSA comma-delimited list of the fields involved in OUTPUTEXPR. This is empty if the Stonefield Query Expression setting is turned off on the Calc page.
OUTPUTEXPRThe formula used to display the value in the field to the user, unless the Stonefield Query Expression setting is turned off for a calculated field, in which case this is blank.
OUTPUTTYPEThe data type of the output expression (empty if the same as FIELDTYPE).
OUTPUTLENThe length of the result of the output expression (0 if the same as FIELDLEN).
EXACTIf this column contains True, Stonefield Query add blanks to the filter comparison value when the "equals" operator is used so the comparison is exact.
FILTERABLETrue if the user can filter on this field.
REPORTABLETrue if the user can query on the field.
SORTABLETrue if the user can sort on the field.
ALLOWVALUETrue if the Values button is enabled for this field.
UPPERIf this column is True, the data in the field is always stored in upper-case and there’s no index on UPPER(FIELD). This helps Stonefield Query to create an optimized query by not applying UPPER() to the field but only upper-casing the values the user enters to compare to the field (VFP only).
PATHThe path for the table (Visual FoxPro free tables only).
USERUser-defined column; this is only used by Stonefield Query if the field is defined as an enumerated field.
COMMENTThe comment for the field.
ROLESA comma-delimited list of roles that can access the field (blank if everyone can access it).
UPDATEDThe date the record was updated.

Relation Records

See Relation Properties for a list of valid values or further description of these columns.

ColumnContents
RECTYPE"R"
DATABASEThe name of the database (matching OBJECTNAME for a database record) for the table specified in ALIAS1.
OBJECTNAMEThe name of the relation, which is the name of the parent table, a comma, and the name of the child table (for example, CUSTOMERS,ORDERS). If either of the table names has illegal SQL characters (such as spaces) or matches SQL keywords, the table name is surrounded with the delimiter you specified when you added the database in the data dictionary (for example, ORDERS,[ORDER DETAILS]).
CAPTIONThe name of the database (matching OBJECTNAME for a database record) for the table specified in ALIAS2.
ALIAS1The name of the child table. The table name is delimited as necessary.
ALIAS2The name of the parent table. The table name is delimited as necessary.
EXPR1The aliased name of the field in the child table for the join (empty if RELEXPR is filled in).
EXPR2The aliased name of the field in the parent table for the join (empty if RELEXPR is filled in).
RELEXPRThe join expression if a complex join is used.
OUTERJOIN0 for an inner join, 1 for a left outer join, 2 for a right outer join, or 3 for a full join.
JOINWEIGHTThe join weight value.
UPDATEDThe date the record was updated.

Data Group and User Group Records

ColumnContents
RECTYPE"G" for data groups and "U" for user groups.
OBJECTNAMEThe data group or user group name.
UPDATEDThe date the record was updated.