File-Defining Items

File-defining items are the mechanisms by which the D3 system establishes the disk addresses of a file.

This item contains ASCII numeric data that describes the file location in virtual memory.

These numbers are the base frame ID and the modulo that resolves to drive, cylinder, sector, and head.

File-defining items are often called FID or D-pointers in reference to the dictionary code in attribute 1.

File-defining items define the nature of the item-ID (attribute 0) and the relationships between files, and contain default macros for AQL and the Update Processor.

In D3, information about the file itself, its physical extents, status, indexes, and so on, is stored in a separate data structure called the file control block. This data structure is unavailable to the user except indirectly through the file-defining item.

Attribute

Name

Description

0

Item-ID

Name of the file being defined.

1

Dictionary Code

Must contain a d for file-defining items. The following characters can be added to the dictionary code to further define the item:

l

Logs updates to the transaction logger.

n

Disables update protection on a file, even if global update protection is enabled. Cannot be used with the u option.

p

Primary file space. Contains only pointer items.

s

Item-IDs are case-sensitive.

u

Enables update protection on a file, even when global update protection is disabled. Cannot be used with the n option.

x

Does not save file contents on a file-save. The file does not exist on restore.

y

Does not save file contents on a file-save. An empty file of the same modulo exists after restore.

2

Base

Frame ID number of the associated file. The value assigned to the base of the file is reflected in the message that displays to the screen when the file is created.

3

Modulo

Number of contiguous frames in the primary file space of the file. The value assigned to the modulo of the file is reflected in the message that displays to the screen when the file is created. A file cannot be created unless there is a large enough block of contiguous space to handle the requested file size.

4

Reserved

5

Retrieval Lock

Controls access to dictionaries in the master dictionary. In the dictionary, this attribute controls access to files. One of the user’s lock codes in attribute 6 of the users item in the users file must match the first lock code specified in this attribute in order to access the appropriate dictionary. Multiple lock codes are treated as multiple values and are separated by value marks within this attribute.

6

Update Lock

Controls access to account master dictionaries or file dictionaries for update. One of the user’s lock codes in attribute 6 of the users item in the users file must match the first lock code specified in this attribute in order to update the appropriate dictionary. Multiple lock codes are treated as multiple values and are separated by value marks.

7

Reserved

8

Correlative

Contains processing codes as described in Processing Codes. Processing codes allow a file to function as an application by pre- and post-processing data, and are applied when an item in this file is updated.

9

Justification

Contains codes used to specify justification for the item-ID:

l

Left justification with word wrap on overflow. This option breaks on a word.

r

Right justification with overflow to the left.

t

Left justification with word wrap on overflow. This option word wraps, only breaking on a space.

u

Left justification with overflow to the right.

w

Processes through the Output Processor before listing. Any valid Output Processor command can follow this code or be used in this attribute. This code only works for noncolumnar formats. Dot commands following the w are prefixed to the attribute. A second value may contain dot commands to be postfixed to the attribute for output processing.

 

 

ww

Processes all attributes from the current attribute through the end of the item through the Output Processor before listing. This code works for noncolumnar formats only. Dot commands following the ww are prefixed to the first attribute. Thus, they are executed before the output data. A second value may contain dot commands to be postfixed to the item for output processing.

x

Used with l, r, or t to expand display field to fill the terminal or printer width as specified in the term command.

10

Column Width

Number of character spaces used for displaying the item-ID on AQL reports.

11

Reserved

12

Reserved

13

Reallocation

Used in the save and restore process to redefine the value of the modulo of the associated file.

14

Input-Conversion

Contains processing codes to be applied to data prior to entry.

15

Macro

Contains the attribute names to be used as default input specifications for the Update Processor. The attribute-defining items listed here are used as the default output list by AQL if no output-macro is specified, and are automatically listed when any AQL command that allows attribute-defining items is invoked with no attribute names are specified. Attribute names in the list are separated by spaces. If the specified attribute name does not exist in the dictionary, it is ignored.

The macro attribute can be multivalued. When multivalued macros are used, the macro to be used by AQL or the Update Processor is determined by calling a FlashBASIC program from the input-conversion of the D-pointer that assigns a value number to access(18). This value number corresponds to the value number of the macro to be used.

To automatically prompt for an item-ID, the id-prompt modifier or the i Update Processor option can be used.

16

Output-Macro

If present, this becomes the default output-macro. Otherwise, attribute 15, if present, is used as the output-macro. The purpose of having both the macro and the output-macro is to use different default attribute-defining items for AQL and the Update Processor.

17

Description

Used for comments and descriptions concerning the function of the current file. A ? gets the help message from the item in the Update Processor.

18

Reserved

19

Reserved

20

hotkey.all

 

21

hotkey1

 

22

hotkey2

 

23

hotkey3

 

24

hotkey4

 

25

hotkey5

 

26

hotkey6

 

27

hotkey7

 

28

hotkey8

 

29

hotkey9

 

30

hotkey0

 

WARNING—

Editing a file-defining item should be done using the Update Dictionary processor, or by using the editor with the (D) option.

See Also

access() Function

Account

account-maint Command

account-save Command

Attribute

b (Bridge) Processing Code

call Processing Code

callx (Write Trigger) Processing Code

check-dx Command

create-account Command

D-Pointer

d/code

f-resize Command

f/syn

FDI

File Control Block

File Reference

fileflgs

Hashing

Hot Key Commands

hotkey.all File

hotkey0

hotkey1

hotkey2

hotkey3

hotkey4

hotkey5

hotkey6

hotkey7

hotkey8

hotkey9

item Command

Item-ID

itmflgs

lfd Macro

list-item Command

Pointer Item

Subvalue

ulk

Value