A D-pointer is a special record in a database master dictionary or in a table dictionary that contains information about a table.
The format of a D-pointer is shown below. See the File-Defining Items topic in the D3 Reference Manual for more information.
Attribute | Description |
---|---|
0 (id) | D3 Table Name |
1 | D{code}{F,L,N,P,Q,S,T,U,X,Y} |
2 | Full path name Server: {host file path / } dict {/ data } / file |
3 | Modulo (hashed Table) |
Any field in the full path name can contain D3 environment variables $(name). Environment variables are useful in encoding the server name and the root path; making moving a table easy. The following names are reserved:
Name | Description |
---|---|
$(MD) | Replaced by the root directory name of the database. |
$(MDS) | Replaced by the network computer name of the MDS Server. |
$(ROOT) | Replaced by an empty string, indicating the D3 root. |
Other environment variables are searched in the table Dm,Catalogue,Environment and replaced with the first attribute of the record that has a key equal to the variable name. The variable name is case insensitive. An environment name can be specified when creating a new table. For example, creating a table on the server $(accounting), on the host driver $(acc.root), where accounting and acc.root are records in the environment file:
accounting
001 Win_301
acc.root
001 D:\Home\Accounting
would actually create the table on the server, Win_301, and place the data under D:\Home\Accounting. Moving this table to another server or another location only requires changing the environment.
The optional internal code identifies the type of file.
A D-pointer is created automatically by the file system when creating a table. They should not be edited manually nor deleted by a simple delete command.