The data dictionary populated by Stonefield Query Studio 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:

  • D: database

  • C: table ("C" stands for cursor)

  • F: field

  • R: join ("R" stands for relation)

  • G: data group

  • U: user group

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"
OBJECTNAME The name of the database record (not necessarily the name of the physical database; this is the name shown in the TreeView for the database).
ALIAS The 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.
CAPTION The descriptive name of the data source (this comes from the caption you entered in the Add Database dialog).
HEADING The name of the data source; this is usually the same as OBJECTNAME.
FIELDEXPR The 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.
FORMAT The name of the server (ODBC only).
INPUTMASK The name of the ODBC driver (ODBC only) or the OLE DB connection string (ADO only), if applicable.
CLASS Additional ODBC connection information (ODBC only).
LIBRARY The database specifier required by the ODBC driver, such as "dbq" or "database" (ODBC only).
REPORTABLE True if this is the main database.
ALIAS1 The user ID used to access the data source (ODBC only).
ALIAS2 The password, stored as an encrypted string (ODBC only).
UPDATED The date the record was updated.

Table Records

ColumnContents
RECTYPE "C"
DATABASE The name of the database (matching OBJECTNAME for a database record) the table belongs to.
DATAGROUP A comma-delimited list of the ID values of the data groups the table belongs to.
OBJECTNAME The 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]).
ALIAS The same contents as OBJECTNAME.
CAPTION The descriptive name of the table.
HEADING The main table name if this is a subtable.
OUTPUTEXPR The subtable filter expression if this is a subtable.
FIELDEXPR The schema or owner of the table (ODBC and ADO only).
REPORTABLE True if the user can query on any of the fields in this table.
PATH The path for the table (Visual FoxPro free tables only).
USER User-defined column; not used by Stonefield Query but can be by your scripts if desired.
ROLES A comma-delimited list of roles that can access the table (blank if everyone can access it).
UPDATED The date the record was updated.
VERSION The version number for this table if it doesn't appear in all versions of the target database. Use a "+" suffix if this table appears in the specified version and all later versions (that is, the table was added in that version) or a "-" suffix if the table appears in the specified version and all previous versions (that is, it was removed in the next version). For example, "5.3+" indicates the table is available starting in version 5.3 while "5.3-" indicates it was removed in version 5.4.

Field Records

Field records have some redundant information with table records. For example, the DATABASE column contains 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. Stonefield Query Studio 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"
DATABASE The name of the database (matching OBJECTNAME for a database record) the field belongs to.
OBJECTNAME The 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]).
ALIAS The name of the table (matching OBJECTNAME for a table record) the field belongs to.
ALIASCAP The descriptive name of the table (matching CAPTION for a table record).
CAPTION The descriptive name of the field.
HEADING The default column heading in a report for the field.
FIELDEXPR The 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).
FIELDTYPE The data type of the field.
FIELDLEN The length of the field, including decimals and one place for the decimal character if there are any decimals.
FIELDDEC The number of places after the decimal for numeric fields.
FORMAT The format property for the field.
INPUTMASK The picture for the field.
KEY The 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)
CLASS The 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.
LIBRARY The 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.
GETMETHOD Reserved for future use.
SETMETHOD Reserved for future use.
VALUESMETH The 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.
CALCULATED True if this is a calculated field. If the Stonefield Query Expression property of a calculated field is turned off, this contains False.
CALCFIELDS A 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.
OUTPUTEXPR The 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.
OUTPUTTYPE The data type of the output expression (empty if the same as FIELDTYPE).
OUTPUTLEN The length of the result of the output expression, including decimals and one place for the decimal character if there are any decimals.(0 if the same as FIELDLEN).
EXACT If this column contains True, Stonefield Query add blanks to the filter comparison value when the "equals" operator is used so the comparison is exact.
FILTERABLE True if the user can filter on this field.
REPORTABLE True if the user can query on the field.
SORTABLE True if the user can sort on the field.
ALLOWVALUE True if the Values button is enabled for this field.
UPPER If 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).
PATH The path for the table (Visual FoxPro free tables only).
ALIAS1 User-defined column (stored in the Other property of a field object).
ALIAS2 The default summary for the field.
USER User-defined column (stored in the User property of a field object); this is only used by Stonefield Query if the field is defined as an enumerated field.
COMMENT The comment for the field.
ROLES A comma-delimited list of roles that can access the field (blank if everyone can access it).
UPDATED The date the record was updated.
VERSION The version number for this field if it doesn't appear in all versions of the target database. Use a "+" suffix if this field appears in the specified version and all later versions (that is, the field was added in that version) or a "-" suffix if the field appears in the specified version and all previous versions (that is, it was removed in the next version). For example, "5.3+" indicates the field is available starting in version 5.3 while "5.3-" indicates it was removed in version 5.4.

Relation Records

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

ColumnContents
RECTYPE "R"
DATABASE The name of the database (matching OBJECTNAME for a database record) for the table specified in ALIAS1.
OBJECTNAME The 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]).
CAPTION The name of the database (matching OBJECTNAME for a database record) for the table specified in ALIAS2.
ALIAS1 The name of the child table. The table name is delimited as necessary.
ALIAS2 The name of the parent table. The table name is delimited as necessary.
EXPR1 The aliased name of the field in the child table for the join (empty if RELEXPR is filled in).
EXPR2 The aliased name of the field in the parent table for the join (empty if RELEXPR is filled in).
RELEXPR The join expression if a complex join is used.
OUTERJOIN 0 for an inner join, 1 for a left outer join, 2 for a right outer join, or 3 for a full join.
JOINWEIGHT The join weight value.
UPDATED The date the record was updated.
VERSION The version number for this relation if it doesn't appear in all versions of the target database. Use a "+" suffix if this relation appears in the specified version and all later versions (that is, the relation was added in that version) or a "-" suffix if the relation appears in the specified version and all previous versions (that is, it was removed in the next version). For example, "5.3+" indicates the relation is available starting in version 5.3 while "5.3-" indicates it was removed in version 5.4.

Data Group and User Group Records

ColumnContents
RECTYPE "G" for data groups and "U" for user groups.
OBJECTNAME The data group or user group name.
UPDATED The date the record was updated.