Abort | An event that occurs at a major application failure. Aborts can be generated by QM internally if it detects a serious error, by application software, or by the end user (though this can be disabled). All programs, menus, paragraphs, etc active in the user's process are discarded and the user returns to the command prompt. The ON.ABORT VOC item can be used to capture this event and take special action. |
Account | A collection of database files, programs, etc that form an application. Viewed from outside QM, an account is an operating system directory. |
AK | See Alternate Key Index |
Alias | A way to assign an alternative name to a command, perhaps only within specific QM sessions. For example, users migrating from Pick style environments frequently use ALIAS to make COPY run the COPYP command. |
Alternate Key Index | An index structure that allows applications to identify all records that have a particular value in for a secondary key item. The index contains a list of primary key values for each secondary key value. |
Association | The relationship between two or more multivalued data items where the values belong together. For example, an order processing system might have two associated fields, one holding a list of product codes, the other a list of quantities ordered. |
Attribute | An alternative name for a field. |
B-tree files | A file structure used to store alternate key indices. B-tree (balanced tree) files use an internal structure that stores data in sorted order and hence allow efficient access to ranges of key values. |
Catalog(ue) | A repository for application programs. QM supports three modes of cataloguing; local, private and global. Local and private cataloguing normally restrict access to the program to the one account. Globally catalogued programs can be accessed from all accounts. |
Class module | A program source module that acts as a container for persistent data definitions and public functions/subroutines in object oriented programming. |
Command prompt | A prompt (a colon) displayed by the command processor when it is waiting for a command to be entered. This prompt changes to a double colon if the default select list is active. |
Command stack | A list of the most recent commands executed by a user. The command stack editor allows a user to look back at this historic data, modify commands and repeat commands. (In strict computing terms, the command stack isn't a stack at all. It's a queue but the incorrect term is widely used.) |
Common block | A block of data items used by an application that are to be shared between programs in the one user process. |
COMO File | A record in a special file ($COMO) that stores a copy of all output sent to the user's terminal. COMO (command output) trapping is enabled/disabled with the COMO command. |
Conversion code | A code describing how data must be transformed from its internal representation within the database before displaying it to a user. For example, dates are usually stored internally as the number of days since 31 December 1967. |
Correlative | A rather limited equivalent to I-type dictionary items supported by QM in A and S-type items to simplify migration from other multivalue database products. |
Database | A collection of data stored in a form that enables easy access to specific items. |
Debugger | A development tool for debugging QMBasic programs. |
Dictionary | A secondary component attached to most database files that contains a description of the format of records stored in the file and default settings controlling how the query processor will display this data. |
Directory files | A simple file structure that makes use of the underlying operating system's files to represent database records. Directory files do not offer high performance but can be accessed from outside QM and are therefore frequently used to exchange data with other software. |
Dynamic array | A character string divided into fields, values and subvalues using the mark characters. A database record is stored in this way but dynamic arrays can be used by application developers for other lists of items. |
Dynamic file | A type of hashed file that automatically changes its modulus value to react to changes in the volume of data stored. |
errlog | An error log file in the QMSYS account. QM writes entries to this log whenever an error is detected. Applications can also write to the log using the QMBasic LOGMSG statement. |
Field | A column from the tabular representation of a database file. |
File | A database table. QM supports hashed files for high performance and directory files for data exchange. |
Format code | A code describing the way in which a data item is to be displayed or printed specifying, for example, the number of characters and justification. |
Group | A portion of a hashed file. The number of groups in a file varies automatically according to the volume of data stored in it. |
Group size | The size of a group in multiples of 1024 bytes. QM allows group size values in the range 1 to 8. |
Hashed files | High performance files in which the location of a record is calculated by applying the hashing algorithm. |
Hashing algorithm | A mathematical calculation applied to the characters of a record key to deduce the group in which that record will be stored. |
Hot Spot Monitor | A tool for identifying the number of times each module of an application is executed and the processing time spent in them. |
ID | Another name for the primary key of a record. |
I-descriptor | Another name for an I-type. |
Information style | A reference to the command and programming language style found in the Prime Information multivalue database product and others that adopt this style. |
Inline prompt | A special syntax in a QM command that allows substitution of data into the command. Although the name implies that the construct will prompt the user for this data, there are many variants that retrieve data from elsewhere. |
I-type | A dictionary item that describes a calculation that yields a result that can then be used exactly as though the value was stored in the database. |
Key | A shortened term for the primary key of a record. |
Keyword | A word or symbol affecting the behaviour of a command. Keywords correspond to K-type VOC entries. |
Laws of Normalisation | A set of rules that govern the construction of relational databases. Multivalue databases discard the first law of normalisation, allowing them to store multivalued data. This results in a data model that more accurately reflects the real world than a fully normalised database, usually requires fewer tables and is quicker to develop. |
Locking | A mechanism used to ensure that two users cannot update the same data item simultaneously, a situation that would usually result in errors. |
Mark characters | Characters used within the QM to separate field, value and subvalues within a database record or other dynamic array. |
Menu | A M-type VOC record that describes a numbered list of options to be displayed to the user. Each option would have an associated sentence to be executed and, optionally, some help text. |
Modulus | The number of groups in a hashed file. |
Multi-file | A file that is made up from multiple subfiles that share a single dictionary. For example, a sales application might have a multi-file with a subfile for each business region. |
Multivalue | Breaking a simple data item (typically a field) into multiple instances of the same type of data. |
Overflow | QM uses high performance hashed files in which the location of a record can be deduced from its primary key. If there is insufficient space to store the record at its calculated location, the file system extends the group by adding one or more overflow blocks. |
Object | A run time instance of a class module. |
Paragraph | A VOC record containing a script of commands to be executed. Paragraphs can include special commands to provide conditional execution, loops, jumps, prompts, etc. |
Phantom | A QM process that runs in the background without a terminal. Phantom processes are started with the PHANTOM command and store a copy of all output that would normally have gone to the terminal in the $COMO file. |
Phrase | A part of a sentence, excluding the verb. Phrase entries may appear in the VOC or in dictionaries. Phrases are used as short forms in commands, to set defaults for the query processor, and to link fields within an association. |
Pick style | A reference to the command and programming language style found in the Pick multivalue database product and others that adopt this style. (The first multivalue database environment was created by Dick Pick). |
Primary key | A character string that uniquely identifies a record in a file. QM supports keys from 1 to 255 characters in length but lengths over 63 characters require the MAXIDLEN configuration parameter to be amended. |
Proc | The predecessor of paragraphs found in other multivalue database products and supported in QM for ease of migration. Development of new Procs is discouraged. |
Process dump file | A text file optionally generated at a run time application error. This file contains a full report on the state of the application at the time of the error. |
QMAdmin | A Windows graphical tool for simple monitoring of a QM system. |
QMBasic | The programming language used to develop QM applications. |
QMClient | An interface that allows access to QM from other languages such as Visual Basic or C. |
QMFix | A tool for checking the internal structure of QM files after a system crash. |
QMIdx | A tool for updating internal pointers if an alternate key index file is moved. |
qmlnxd | A daemon process that runs on non-Windows system to perform background system monitoring tasks. |
QMNet | An integrated component of QM that allows access to data stored on another QM server with full support for locking. |
Record | An item stored in a database file. The file system accesses data at the record level. Interpretation and manipulation of the content of the record is up to the application and related system tools. A record is usually formed from multiple fields which may in turn be broken down into values and subvalues. |
Relational Database | A style of database that represents data in the form of tables (relations). |
Secondary key | A data item in a record, or a value calculated from data in the record, that is to be used to construct an alternate key index so that records can be selected based on this value. |
Select list | A list of items, usually primary keys, to be processed. QM provides memory resident numbered select lists that are private to the process using them and disk based named lists that can be shared or retained for later use. |
Sentence | A complete QM command or the start of one. A sentence may be typed at the command prompt or it may be stored in the VOC for later execution simply by typing the name of the VOC record. |
String | A sequence of characters stored as a data item. |
Subvalue | A subdivision of a value to represent multiple instances of the same type of data within the value. For example, an order processing system might have a pair of associated multivalued fields storing the product number and quantity for each item ordered. If it was necessary to store the serial number of each item shipped, this would be a subvalued field in the same association. |
Table | Another name for a database file. |
Terminfo | An internal database that stores details of the control codes appropriate to all terminal types supported by QM. |
Transaction | A related set up updates to a database that must either all happen or none must happen. |
Trigger | A user written QMBasic subroutine that is executed whenever selected operations are performed against a file. Triggers get their name from their use to trigger other related updates but they can also be used for data validation. |
Value | A subdivision of a field to represent multiple instances of the same type of data. For example, an order processing system might have multiple values stored in the product number field of an order. |
Verb | The command word in a sentence. This is always the first word and corresponds to a V-type VOC entry. |
VOC | A file found in all accounts that contains a list of all the words and symbols that can be used in commands and details of how they should be processed. By changing the VOC, it is possible to extend or modify the QM command language. |
|