This section describes the makeup of a ".dd" file.
All the data created by the keywords below is "global shared".
Variable names must follow Python's rules except - underscores are treated as separators in the various column and index names and are interpreted as described below.
defineTable <table name> - This starts the definition of a table. <table name> is mandatory and can be anything.
-- defineColumn <column name> [<default value>] - This keyword defines a column in a table. <column name> is mandatory> <default value> is optional. The types of column names are:
-- <this table name>_<that table name>_Ref - This defines a reference from the current row in the <this table name> to a row in <that table name>.
-- <this table name>_<anything but the above> - This defines an ordinary column in the current table.
A "Name" column must exist in every table. It is used to identify the terminal row of a reference when dumping a referring table. It does not have to hold unique values.
A "RowStatus" column must exist in every table. It must be the last column. See the Test Platform tab for more information about the uses of this column.
defineIndex <index name> - This keyword defines an index for one column of the table. <index name> is mandatory and must follow the format <table name>_<column name>2Ref where column name must be a column in the current table.
Code is generated to check for duplicate values on inserts in the "AddARow" routine and if detected, the program halts displaying an execution stack trace.
This ends the current table definition.
defineUnary <unary name> <initial value> - This keyword defines a list of size (1) to use as a solo value (the "multiprocessing" feature only supports generating "lists" and "dicts").
defineList / defineDict <variable name> - These keywords generate an empty list or dict.