RDB/VMS Relational Database Operator — VMS CDD+_4.1A
Additional information available:
$@ANALYZEAT_ENDBACKUPCHANGECHANGE_DATABASE
CHANGE_FIELDCHANGE_INDEXCHANGE_PROTECTION
CHANGE_RELATIONCHANGE_STORAGE_MAPCLOSECOMMIT
CONVERTCREATE_SEGMENTDATABASEDECLARE_STREAMDEFINE
DEFINE_CONSTRAINTDEFINE_DATABASEDEFINE_FIELDDEFINE_INDEX
DEFINE_PROTECTIONDEFINE_RELATIONDEFINE_STORAGE_MAP
DEFINE_VIEWDELETEDELETE_CONSTRAINTDELETE_DATABASE
DELETE_FIELDDELETE_INDEXDELETE_PATHNAMEDELETE_PROTECTION
DELETE_RELATIONDELETE_STORAGE_MAPDELETE_VIEW
EDITEND_SEGMENTEND_STREAMERASEEXIT
EXPORTFETCHFINISHFORGETHELPIMPORT
INTEGRATEINVOKEMODIFYON_ERROROPENPLACE
PRINTRDOINIREADYRECOVERREFRESHRESTOREROLLBACK
RSESETSHOWSPOOLSTART_SEGMENTSTART_STREAM
START_TRANSSTOP_MONITORSTORE
Access rightsCommand RecallCond exprDatatypesData DistribDCL invoke
DemoErrorsExecuteField attrPreprocessorsRDO Foreign Cmd
Release NotesRel operatorsSegment strTech changesValue expr
Access rights
Rdb/VMS controls access rights that grant or deny users access to:
o Data in an Rdb/VMS database
o Rdb/VMS data definition statements
o Rdb/VMS utility statements
When specifying access rights, remember these rules:
o Rdb/VMS denies all access rights not explicitly granted.
o Specify only those access rights to which you want to grant
access.
For tables that define these access rights, ask for Additional
Information on DATA_ACCESS, DEF_ACCESS.
Additional information available:
DATA_ACCESS
This table lists the access rights that control access to data. Table 1: +----------------+-------------+----------------+ | | | | Access Right To Grant To Deny | Access Right | To Grant | To Deny | +----------------+-------------+----------------+ | | | | | Read data | READ | NOREAD | | | | | | Store data | WRITE | NOWRITE | | | | | | Modify data | MODIFY | NOMODIFY | | | | | | Erase data | ERASE | NOERASE | +----------------+-------------+----------------+
DEF_ACCESS
This table lists the access rights that control access to database definitions. +---------------------------------------+--------------------+--------------------+ | | | | Access Right To Grant To Deny | Access Right | To Grant | To Deny | +---------------------------------------+--------------------+--------------------+ | | | | | Define global field | DEFINE | NODEFINE | | or relation | | | | | | | | Change global field | CHANGE | NOCHANGE | | or database | | | | | | | | Delete global field | DELETE | NODELETE | | or database | | | | | | | | Define, change, delete protection for | CONTROL | NOCONTROL | | database | | | | | | | | [Reserved for future versions] | SHOW | NOSHOW | | | | | | OPEN or CLOSE a database | ADMINISTRATOR | NOADMINISTRATOR | | | | | | Use any CHANGE DATABASE option | ADMINISTRATOR | NOADMINISTRATOR | | | or CHANGE | or NOCHANGE | +---------------------------------------+--------------------+--------------------+ This table lists the access rights that control access to relation definitions. +---------------------------+--------------------+------------------+ | | | | Access Right To Grant To Deny | Access Right | To Grant | To Deny | +---------------------------+--------------------+------------------+ | | | | | Define view, index, | DEFINE | NODEFINE | | constraint, or storage | | | | map | | | | | | | | Change relation | CHANGE | NOCHANGE | | | | | | Delete relation, | DELETE | NODELETE | | index, view, | | | | constraint, or storage | | | | map | | | | | | | | Define, change, delete | CONTROL | NOCONTROL | | protection for | | | | relation | | | | | | | | [Reserved for future | SHOW | NOSHOW | | versions] | | | | | | | | CHANGE PROTECTION | | | | DEFINE PROTECTION | CONTROL | NOCONTROL | | DELETE PROTECTION | | | | | | | | [Reserved for future | OPERATOR | NOOPERATOR | | versions] | | | +---------------------------+--------------------+------------------+
Command Recall
Rdb/VMS saves and allows you to access up to 20 of your most recently entered RDO commands. Use the UP-ARROW or CTRL/B keys to recall previously entered commands. Use the DOWN-ARROW key to reexamine a command that you had retrieved using the UP-ARROW key. This feature is designed for the convenience of RDO users. It greatly reduces the need to enter the RDO editing buffer to rerun one or more of your last 20 commands. The EDIT statement continues to be a useful tool for created RDO procedures in that it lets you take advantage of your editor's text manipulation features and it lets you edit multiple lines.
Additional information available:
More
Any string entered at the RDO> prompt is saved in the recall buffer. This includes all DCL commands prefaced by the dollar sign ($), commented text that begins with the exclamation point (!), and any RDO statements. The carriage return delimits each line written to the recall buffer. Thus, in the following example, four separate entries are written to the recall buffer: RDO> FOR E IN EMPLOYEES cont> WITH E.EMPLOYEE_ID BETWEEN "00164" AND "00175" cont> PRINT E.LAST_NAME, E.EMPLOYEE_ID cont> END_FOR The most recently typed command is at the top of the recall buffer. If the user enters CTRL/B at this point, the END_FOR statement would appear first. There are no parameters or logicals available to control the maximum number of lines saved in the recall buffer.
Cond expr
An expression, sometimes called a Boolean expression, that represents the relationship between two value expressions. The value of a conditional expression is either true, false, or null. Conditional expressions can be combined with AND and OR or qualified with NOT. AND, OR, and NOT are called logical operators.
Additional information available:
ANYBETWEENUNIQUECONTAININGSTARTING_WITH
MISSINGMATCHING
Format
conditional-expr = ──┬───> conditional-expr ──>
A
N
D ──> conditional-expr ───┬──> ├───> conditional-expr ──>
O
R ───> conditional-expr ───┤ ├────────────────────────>
N
O
T ──> conditional-expr ───┤ ├───> value-expr ──> operator ──> value-expr ────────┤ ├───> any-clause ──────────────────────────────────────┤ ├───> between-clause ──────────────────────────────────┤ ├───> containing-clause ───────────────────────────────┤ ├───> matching-clause ─────────────────────────────────┤ ├───> missing-clause ──────────────────────────────────┤ ├───> starting-with-clause ────────────────────────────┤ └───> unique-clause ───────────────────────────────────┘
value-expr
For a complete description of Rdb/VMS value expressions, ask for HELP on Value_expr.
ANY
any-clause = ────┬───>────────┬──>
A
N
Y ───> rse ───> └───>
N
O
T ───┘ The condition containing ANY is true if the record stream specified by the record selection expression (RSE) includes at least one record. If you add NOT, the condition is true if there are no records in the record stream.
BETWEEN
between-clause = ────> value-expr ────┬───>──────┬───>
B
E
T
W
E
E
N ────┐ └──>
N
O
T ──┘ │ ┌─────────────────────────────────────────────┘ └───> value-expr ───> typebox (A)typebox (N)typebox (D) ───> value-expr ───────> The condition containing BETWEEN is true if the first value expression is between the second and the third value expressions or equal to one of them.
UNIQUE
unique-clause = ──────┬───>─────┬─>
U
N
I
Q
U
E ───> rse ───> └──>
N
O
T ─┘ The condition containing UNIQUE is true if the record stream specified by the RSE includes only one record. If you add NOT, the condition is true if there is more than one record in the record or the record stream is empty.
CONTAINING
containing-clause = ───> value-expr ───┬─────>────┬──>
C
O
N
T
A
I
N
I
N
G ───> value-expr ───> └──>
N
O
T ──┘ With CONTAINING, the condition is true if the second value expression is found within the first. In most cases, the value expressions in a CONTAINING clause evaluate to text strings, but CONTAINING also operates on numeric data types. NOTE CONTAINING is not case sensitive; it considers upper- and lowercase forms of the same letter to be a match. If either of the value expressions in a CONTAINING clause is null, the result is null.
STARTING_WITH
starting-with-clause = ───> value-expr ───┬─────>─────┬──>
S
T
A
R
T
I
N
G
W
I
T
H ───> value-expr ──> └──>
N
O
T ───┘ If a condition contains STARTING WITH, the condition is true if the first characters of the first string expression match the second string expression. In most cases, the value expressions in a STARTING WITH clause evaluate to text strings, but STARTING WITH also operates on numeric data types. NOTE STARTING WITH is case sensitive; it considers upper- and lowercase forms of the same letter to be different. If either of the string expressions in a STARTING WITH clause is null, the result is null.
MISSING
missing-clause = ───> db-field ────────┬────>─────┬──>
M
I
S
S
I
N
G ───> └──>
N
O
T ──┘ This condition is true if the value specified by db-field is missing.
MATCHING
matching-clause = ───> value-expr ───┬─────>────┬─>
M
A
T
C
H
I
N
G ───> match-expr ────> └──>
N
O
T ──┘ With MATCHING, the condition is true if the match expression matches the value expression. MATCHING uses the following symbols: * Matches any string of zero or more characters % Matches any single character NOTE MATCHING is not case sensitive; it considers upper- and lowercase forms of the same letter to be a match. If either of the expressions is null, the result is null.
Datatypes
This table summarizes the characteristics of the Rdb/VMS data types.
Table 1: Rdb/VMS Data Types
VAX Rdb/VMS Corresponding Size Range Other
Data Type VAX Data Type Precision Parameters
SIGNED Signed word 16 bits -32768 to n = scale
WORD integer 32767 factor
SIGNED Signed 32 bits -2**31 to n = scale
LONGWORD longword (2**31)-1 factor
integer
SIGNED Signed 64 bits -2**63 to n = scale
QUADWORD quadword (2**63)-1 factor
integer
F_FLOATING F_floating 32 bits Approximately None
Single seven decimal
precision digits
floating
point number
G_FLOATING G_floating 64 bits Approximately None
Extended 15 decimal
precision digits
floating
point number
DATE Absolute date 64 bits Not None
and time applicable
TEXT ASCII text n bytes 0 to 16383 n = number of
characters characters
(unsigned
integer)
VARYING Varying Varies 0 to 16383 n = maximum
STRING length ASCII characters number of
text characters
(unsigned
integer)
SEGMENTED None Varies 0 to 64k None
STRING bytes per
segment
Note: For more information on SEGMENTED STRINGS, request HELP
on Segmentstr.
Data Distrib
VAX Data Distributor is a software product that lets you distribute whole databases, or parts of them, to target directories on the same or different nodes in the network. The source database for extraction and extraction rollup target databases can be a DSRI-compliant database such as Rdb/VMS or VIDA. The source database for a replication target database must be an Rdb/VMS database. You can issue all language statements, options, and qualifiers of VAX Data Distributor from RDO when VAX Data Distributor is installed on your system.
Additional information available:
EXTRACTIONEXTRACTION_ROLLUPREPLICATIONSHOW_TRANSFER
DELETE_SCHEDULEDELETE_TRANSFERDEFINE_TRANSFERDEFINE_SCHEDULE
REINITIALIZE_TRANSFERSTART_TRANSFERSTOP_TRANSFER
Release Notes
To see the current Release Notes for VAX Data Distributor, type or print
the following file:
SYS$HELP:DDALvvu.RELEASE_NOTES
where vv = version
u = update
For example:
SYS$HELP:DDAL020.RELEASE_NOTES
Error msg doc
Errors returned by Data Distributor are documented online in two
locations:
o This Help file. Enter "RDO> HELP Errors DDAL" and then specify the
message on which you want an explanation and suggested user action.
o In the file SYS$HELP:DDAL$MSG.DOC, which you can PRINT, TYPE, or
SEARCH at DCL level.
EXTRACTION
Specifies that Data Distributor create an extraction database at the target site. Because each extraction database is independent of the source database, users at the target directory can access extraction databases with either read-only or read-write transactions. Each time an extraction transfer executes, Data Distributor creates a new version of the target database and transfers a complete copy of the selected records to the target node. Indexes, constraints, and access rights are not transferred when the target database is created. Once the target database has been created, you can define views, indexes, and constraints for it and modify the access rights. Refer to the VAX Data Distributor Handbook for more information about extraction databases.
EXTRACTION_ROLLUP
Specifies that Data Distributor create an extraction rollup database at the target site with records selected from one or more source databases. Because each extraction rollup database is independent of the source database, users at the target directory can access extraction rollup databases with either read-only or read-write transactions. Each time an extraction rollup transfer executes, Data Distributor creates a new version of the target database and transfers a complete copy of the selected records to the target node. Indexes, constraints, and access rights are not transferred when the target database is created. Once the target database has been created, you can define indexes and constraints for it and modify the access rights. Refer to the VAX Data Distributor Handbook for more information about extraction databases.
REPLICATION
Specifies that Data Distributor create a replication database at the target site. When a replication transfer executes, Data Distributor creates a database at the target site during the initial execution and supplies updates to it during subsequent transfers. In addition, the execution of a replication transfer might create special-purpose relations in the source database and the target database to handle updating. Refer to the VAX Data Distributor Handbook for specific information about these special database entities. Because the source database is modified with the addition of these new system relations, the user who defined the transfer needs the DEFINE access right to the source database. After Data Distributor creates the target database and transfers the data records to it, users are expected to access the replication database to retrieve data only. Applications should not attempt to store, modify, or erase values in records of the replication database.
SHOW_TRANSFER
Displays information about the transfer definition, schedule definition, the transfer status, or all these transfer attributes. When you enter the SHOW TRANSFER statement, you can display information about one transfer or all of them, but not about a selected number of transfers.
Additional information available:
Format
SHOW TRANSFER ────> transfer-attribute ───┐ ┌──────────────────────────────────────┘ └──────>
F
O
R ───┬───>
A
L
L ────────────┬───> └───> transfer-name ──┘ transfer-attribute = ───┬───>
D
E
F
I
N
I
T
I
O
N ─────┬────> ├───>
S
C
H
E
D
U
L
E ───────┤ ├───>
S
T
A
T
U
S ─────────┤ └───>
A
L
L ────────────┘
DELETE_SCHEDULE
Deletes the schedule definition associated with a transfer definition. You can delete a schedule definition only when the associated transfer is in the suspended state. Refer to the STOP TRANSFER statement for information about how to suspend a transfer. If you issue a START TRANSFER statement after deleting the schedule, the transfer will be placed in the unscheduled state.
Additional information available:
Format
DELETE SCHEDULE ──> Ftypebox (O)typebox (R) ───> transfer-name ──────> .
Additional information available:
transfer-name
Identifies the transfer whose schedule is to be deleted. The transfer-name parameter is required.
More
You must execute the DELETE SCHEDULE statement outside of the scope of a transaction. If you issue this statement when a transaction is outstanding, Data Distributor returns an error message. If a transfer has a schedule definition, DELETE TRANSFER also deletes the corresponding schedule definition. If you want to delete a transfer schedule, the schedule definition must be associated with your UIC.
Example
This example places the NH_EMPLOYEES transfer in a suspended state and then deletes the associated schedule. RDO> STOP TRANSFER NH_EMPLOYEES RDO> DELETE SCHEDULE FOR NH_EMPLOYEES.
DELETE_TRANSFER
Deletes a transfer definition. If a transfer has a schedule definition, DELETE TRANSFER also deletes the corresponding schedule definition.
Additional information available:
Format
DELETE TRANSFER ───> transfer-name ────> .
Additional information available:
transfer-name
The transfer definition to be deleted. The transfer-name parameter is required.
More
You must execute the DELETE TRANSFER statement outside of the scope of a transaction. If you issue this statement when a transaction is outstanding, Data Distributor returns an error message. You can delete a transfer only if the transfer is in the suspended state. Refer to the STOP TRANSFER statement for information about how to suspend a transfer. When you delete a transfer definition, the associated target database does not change in any way. If you want to delete a transfer definition, the transfer definition must be associated with your UIC.
Example
The following example suspends the MA_EMPLOYEES transfer and then deletes its definition: RDO> STOP TRANSFER MA_EMPLOYEES RDO> DELETE TRANSFER MA_EMPLOYEES.
DEFINE_TRANSFER
Creates a transfer definition and stores it in the transfer database. A transfer definition contains all the information necessary to select a set of records from the source database and to define a target database. A transfer definition also can contain the views to be defined on the target database and the command procedures to be executed before and after the execution of the transfer. A source database for extraction or extraction rollup transfers can be any DSRI-compliant database, such as Rdb/VMS or VIDA. For replication transfers, the source database must be an Rdb/VMS database.
Additional information available:
Format
DEFINE TRANSFER ──>transfer-name ──┬───>
R
E
P
L
I
C
A
T
I
O
N ──────────┬──┐ ├───>
E
X
T
R
A
C
T
I
O
N ───────────┤ │ └───>
E
X
T
R
A
C
T
I
O
N
R
O
L
L
U
P ────┘ │ ┌───────────────────────────<─────────────────────────────────────┘ └──┬─>───────────────────────────────┬──>
T
O ──> file-spec ─┐ └─>
D
E
S
C
R
I
P
T
I
O
N typebox (I)typebox (S) ─> typebox (/)typebox (*) text */ ─┘ │ ┌──────────────────────────────<───────────────────────────┘ └┬─>───────────────────────┬─┬─┬─>─────────────────────────────┬─┬─┐ └─>target-db-param-clause─┘ │ ├─>move-relations-clause────────┤ │ │ │ ├─>move-views-clause ───────────┤ │ │ │ └─>move-relations-rollup-clause─┘ │ │ └─────────────<─────────────────────┘ │ ┌─────────────────────────────────────────────────────────────────┘ └──┬──────────>────────────────────────┬────────────────────────────┐ └──> transfer-file-options-clause ──┘ │ ┌───────────────────────────────<───────────────────────────────────┘ └──>
E
N
D ───┬───────────────────┬──┬──────────────┬───────> . └─> transfer-name ──┘ └─>
T
R
A
N
S
F
E
R ──┘ target-db-param-clause = ───┬─┬─>────────────────────────────────────────────────────┬─┬──> │ ├─>
A
L
L
O
C
A
T
I
O
N typebox (I)typebox (S) ────────> number-pages ──> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ────┤ │ │ ├─>
P
A
G
E
S
I
Z
E typebox (I)typebox (S) ───> page-blocks ──────> typebox (B)typebox (L)typebox (O)typebox (C)typebox (K)typebox (S) ──────┤ │ │ ├─>
N
U
M
B
E
R typebox (O)F
B
U
F
F
E
R
S typebox (I)typebox (S) ──> number-buffers ───────────┤ │ │ ├─>
N
U
M
B
E
R typebox (O)F
U
S
E
R
S typebox (I)typebox (S) ────> number-users ─────────────┤ │ │ ├─>
B
U
F
F
E
R
S
I
Z
E typebox (I)typebox (S) ──> buffer-blocks ───> typebox (B)typebox (L)typebox (O)typebox (C)typebox (K)typebox (S) ──────┤ │ │ ├─>
E
X
T
E
N
T typebox (I)typebox (S) ──────────┬─> ext-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ───┬──┤ │ │ │ └─> (multi-vol-ext-clause) ─┘ │ │ │ ├─>
S
N
A
P
S
H
O
T typebox (I)typebox (S) ────┬─>
E
N
A
B
L
E
D ─┬─>
I
M
M
E
D
I
A
T
E ──┬─┬───┤ │ │ │ │ └─>
D
E
F
E
R
R
E
D ──┘ │ │ │ │ │ └─>
D
I
S
A
B
L
E
D ──────>───────────┘ │ │ │ ├─>
S
N
A
P
S
H
O
T
A
L
L
O
C
A
T
I
O
N typebox (I)typebox (S) ─> snp-pages ─> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ──────┤ │ │ └─>
S
N
A
P
S
H
O
T
E
X
T
E
N
T typebox (I)typebox (S) ─┬> ext-pages ────> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ────┬─┘ │ │ └> (multi-vol-ext-clause) ───┘ │ └──────────────────<──────────────────────────<────────────┘ multi-vol-ext-clause = ─────>
M
I
N
I
M
U
M typebox (O)F ──> min-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S), ─┐ ┌──────────────────────────────────────────┘ └──>
M
A
X
I
M
U
M typebox (O)F ──> max-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S), ─┐ ┌──────────────────────────────────────────┘ └──>
P
E
R
C
E
N
T
G
R
O
W
T
H typebox (I)typebox (S) ───> growth ────> move-relations-clause = ─┬──>
M
O
V
E
R
E
L
A
T
I
O
N
S
A
L
L ─────────────────>───────────────────┬────> │ │ └─┬─>
M
O
V
E
R
E
L
A
T
I
O
N ─┬───────────────┬──> rse ──┐ │ │ └─> typebox (/)typebox (*) text */ ─┘ │ │ │ ┌────────────────────────<───────────────┘ │ │ └──────>
S
E
L
E
C
T
F
I
E
L
D
S ─┬──>
A
L
L ────────>───────┬──┬─┘ │ └┬─> select-field-name ─┬┘ │ │ └──────── , <──────────┘ │ └──────────────────────── typebox (;) <────────────────────────────┘ rse = ──┬─────────────────┬───> relation-clause ───>────────────────────┐ └─> first-clause ─┘ │ ┌─────────────────────────────────────────────────────────────────┘ └─┬────────────────┬─┬───────────────────┬──┬────────────────┬─────> └─> with-clause ─┘ └─> reduce-clause ──┘ └─> sort-clause ─┘ first-clause = ─────────────────>
F
I
R
S
T ──────────> value-expr ───────────────> relation clause = ──> context-variable ──>
I
N ─┬────────────────────┬─> relation-name ──> └─> db-handle ── . ──┘ with-clause = ─────────────>
W
I
T
H ──────────> conditional-expr ───────────> reduce-clause = ──────────────>
R
E
D
U
C
E
D
T
O ───┬─────> value-expr ───┬─────> └──────── , <─────────┘ sort-clause = ───>
S
O
R
T
E
D
B
Y ──┬─┬──────────────────┬─────> value-expr ───┬───> │ ├──>
A
S
C
E
N
D
I
N
G ────┤ │ │ └──>
D
E
S
C
E
N
D
I
N
G ───┘ │ └────────────────────── , <────────────────┘ conditional-expr = ─┬───> conditional-expr ──>
A
N
D ──> conditional-expr ───┬───> ├───> conditional-expr ──>
O
R ───> conditional-expr ───┤ ├────────────────────────>
N
O
T ──> conditional-expr ───┤ ├───> value-expr1 ──> rel-oper ──> value-expr2 ────────┤ ├───> between-clause ──────────────────────────────────┤ ├───> containing-clause ───────────────────────────────┤ ├───> matching-clause ─────────────────────────────────┤ ├───> starting-with-clause ────────────────────────────┤ └───> missing-clause ──────────────────────────────────┘ value-expr = ───────┬────> database-field ──────┬──> ├────> quoted-string ───────┤ ├────> numeric-literal ─────┤ ├────> arithmetic-expr ─────┤ ├────> missing-value ───────┤ ├────> concat-expr ─────────┤ ├────> ( value-expr ) ──────┤ └────> - ──> value-expr ───┘ move-views-clause = ────>
M
O
V
E
V
I
E
W
S ──┬──>
A
L
L ───────────┬───> └┬─> view-name ──┬──┘ └────── , <──────┘ .! ddal-11 move-relations-rollup-clause = ─┬─
M
O
V
E
R
E
L
A
T
I
O
N ──────────┬─────────────────┬─> rse ────┬─────────┬──> │ └─> typebox (/) typebox (*)text*/─────┘ │ │ │ ┌─────────────────────────────────<─────────────────┘ │ │ └──┬──────────────────────────────>───────────┬─────┐ │ │ └─>
I
N
T
O
R
E
L
A
T
I
O
N ────> relation-name ─────┘ │ │ │ ┌─────────────────────────────────<─────────────────┘ │ │ └─>
S
E
L
E
C
T
F
I
E
L
D
S ──┬──> select-field-name ─────────┬───────┬─┘ │ └────────── , <─────────────────┘ │ └─────────────────────────────────── typebox (;) <─────────────────────────┘ select-field-name = ────────> context-variable ──> . ───> field-name ─────> transfer-file-options-clause ─┬─┬─────────────────────────>───────────────────────────┬───────> │ ├──>
P
R
O
L
O
G
U
E Ftypebox (I)typebox (L)typebox (E) typebox (I)typebox (S) ────> prologue-file-spec ───────┤ │ ├──>
N
O
P
R
O
L
O
G
U
E ──────────>───────────────────────────┤ │ ├──>
E
P
I
L
O
G
U
E Ftypebox (I)typebox (L)typebox (E) typebox (I)typebox (S) ────> epilogue-file-spec ───────┤ │ ├──>
N
O
E
P
I
L
O
G
U
E ──────────>───────────────────────────┤ │ ├──>
L
O
G Ftypebox (I)typebox (L)typebox (E) typebox (I)typebox (S) ─────────> log-file-spec ────────────┤ │ └──>
N
O
L
O
G ───────────────>───────────────────────────┤ └───────────────────────────<───────────────────────────┘
Additional information available:
REPLICATIONEXTRACTIONEXTRACTION_ROLLUPENABLED_IMMEDIATE
ENABLED_DEFERREDDISABLEDMOVE_RELATIONS_ALLASCENDING
DESCENDINGSELECT_FIELDS_ALL
transfer-namefile-spectexttarget-db-param-clausenumber-pages
page-blocksnumber-buffersnumber-usersbuffer-blockssnp-pagesext-pages
min-pagesmax-pagesgrowthmove-relations-clausersefirst-clause
relation-clausecontext-variabledb-handlewith-clauseconditional-expr
reduce-clausesort-clausevalue-exprselect-field-namemove-views-clause
view-namemove-relations-rollup-clausetransfer-file-options-clauseprologue-file-spec
epilogue-file-speclog-file-spec
transfer-name
The name that identifies the transfer. The transfer name must be unique among the set of all transfers defined in the transfer database. Because a single transfer database serves all source databases on a node or VAXcluster, the transfer name must be unique across all source databases at a given site. The transfer-name parameter is required.
REPLICATION
Specifies that Data Distributor create a replication database at the target site. When a replication transfer executes, Data Distributor creates a database at the target site during the initial execution and maintains a connection to that target database so the source can supply updates to the target. Subsequent transfers involve only those modifications that have been made to the selected records in the source database. (If the target and source database should become inconsistent with each other, you can use the REINITIALIZE TRANSFER statement to restore consistency.) In addition, the execution of a replication transfer generally creates special-purpose relations in the source database and the target database to handle updating. Because the source database is modified with the addition of these system relations, the transfer definer's account needs the DEFINE access right to the source database itself. Users are expected to access the replication target database only to retrieve data. Applications should not attempt to store, modify, or erase values in records of the replication database. Although data values should not be manipulated in a replication database, you can modify the target database by defining views and indexes, and adding access rights.
EXTRACTION
Specifies that Data Distributor create an extraction database at the target site. Because each extraction database is independent of the source database, users at the target directory can access extraction databases with READ_WRITE as well as READ_ONLY transactions. Each time an extraction mode transfer executes, Data Distributor creates a new version of the target database and transfers a complete copy of the selected records to the target node. Indexes, constraints, and access rights are not transferred when the target database is created. Once the target database has been created, you can define indexes and constraints for it and modify the access rights.
EXTRACTION_ROLLUP
Specifies that Data Distributor create an extraction rollup database
at the target site by transferring selected relations and fields from
one or more source databases into a single target database. An
extraction rollup database is defined at the target site, and Data
Distributor pulls data from the source databases into the target.
Each time an extraction rollup transfer is executed, Data Distributor
creates a new version of the target database and transfers a complete
copy of the selected records to the target node.
The EXTRACTION ROLLUP option in the DEFINE TRANSFER statement has the
following characteristics and limitations:
o All extraction rollup transfers are pull transfers; that is, you
define the extraction transfer at the target site to transfer
data from a number of remote source databases to a single target
database.
o Data Distributor issues an error message if you do not enter a
MOVE RELATION clause or a SELECT FIELDS list in a
move-relations-rollup-clause.
o You must refer to each source database in the DEFINE TRANSFER
statement by its database handle.
o On the target database, relation names and field names must be
unique. Consequently, all target relations of the same name must
have the same definition, and all target fields of the same name
must have the same datatype. If the definitions or datatypes
differ, Data Distributor issues an error message and the transfer
fails.
o If any database specified in the transfer definition is on a node
that is not available, Data Distributor places the transfer in a
waiting-to-retry state. Data Distributor will retry the transfer
at the time specified for retry in the schedule definition.
o If any of the source nodes specified in the transfer definition
fail during the transfer, the transfer will also fail. Data
Distributor will retry the transfer at the time specified for
retry in the schedule definition.
o If the transfer fails, the retry will start at the beginning, not
where the transfer left off.
Indexes, constraints, and access rights are not transferred when the
target database is created. Once the target database has been
created, you can define indexes and constraints for it and modify the
access rights.
file-spec
Designates a file specification for the target database. The target database is an Rdb/VMS database. Data Distributor uses the file specification to create and access the target database. You can use either a full or partial file specification or a logical name. The file-spec parameter is required. If you do not specify the node, device, or directory, Data Distributor assumes the SYS$LOGIN of the user defining the transfer. If the file type is not .RDB, the transfer will fail during the creation of the target database. The default file type is .RDB. When you specify the name of a remote node as part of the file specification, you can include an access control list (ACL) for login. However, the most effective method of allowing access to a target node uses proxy accounts. Note that the file specification is resolved at run time. All logical names used for the file-spec parameter are resolved within the copy process after it executes the transfer definer's login initialization file, LOGIN.COM. If the target database name is a logical symbol name, when it is translated, the default directory is the one pointed to by SYS$LOGIN. Data Distributor makes no attempt to verify whether a database or file of the same name already exists in the target directory. When you issue a duplicate file specification, Data Distributor creates a second file with the same name, but a higher version number. If the database system (Rdb/VMS) returns an error while attempting to create a database in the target directory, the copy process writes the error in the copy process log file and returns the error status to the transfer monitor.
text
A text string that allows you to associate a comment with the transfer definition. The text string, together with other parts of the transfer definition, appears in the SHOW TRANSFER DEFINITION display. The DESCRIPTION IS clause is optional.
target-db-param-clause
Enables you to specify values for the parameters that affect the creation of the target database. This clause uses syntax similar to the Rdb/VMS DEFINE DATABASE statement. However, Data Distributor does not support all the parameters that DEFINE DATABASE supports. Data Distributor uses the values provided in this clause to create the target database.
number-pages
The number of database pages initially allocated to the target database. Rdb/VMS automatically extends the allocation to handle the loading of data and subsequent expansion. The default is 400 pages.
page-blocks
The size in blocks of each database page in the target directory. Page size is allocated in 512-byte blocks. The default is two blocks (1024 bytes). If your largest record has more than approximately 950 bytes, you can specify more blocks for each page to prevent records from being fragmented.
number-buffers
The number of buffers Rdb/VMS allocates for each process using the target database. The value must be greater than zero. The default is 20 buffers.
number-users
The maximum number of users allowed to access the target database at one time. The default is 50 users. After the maximum is reached, the next user who tries to invoke the database receives an error message and must wait for access. The largest number of users you can specify is 508 and the smallest is 1.
buffer-blocks
The number of blocks Rdb/VMS allocates for each buffer. The value must be greater than zero. If you do not specify this parameter, Rdb/VMS uses a buffer size that is three times the page size value.
ENABLED_IMMEDIATE
Specifies that READ_WRITE transactions write previously updated copies of records they modify to the snapshot file, regardless of whether a READ_ONLY transaction is active. Snapshot writing is enabled immediately by default. With snapshots enabled, users or applications can read from either the snapshot file or the database file itself.
ENABLED_DEFERRED
Specifies that READ_WRITE transactions not write previously updated copies of records they modify to the snapshot file unless a READ_ONLY transaction is already active. READ_ONLY transactions that attempt to start after an active READ_WRITE transaction must wait for all active READ_WRITE users to complete their transactions. With snapshots enabled, users or applications can read from either the snapshot file or the database file itself.
DISABLED
Specifies that snapshot writing be disabled. There is usually some performance gain when snapshot writing is disabled because Rdb/VMS does not need to perform write operations to the snapshot file during updates to the database. You should not disable snapshots for replication databases. Although users are expected only to retrieve data from the replication database, retrieval can occur in either READ_ONLY or READ_WRITE transactions.
snp-pages
The number of pages allocated for the snapshot file. The default is 100 pages. After the target database has been created, you can use the RDO CHANGE DATABASE statement to truncate the snapshot file. To truncate the file, specify an allocation size smaller than the current snapshot file size.
ext-pages
The number of pages of each target database extent. This parameter provides direct control over the extent of the target database. For greater control, and particularly for multivolume databases, use the MINIMUM, MAXIMUM, and PERCENT GROWTH parameters of the multi-vol-ext-clause instead. The default extent is 100 pages.
min-pages
The minimum number of pages of each target database extent. The default is 100 pages.
max-pages
The maximum number of pages of each target database extent. The default is 10,000 pages.
growth
The percent of growth for each target database extent. The default is 20 percent growth.
move-relations-clause
Selects the records Data Distributor transfers to the target database during an extraction or a replication transfer. The records selected for replications are specified with a restricted form of a record selection expression (RSE). You must specify a move-relations-clause for each user relation moved to the target database. If you do not include a move-relations-clause, Data Distributor assumes the default, MOVE RELATIONS ALL. When you specify a view in a MOVE RELATION clause, the records selected by that view are created as a relation in the target database. You can also transfer views using the move-views-clause. You must have READ privilege for the relations of an Rdb/VMS source database that you specify in a MOVE RELATION clause or a MOVE RELATIONS ALL clause. For VIDA databases, Data Distributor does not check for READ privilege for views.
MOVE_RELATIONS_ALL
Allows you to have Data Distributor select all records and fields from all user relations, excluding views, that are in the source database at the time the transfer is defined. If you wish to move views, you must use the move-views-clause or the MOVE RELATION clause. Fields defined with a COMPUTED_BY clause are restricted to those that use the value expressions shown in the value-expr syntax diagram in this section. If a field is not defined by a supported value expression, you will receive a warning message, and the COMPUTED_BY fields will not be transferred. If you define a transfer on a source database that is itself a target extraction database, do not use the MOVE RELATIONS ALL clause. An error will result during transfer execution because Data Distributor will attempt to define the DDAL$VINTAGE relation in the new target database twice. The second transfer would create a DDAL$VINTAGE relation in the target database. Then, using the MOVE RELATIONS ALL clause, it would attempt to copy the DDAL$VINTAGE relation that already exists in the source database. To avoid this error, specify explicitly each relation to be moved instead of using MOVE RELATIONS ALL. Do not use the MOVE RELATIONS ALL statement for an extraction rollup transfer. If you use the MOVE RELATIONS ALL statement to define an extraction rollup transfer, the transfer will fail on execution. Instead, you must name the individual relations you want to transfer to the extraction rollup target.
rse
The record selection expression (RSE) used to identify records from the source database that Data Distributor includes in a record stream and transfers to the target database. The RSE specifies conditions that individual records must satisfy in order to be included in the transfer to the target database. Data Distributor supports COMPUTED_BY fields named in an RSE if the fields are defined using the value expressions shown in the value-expr syntax diagram in this section. If the fields are not defined by a supported value expression, you will receive a fatal error message. In extraction, extraction rollup, and replication transfers, you can use a relation-clause and with-clause. In extraction and extraction rollup transfers, you can also use a first-clause, reduce-clause, and sort-clause.
first-clause
Specifies how many records are selected from the record stream formed by the record selection expression (RSE). You can only use the first-clause for an extraction or an extraction rollup transfer. If you specify a first-clause for a replication transfer, Data Distributor issues an error message.
relation-clause
The context variables and relations to be included in the record stream or loop. If you specify a view name in the relation-clause, the moved view becomes a relation in the target database.
context-variable
Supplies a temporary name to identify the record stream. Once you have associated a context-variable with a relation, you use the context-variable to refer to fields from that relation.
db-handle
A host variable or name used to refer to a specific database you have invoked. In extraction or replication transfers, you should not use database handles in the RSE of a MOVE RELATION clause. Data Distributor returns an error message if you include a database handle in the RSE. However, in an extraction rollup transfer, you must use database handles in the RSE to specify the relation or Data Distributor will return an error message.
with-clause
Contains a conditional expression that allows you to specify conditions that must be true for a record to be included in a record stream.
conditional-expr
Conditions that must be true for a record to be included in a record stream.
reduce-clause
Allows you to eliminate duplicate values for fields in a record stream. You can use the reduce-clause for an extraction or an extraction rollup transfer. If you specify a reduce-clause for a replication transfer, Data Distributor issues an error message.
sort-clause
Allows you to sort the records in the record stream by the values of specific fields. You can sort the records according to a value expression called a sort key. The sort key determines the order of the records in the record stream. You can use the sort-clause for an extraction or an extraction rollup transfer. If you specify a sort-clause for a replication transfer, Data Distributor issues an error message.
ASCENDING
Specifies that the records be sorted in ascending order. The default is ASCENDING.
DESCENDING
Specifies that Rdb/VMS sort the records in descending order.
value-expr
A value expression specifying the sort value. This value is called the sort key. o database-field o quoted-string o numeric-literal o arithmetic-expr o missing-value o concat-expr
select-field-name
Allows you to name a specific field or group of fields you want moved to the target database. You can specify only one SELECT clause for each MOVE clause. Data Distributor moves only the named fields to the target database. If you do not specify SELECT FIELDS ALL, the select-field-name clause is required. Data Distributor supports COMPUTED_BY fields named in the select-field-name clause if the fields are defined using the value expressions shown in the value-expr syntax diagram in this section. If the fields are not defined by a supported value expression, you will receive a fatal error message.
SELECT_FIELDS_ALL
Enables you to include every field in a specific relation. Fields defined with a COMPUTED_BY clause are restricted to those that use the value expressions shown in the value-expr syntax diagram in this section. If a field is not defined by a supported value expression, you will receive a warning message, and the COMPUTED_BY fields will not be transferred. You cannot use the SELECT FIELDS ALL statement for an extraction rollup transfer.
move-views-clause
Selects the views Data Distributor defines on the target database
during an extraction or a replication transfer. All the relations,
views, and fields on which the transferred views are based must also
be explicitly or implicitly named in the DEFINE TRANSFER statement.
The transfer definition will fail if any underlying relation, view,
or field is not named when you define the transfer.
If you specify a view name in this clause, the view definition is
transferred to the target database. You can include only one
move-views-clause in a DEFINE TRANSFER statement. However, you can
specify two or more views in that move-views-clause.
Transferring views is limited by the following restrictions:
o COMPUTED_BY fields
Data Distributor transfers those COMPUTED_BY fields that depend
only on the values of the relation in which the field is defined.
Views that contain unsupported COMPUTED_BY fields cannot be
transferred. If views that contain unsupported COMPUTED_BY
fields are specified in the move-views-clause of a DEFINE
TRANSFER statement, the transfer definition fails. You need to
redefine the transfer, excluding the views that refer to the
unsupported COMPUTED_BY fields.
o READ privilege for the view
For a view in an Rdb/VMS database to be transferred, Data
Distributor requires that you have Rdb/VMS READ privilege for the
view and for the underlying relations. If you do not have READ
privilege for views you specify in the move-views-clause of a
DEFINE TRANSFER statement, the transfer will fail. You need to
obtain READ privilege for these views before including them in a
DEFINE TRANSFER statement.
For VIDA databases, Data Distributor does not check for READ
privilege for views.
You can also move views with the move-relations-clause. However,
when you use the move-relations-clause to move a view, the view
becomes a relation in the target database.
view-name
The name of the view Data Distributor transfers to the target during a transfer. If you do not specify a view name, Data Distributor assumes the default, MOVE VIEWS ALL.
move-relations-rollup-clause
Selects the records Data Distributor transfers into the target
database from a number of source databases during an extraction
rollup transfer. The move-relations-rollup-clause has the following
restrictions:
o Data Distributor requires you to invoke each source database with
a different database handle. You must then use these handles in
the move-relations-rollup-clause.
o The move-relations-rollup-clause must be used with the EXTRACTION
ROLLUP parameter.
Rollup transfers must be extractions. If you attempt to use the
move-relations-rollup-clause with a replication transfer, the
transfer definition will fail.
o The MOVE RELATIONS ALL and SELECT FIELDS ALL clauses are not
allowed in rollup transfers.
transfer-file-options-clause
The DCL command procedures to be executed before or after transfers and the VMS file where logging information related to the transfer execution is located.
prologue-file-spec
The name of the prologue command procedure file to be run before the transfer executes. This file runs at the beginning of the first execution of the transfer and of all subsequent transfers. The prologue file is a DCL command file. You can include a version number and a remote node name in the file specification. The name is resolved when the transfer is defined. The prologue-file-spec parameter is optional. If you do not include this parameter, Data Distributor assumes that NOPROLOGUE is in effect. The default file type is .COM. The default directory for the prologue file is SYS$LOGIN.
epilogue-file-spec
The name of the epilogue command procedure file to be run after the transfer executes. This file runs after the first execution of the transfer and after all subsequent transfers. The epilogue file is a DCL command file. You can include a version number or a remote node name in the file specification. The name is resolved when the transfer is defined. The epilogue-file-spec parameter is optional. If you do not include this parameter, Data Distributor assumes that NOEPILOGUE is in effect. The default file type is .COM. The default directory for the epilogue file is SYS$LOGIN.
log-file-spec
The VMS file where the Data Distributor copy process writes any logging information related to the execution of the transfer. If you include a version number or a node name in the file specification, Data Distributor returns an error. Data Distributor creates a new log file every time a transfer executes. The name is resolved when the transfer is defined. The log-file-spec parameter is optional. If you do not include this parameter, Data Distributor assumes that NOLOG is in effect. The default file type is .LOG. The default directory for the log file is SYS$LOGIN.
More
You must execute the DEFINE TRANSFER statement outside of the scope
of a transaction. If you issue this statement when a transaction is
outstanding, Data Distributor returns an error message.
You must have READ privilege for the relations and views of an
Rdb/VMS source database that you specify in a DEFINE TRANSFER
statement. Data Distributor returns an error message when you
specify relations and views in a DEFINE TRANSFER statement for which
you do not have READ privilege. If you specify a VIDA database, Data
Distributor does not check for READ privilege for the relations and
views.
You can refer to relations, fields, and views in a DEFINE TRANSFER
statement either implicitly or explicitly. When you include either
the MOVE RELATIONS ALL, SELECT FIELDS ALL, or MOVE VIEWS ALL clause,
you refer to relations, fields, or views implicitly. Data
Distributor uses the current definitions of the relations, fields,
and views in the source database and stores those names explicitly in
the transfer definition. You refer to relations, fields, and views
explicitly when you include the MOVE RELATION, SELECT FIELDS, or MOVE
VIEWS clauses and supply specific relation, field, or view names.
Data Distributor transfers those COMPUTED_BY fields that depend only
on the values of a relation in which the field is defined. You
cannot transfer views that contain unsupported COMPUTED_BY fields.
If views that contain unsupported COMPUTED_BY fields are specified in
the move-views-clause of a DEFINE TRANSFER statement, the transfer
definition fails. You need to redefine the transfer, excluding the
views that refer to the unsupported COMPUTED_BY fields.
Data Distributor allows you to transfer views in two ways:
o Using the move-views-clause
Data Distributor transfers the definition of the view when you
specify MOVE VIEWS view-name or MOVE VIEWS ALL. You must also
explicitly or implicitly name in the DEFINE TRANSFER statement
all the relations, views, or fields on which the transferred view
definitions are based. The transfer will fail if any underlying
relations, views, or fields are not named.
o Using the move-relations-clause
Data Distributor transfers a view by creating a relation in the
target database containing the view's records when you use the
MOVE RELATION clause. This method improves query performance in
the target database. For example, you can achieve the effect of
a CROSS clause by transferring a view that is a CROSS in the
source.
You specify the relations you wish to move in the
move-relations-clause and the views in the move-views-clause of the
DEFINE TRANSFER statement. When you are doing an extraction rollup
transfer, you specify the relations you wish to move in the
move-relations-rollup-clause of the DEFINE TRANSFER statement.
The same clause can occur in a DEFINE TRANSFER statement no more than
once. You cannot specify the same relation or view more than once in
the move clauses. If a relation name or view name appears in more
than one move clause, Data Distributor returns an error.
Individual move-relations clauses are separated by semicolons, as
indicated in the syntax diagrams. You can implement the
move-relations-clause in two ways:
o Specify MOVE RELATIONS ALL
o Specify a series of relations separated by semicolons
The move-relations-clause has the following characteristics and
limitations:
o All fields in each move-relations-clause must reside in the same
relation.
o You cannot name the same relation in more than one MOVE clause of
a single transfer definition.
The move-relations-rollup-clause has the following characteristics
and limitations:
o All fields in each move-relations-rollup-clause must reside in
the same relation.
o You cannot name the same relation in more than one MOVE clause of
a single transfer definition.
o For each relation of a move-relations-rollup-clause that you
enter, you can supply a target relation specification in the form
of an INTO RELATION clause. You can create one or many relations
in the target database from several source database relations by
renaming the target relations in the transfer definition.
o You cannot specify MOVE RELATIONS ALL or SELECT FIELDS ALL in a
move-relations-rollup-clause. When you specify these clauses in
the DEFINE TRANSFER statement, the transfer will fail at the time
of definition.
If a transfer fails during execution, the transfer will begin again
at one of the two following times:
o The next scheduled retry time if the failure results from a
nonfatal error
o The next scheduled transfer time if the failure results from a
fatal error
This next transfer will start from the beginning to ensure
consistency with any updates that might have been made to the source
database.
Data Distributor transfers only definitions for the database, fields,
and relations specified in the transfer definition. If the source
database includes additional database entities such as indexes,
constraints, or access control lists, these are not transferred to
the target database. You must either directly access the individual
target database and explicitly define these entities or run command
procedures to define the entities after the transfer executes.
When relations specified in the transfer definition are created in
the target database, they are given the access control lists (ACLs)
that have the Rdb/VMS default values. You can change the ACLs in the
target database after it has been created.
In a transfer definition, you can use logical symbol names to name
the source database file, the target database file, the copy process
log file, and the prologue and the epilogue command procedure files.
However, Data Distributor treats these file names differently:
o Source database file logical names
If the source file name is a logical symbol that translates to a
standard VMS file name specification, Data Distributor performs
the logical name translation. The SHOW TRANSFER DEFINITION
statement shows the source file name in its translated form. The
logical symbol can also translate into strings that, in turn,
contain logical symbols. As long as the resulting string looks
like a VMS file specification and the logical symbol is not a
concealed device name, the translation process is repeated.
If the logical symbol translates into a VIDA access string (for
example, /TYPE=VIDA/FILE=ACCESS_FILE/...), Data Distributor does
no further translations. Even if the VIDA name string contains
logical symbol references, these references are not translated
into VMS file specifications. You can use a logical name in
place of the string to identify a VIDA database.
o Target database file logical name
If the target database name is a logical name, it is not
translated by Data Distributor when it is stored in the transfer
definition.
o Copy process log file logical name
Data Distributor translates the log file logical name in the same
way as source file logical names, with the following exceptions:
o The log file specification is translated in RDO when the
DEFINE TRANSFER statement is executed.
o These log file names must be standard VMS file
specifications. Node names or version numbers are not
allowed.
o Prologue and epilogue command procedure file logical names
Data Distributor translates the prologue and epilogue file
logical names in the same way as the source file logical name,
with the following exceptions:
o The prologue and epilogue file specifications are translated
in RDO when the DEFINE TRANSFER statement is executed.
o The log file names must be standard VMS file specifications.
Node names and version numbers are allowed.
Examples
Example 1 The following example defines a transfer, NH_EMPLOYEES, that creates an extraction database. The transfer definition selects New Hampshire employees' address records for transfer to the remote node. RDO> INVOKE DATABASE FILENAME PERSONNEL RDO> DEFINE TRANSFER NH_EMPLOYEES EXTRACTION cont> DESCRIPTION IS /* Employees who live in New Hampshire */ cont> TO NODE1::DISK1:[ADAMS]NH_EMP cont> MOVE RELATION E IN EMPLOYEES WITH E.STATE = "NH" cont> SELECT FIELDS E.EMPLOYEE_ID, cont> E.LAST_NAME, cont> E.FIRST_NAME, cont> E.MIDDLE_INITIAL, cont> E.ADDRESS_DATA_1, cont> E.ADDRESS_DATA_2, cont> E.CITY, cont> E.STATE, cont> E.POSTAL_CODE cont> LOG IS NH_EMPLOYEES.LOG cont> END. Example 2 This example shows an extraction from a remote source database to a local target database. The DEFINE TRANSFER statement specifies the transfer of all personnel records to the target node. RDO> INVOKE DATABASE FILENAME NODE1::DISK1:[DIR1]PERSONNEL RDO> DEFINE TRANSFER PERS_EXAMP EXTRACTION cont> DESCRIPTION IS /* Extraction of personnel records*/ cont> TO [LEARNER.PERS]PERS_COPY cont> MOVE RELATIONS ALL cont> LOG IS [LEARNER.PERS]PERS_EXAMP.LOG cont> END. Example 3 This example shows an extraction transfer from a remote source to a remote target database. The log file, PERS_EXAMP.LOG, is located on the source node. RDO> INVOKE DATABASE FILENAME NODE1::DISK1:[DIR1]PERSONNEL RDO> DEFINE TRANSFER PERS_EXAMP EXTRACTION cont> DESCRIPTION IS /* Extraction of personnel records*/ cont> TO NODE2::DISK2:[PROTO]PERS_TARGET cont> MOVE RELATIONS ALL cont> LOG IS PERS_EXAMP.LOG cont> END. Example 4 This example of a replication transfer definition sends the entire colleges relation and the entire degrees relation to the target database. The replication database can be accessed for information about employees' college and degree histories. The transfer definition includes some database parameters for the target database. RDO> INVOKE DATABASE FILENAME PERSONNEL RDO> DEFINE TRANSFER COLLEGE_INFO REPLICATION cont> DESCRIPTION IS /* Info about employees' colleges only */ cont> TO NODE1::DISK1:[BURTON]EMP_COLLEGE cont> NUMBER OF USERS IS 25 cont> SNAPSHOT ALLOCATION IS 150 PAGES cont> MOVE RELATION C IN COLLEGES cont> SELECT FIELDS ALL; cont> MOVE RELATION D IN DEGREES cont> SELECT FIELDS ALL cont> LOG IS COLLEGE_INFO.LOG cont> END. Example 5 This replication transfer specifies three fields from the CREDIT_CARDS source database for transfer to the target database. The fields are CARD_NUM, EXPIRATION_DATE, and VALID. Only invalid credit card records are selected for the transfer. RDO> INVOKE DATABASE FILENAME CREDIT_CARDS RDO> DEFINE TRANSFER BAD_CARDS REPLICATION cont> DESCRIPTION IS /* Invalid credit cards */ cont> TO NODE1::DISK1:[CREDIT]BAD_CARDS cont> MOVE RELATION C IN CARDS WITH C.VALID = "N" cont> SELECT FIELDS C.CARD_NUM, cont> C.EXPIRATION_DATE, cont> C.VALID cont> LOG IS BAD_CARDS.LOG cont> END. Example 6 The following example defines a replication transfer that sends the entire EMPLOYEES, JOB_HISTORY, SALARY_HISTORY, DEPARTMENTS, and JOBS relations. The definition also selects three views for transfer: CURRENT_INFO, CURRENT_JOB, and CURRENT_SALARY. RDO> INVOKE DATABASE FILENAME PERSONNEL RDO> DEFINE TRANSFER NH_PERSONNEL REPLICATION cont> TO NODE1::DISK1:[DBADMIN]NHP.RDB cont> MOVE RELATION E IN EMPLOYEES SELECT FIELDS ALL; cont> MOVE RELATION JH IN JOB_HISTORY SELECT FIELDS ALL; cont> MOVE RELATION SH IN SALARY_HISTORY SELECT FIELDS ALL; cont> MOVE RELATION D IN DEPARTMENTS SELECT FIELDS ALL; cont> MOVE RELATION J IN JOBS SELECT FIELDS ALL cont> MOVE VIEWS CURRENT_INFO, CURRENT_JOB, CURRENT_SALARY cont> LOG FILE IS DISK1:[DBADMIN]NHP.LOG cont> END. Example 7 The following example moves the CURRENT_JOB view defined in the source database as a CROSS of the EMPLOYEES relation and the JOB_HISTORY relation. You can achieve the effect of a CROSS clause by transferring a view that is a CROSS in the source database. On the target database, the records selected by the view are created as a relation. RDO> INVOKE DATABASE FILENAME PERSONNEL RDO> DEFINE TRANSFER CJOB EXTRACTION cont> TO NODE1::DISK1:[RAMESH]JOB_DB cont> MOVE RELATION C IN CURRENT_JOB WITH C.JOB_CODE = "SEII" cont> SELECT FIELDS C.LAST_NAME, C.FIRST_NAME, C.ADDRESS cont> LOG FILE IS CJOB.LOG cont> END TRANSFER. Example 8 The following example shows an extraction rollup transfer that invokes several source databases: PERSONNEL, WORKERS, and STAFF. The transfer selects fields in the EMPLOYEES relations from the three databases identified by the database handles DB1, DB2, and DB3 and located on three different nodes and in the JOBS relation from DB1. Then the transfer moves these relations to a single target database, LOCAL_DB. RDO> INVOKE DATABASE DB1=FILENAME "NODE1::DISK1:[DIR1]PERSONNEL" RDO> INVOKE DATABASE DB2=FILENAME "NODE2::DISK2:[DIR2]WORKERS" RDO> INVOKE DATABASE DB3=FILENAME "NODE3::DISK3:[DIR1]STAFF" RDO> DEFINE TRANSFER LABOR EXTRACTION ROLLUP cont> TO NODE4::DISK4:[DIR4]LOCAL_DB cont> MOVE RELATION E IN DB1.EMPLOYEES WITH E.EMP_CODE= "A+" cont> INTO RELATION EXEMPT_EMPLOYEES cont> SELECT FIELDS E.EMP.ID,E.SALARY,E.JOB_CODE; cont> MOVE RELATION E IN DB2.EMPLOYEES WITH E.EMP_CODE= "A+" cont> INTO RELATION EXEMPT_EMPLOYEES cont> SELECT FIELDS E.EMP_ID,E.SALARY,E.JOB_CODE; cont> MOVE RELATION E IN DB3.EMPLOYEES WITH E.EMP_CODE= "A+" cont> INTO RELATION EXEMPT_EMPLOYEES cont> SELECT FIELDS E.EMP.ID,E.SALARY,E.JOB_CODE; cont> MOVE RELATION J IN DB1.JOBS WITH J.JOB_CODE= "J17" cont> INTO RELATION ENTRY_JOBS cont> SELECT FIELDS J.JOB_NAME,J.JOB_CODE cont> LOG FILE IS DISK4:[DIR4]LOCAL.LOG cont> END. Example 9 The following EMPLOYEES transfer creates an extraction database. The transfer selects records using a first-clause, with-clause, reduce-clause, and sort-clause. RDO> INVOKE DATABASE FILENAME PERSONNEL RDO> DEFINE TRANSFER EMPLOYEES EXTRACTION cont> TO NODE1::DISK1:[NELSON]EMPLOYEES_INFO cont> MOVE RELATION FIRST 10 E IN EMPLOYEES cont> WITH E.CITY = "BOSTON" cont> REDUCED TO E.LAST_NAME, E.FIRST_NAME, E.ADDRESS cont> SORTED BY DESCENDING E.LAST_NAME cont> SELECT FIELDS E.LAST_NAME, E.FIRST_NAME, E.ADDRESS cont> LOG FILE IS DISK1:[NELSON]EMPLOYEES.LOG cont> END TRANSFER. Example 10 The following extraction transfer includes two command files. The prologue command procedure establishes a connection to a remote node, and the epilogue command procedure terminates the connection. This example shows how to specify the prologue file and epilogue file; it does not show the command procedures. RDO> INVOKE DATABASE FILENAME NODE1::DISK1:[DBADMIN.PERS]PERSONNEL RDO> DEFINE TRANSFER PERS_SAMPLE EXTRACTION cont> TO PERS_COPY cont> MOVE RELATIONS ALL cont> PROLOGUE FILE IS DIALUP.COM cont> EPILOGUE FILE IS HANGUP.COM cont> LOG IS PERS_SAMPLE.LOG cont> END.
DEFINE_SCHEDULE
Creates a schedule definition and stores it in the transfer database. The schedule definition specifies when and how often a transfer should execute. A transfer can have only one schedule definition associated with it. Data Distributor returns an error if you attempt to define a schedule for a transfer that already has one.
Additional information available:
Format
DEFINE SCHEDULE ──> Ftypebox (O)typebox (R) ──> transfer-name ───┐ ┌────────────────────────────────────────────┘ └───┬─────────────────────────────────┬─┐ └──>
S
T
A
R
T ──> start-date-time ───┘ │ ┌───────────────────────────────────────┘ └───┬─────────────────────────────────────────┬─┐ └──>
E
V
E
R
Y ──┬─> every-delta-time ─────┬──┘ │ └─> every-absolute-time ──┘ │ ┌───────────────────────────────────────────────┘ └─┬─────────────────────────────────────────────────────────────┬─┐ └─>
R
E
T
R
Y ─> count ─>
T
I
M
E
S ─┬───────────────────────────────┬┘ │ └─>
R
E
T
R
Y
E
V
E
R
Y ──> delta-time ─┘ │ ┌─────────────────────────────────────────────────────────────────┘ └──>
E
N
D ─┬───────────────────┬─┬─────────────┬───> . └──> transfer-name ─┘ └─> typebox (S)typebox (C)typebox (H)typebox (E)typebox (D)typebox (U)typebox (L)typebox (E) ─┘ every-absolute-time = ─────┬──────>
D
A
Y ──────┬──┬─────────────────────┬─┬───> ├──────>
W
E
E
K ─────┤ └──>
A
T ──> at-time ──┘ │ ├──────>
M
O
N
T
H ────┘ │ └──┬───> weekday ───┬───────────────────┬──┬──┘ │ └─>
A
T ──>at-time ──┘ │ └──────────────── , <───────────────────┘
Additional information available:
transfer-namestart-date-timeevery-delta-timeevery-absolute-time
at-timecountdelta-time
transfer-name
The transfer for which this schedule is being defined. The transfer must already exist when you create a schedule definition for it. The transfer-name parameter is required.
start-date-time
The time to execute the initial transfer. You can specify an absolute or delta time. If you supply an absolute time, the initial transfer will be executed at the time specified. If you use a delta time, Data Distributor uses the current time and the delta-time value to calculate the actual transfer time. The START clause is optional. If you do not include a START clause, the start time is set to the current time so that the transfer will execute as soon as the transfer schedule definition is processed. The start-date-time parameter uses the following absolute and delta-time formats. You can omit any of the trailing fields in the date or time. You can omit any of the fields in the middle of the format as long as you include the punctuation marks. For more information on date and time formats, see the entry on the $BINTIM VMS system service in the VMS documentation set. Absolute-time dd-mmm-yyyy hh:mm:ss.cc Delta time dddd:hh:mm:ss.cc In the absolute and delta time designations, the abbreviations have the following meanings: dddd Number of days dd Day of the month mmm Month yyyy Year hh Hours mm Minutes ss Seconds cc Hundredths of a second
every-delta-time
Used to calculate the time to execute the next transfer. The EVERY clause is optional. If you specify the EVERY clause, you must specify either every-delta-time or every-absolute-time. If you omit the EVERY clause, the transfer occurs only once. The valid specification for every-delta-time is the delta format used by the $BINTIM VMS system service. The delta time you specify is the time from the completion of the last transfer sequence until the start of the next one. A transfer sequence is the set of transfers from the first attempt until one of the following conditions is met: the execution is successful, the maximum number of retries specified in the RETRY clause has been reached, or a fatal error has occurred (one for which retries are not attempted).
every-absolute-time
Used to calculate the time to execute the next transfer. The EVERY
clause is optional. If you specify the EVERY clause, you must
specify either every-absolute-time or every-delta-time. If you omit
the EVERY clause, the transfer occurs only once.
Valid specifications for the every-absolute-time parameter are:
o DAY
The transfer executes on a daily basis.
o WEEK
The transfer occurs every week on the same day of the week as the
initial transfer.
o MONTH
The transfer occurs on a monthly cycle on the same day of the
month as the initial transfer.
Note that if the initial transfer starts on the 31st of the month
and the transfer schedule specifies EVERY MONTH, the next
execution of the transfer will be on the last day of the
following month, whether the last day is the 28th, 29th, 30th, or
31st.
o Weekday
The transfer executes on the weekdays that you list. If you list
more than one weekday, separate the days with commas. Valid
weekday specifications are:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
at-time
Qualifies every-absolute-time by specifying the time of day at which the transfer should occur. This parameter is optional. If you specify DAY, WEEK, or MONTH, but do not specify an at-time, Data Distributor uses the time of day of the initial transfer. In the case of a list of weekdays, the at-time for each day can be specified. If the at-time for any weekday is not specified, the default is the time used for the previous entry in the list. For the first entry in the list, the time of day of the initial transfer is used, if none is specified.
count
The maximum number of times to retry a transfer if a transfer execution fails. If you do not include a retry count or if the count value is set to zero, Data Distributor does not attempt to retry the transfer until the next scheduled transfer time as indicated by the EVERY clause. Data Distributor does not retry a transfer if the transfer failed as a result of a fatal error. You can recover from a fatal error only by manual intervention.
delta-time
The length of time Data Distributor waits between the time of the last failed attempt and the time of the next retry attempt. The RETRY EVERY delta-time clause is optional and can only be specified if the RETRY count TIMES clause is included. If you specify RETRY count TIMES in the schedule definition, but do not specify RETRY EVERY delta-time, Data Distributor attempts the retry immediately. See the description of the start-date-time parameter earlier in this section for valid delta-time values.
More
When you define a schedule for a transfer in the unscheduled state, that transfer is placed in the scheduled state. If the transfer is in the suspended state, it remains in the suspended state. To place the suspended transfer in the scheduled state, use the START TRANSFER statement. When the transfer executes, Data Distributor places the transfer in the active state. You cannot modify a schedule definition. If you need to change a parameter value in a schedule definition, you must first delete the schedule using the DELETE SCHEDULE statement and then define a new schedule. You must execute the DEFINE SCHEDULE statement outside of the scope of a transaction. If you issue this statement when a transaction is outstanding, Data Distributor returns an error message. To define a transfer schedule, you must have the same user identification code (UIC) as the user who defined the transfer. If you define a schedule for a transfer defined by a user with a different UIC, Data Distributor returns an error message and prevents the schedule from executing. If you have BYPASS privilege, you can define a schedule for a transfer associated with a different UIC. In this case, the UIC associated with the transfer does not change.
Examples
Example 1 Executes the NH_EMPLOYEES transfer at 1:24 a.m. on June 24, 1988. The transfer will then execute every day at 5:30 p.m. If a nonfatal error occurs, the transfer execution will be retried three times with 30 minutes between the end of the failed transfer execution and the start of the next one. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> START 24-JUN-1988 01:24:00.00 <---- Absolute time cont> EVERY DAY AT 17:30 <---- Absolute time cont> RETRY 3 TIMES cont> RETRY EVERY 0 00:30:00 cont> END SCHEDULE. Example 2 This example uses a delta-time specification to have 36 hours (1 day plus 12 hours) between the completion of one transfer execution and the beginning of the next. The example uses two delta times, EVERY 1 12:00 and RETRY EVERY 0 03:00:00. EVERY 1 12:00 states that there will be 36 hours (1 day plus 12 hours) between the completion of the first transfer and the beginning of the next. If transfer execution does not succeed on the first attempt, the transfer schedule permits Data Distributor to make up to five additional attempts to complete the transfer. RETRY EVERY 0 03:00:00 means Data Distributor should retry the transfer three hours after a nonfatal failure until the transfer completes successfully or until the maximum of five retries has been attempted. If the transfer does not complete successfully after five retries, the next attempt will be 36 hours after the last failed attempt. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> START 15-MAY-1988 cont> EVERY 1 12:00 !<---- 1 day plus 12 hours cont> RETRY 5 TIMES cont> RETRY EVERY 0 03:00:00 !<---- 3 hours cont> END. Example 3 The following transfer schedule causes Data Distributor to execute a transfer for the first time at 12 noon on the 15th of October 1988. Subsequent transfers will occur every day thereafter at 5:30 p.m. If an error occurs preventing a successful transfer, Data Distributor will retry every 30 minutes until the transfer is successful or the maximum of three retries has been reached. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> START 15-OCT-1988 12:00 cont> EVERY DAY AT 17:30 !<---- Every day cont> RETRY 3 TIMES cont> RETRY EVERY 0 00:30:00 cont> END SCHEDULE. Example 4 The following schedule definition assumes that you want to execute the transfer immediately after you complete the schedule definition and, therefore, it contains no START clause. If the system time is 20-OCT-1988 16:00:00 when you complete the DEFINE SCHEDULE statement, the next execution of the NH_EMPLOYEES transfer will start on 20-NOV-1988 16:00:00. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> EVERY MONTH cont> RETRY 3 TIMES cont> RETRY EVERY 0 00:30:00 cont> END. Example 5 This example calls for the NH_EMPLOYEES transfer to execute at 3:00 p.m. every Wednesday. The schedule definition calls for a maximum of three retries occurring at intervals of 30 minutes. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> START 12-NOV-1988 15:00:00.00 cont> EVERY WEDNESDAY AT 15:00:00 !<---- Wednesdays at 3 p.m. cont> RETRY 3 TIMES cont> RETRY EVERY 0 00:30:00 cont> END. Example 6 The following example causes an initial transfer to execute on the 15th of July at 5 p.m., on every Monday after the 15th at 5 p.m., every Tuesday at 11 a.m., and every Friday at 11 a.m. Because a RETRY clause is not specified, even if a nonfatal failure occurs, the transfer will not execute until the next regularly scheduled time. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> START 15-JUL-1988 17:00 cont> EVERY MONDAY, TUESDAY AT 11:00, FRIDAY cont> END. Example 7 This example causes a transfer to start at midnight on July 15th and on the 15th of every month thereafter at 7 p.m. RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES cont> START 15-JUL-1988 cont> EVERY MONTH AT 19:00 cont> END.
REINITIALIZE_TRANSFER
Reinitializes a replication transfer. You use this statement when the source database and the replication target database are no longer consistent with each other.
Additional information available:
Format
REINITIALIZE TRANSFER ──────> transfer-name ───>
Additional information available:
transfer-name
The replication transfer that you want to reinitialize. The transfer-name parameter is required.
More
You can reinitialize a transfer only when the transfer is in the suspended state. To suspend a transfer, first issue a STOP TRANSFER statement. You must execute the REINITIALIZE TRANSFER statement outside the scope of a transaction. If you issue this statement when a transaction is outstanding, Data Distributor returns an error message. After you enter the REINITIALIZE statement, the transfer remains in the suspended state. You must then issue a START TRANSFER statement to restart the transfer. The REINITIALIZE statement forces the next execution of a replication transfer to create a new replication database in the target directory. You must reinitialize a transfer when someone restores a previous version of the source database. If you want to reinitialize a particular transfer, the transfer definition must be associated with your UIC.
Example
This example places the CARS_LAX transfer in a suspended state and then reinitializes it. The schedule and definition for this replication transfer remain in place. Once the transfer has been reinitialized, you can restart it. RDO> STOP TRANSFER CARS_LAX RDO> REINITIALIZE TRANSFER CARS_LAX RDO> START TRANSFER CARS_LAX
START_TRANSFER
Executes a transfer on demand, or changes the state of a transfer from the suspended state to the scheduled, unscheduled, or active state.
Additional information available:
Format
START TRANSFER ─────> transfer-name ──┐ ┌──────────────────────────────────┘ └───┬────────────>──────────────┬────> └───>
N
O
W ──┬────────────┬──┘ ├─>
W
A
I
T ────┤ └─>
N
O
W
A
I
T ──┘
Additional information available:
transfer-name
The transfer to be started. The transfer-name parameter is required.
NOW
Changes the transfer state to active and begins execution. If the transfer has a schedule defined for it, subsequent transfers occur as specified by that schedule. The NOW argument is optional.
WAIT_NOWAIT
Specifies whether Data Distributor returns control to RDO immediately after the transfer starts or waits until the transfer completes. You must use the NOW argument if you specify WAIT or NOWAIT. The default, NOWAIT, causes Data Distributor to return control immediately to the RDO command mode while the transfer executes. With NOWAIT in effect, you can enter other RDO statements while the copy process completes the transfer of database records to the target database. The WAIT option ensures that the transfer completes before control is returned to RDO.
More
You can use the START TRANSFER statement without any qualifiers to change the state of a suspended transfer. Issuing the START TRANSFER statement places the transfer in the scheduled state if a schedule definition exists for the transfer. Execution then occurs at the next scheduled time. If a schedule definition does not exist, the transfer is placed in the unscheduled state and will execute only when you issue a START TRANSFER statement using the NOW qualifier or you define a schedule for the transfer. You cannot enter the START TRANSFER statement when a transaction is outstanding. You must terminate any outstanding transactions before issuing the START TRANSFER statement. You can use the START TRANSFER statement to initiate a transfer on demand by including the NOW option. The NOW option immediately places the transfer in the active state. This execute-on-demand feature is useful in batch processing environments when you want to initiate the transfer after another job has completed successfully, regardless of the transfer's schedule. If you want to start a transfer, the transfer definition must be associated with your UIC.
Examples
Example 1 This example starts a transfer called ENROLL_SPANISH1. If this transfer has a schedule defined for execution one hour from now but the transfer is suspended, issuing the START TRANSFER statement only changes the transfer's state to scheduled. Execution of the transfer will not occur for another hour. RDO> START TRANSFER ENROLL_SPANISH1 Example 2 In this example, transfer ENROLL_SPANISH1 has been defined but has no schedule. You issue this START TRANSFER NOW statement because you want to execute the transfer immediately. Control returns to RDO as soon as the transfer begins. RDO> START TRANSFER ENROLL_SPANISH1 NOW
STOP_TRANSFER
Places a transfer in the suspended state. Data Distributor does not attempt to execute the transfer until you remove it from the suspended state using the START TRANSFER statement. If the transfer is in the active state, the STOP TRANSFER statement also stops the copy process associated with that transfer.
Additional information available:
Format
STOP TRANSFER ───────> transfer-name ─────>
Additional information available:
transfer-name
The transfer to be suspended. The transfer-name parameter is required.
More
You must terminate any outstanding transactions before you issue a STOP TRANSFER statement. If you want to stop a particular transfer, the transfer definition must be associated with your UIC.
Example
The following example places the EUROPE_PERS transfer in the suspended state. RDO> STOP TRANSFER EUROPE_PERS
DCL invoke
Gives access to DCL from inside RDO.
The dollar sign ($) instructs RDO to spawn a subprocess and pass the
next keyword to DCL for processing. You must follow the dollar sign
with a DCL command. After DCL processes the command, it logs out of
the subprocess and returns control to RDO.
Example:
RDO> $ MAIL
MAIL>
Format
$ dcl-command
Additional information available:
Example
Show current default VMS directory: RDO> $ DIRECTORY Directory DISK2:[DEPT3.ACCT] DEFPRO.RDO;6 NOTEQUAL.RDO;1 QUERY.RDO;1 REFEXAM.RDO;12 STORE.RDO;1 UPDATE.RDO;2 Total of 6 files. RDO>
Demo
To see an online demonstration of Rdb/VMS, type the following:
$ @RDM$DEMO:RDBDEMO
Errors
Help is available on the following types of error messages:
1. RDB facility error messages -- Common to all Rdb relational
database systems.
2. RDMS facility error messages -- Specific to Rdb/VMS.
3. RDO facility error messages -- Seen when you are running the
interactive RDO utility.
4. DDAL facility error messages -- Specific to VAX Data Distributor.
Additional information available:
RDB
Print or type the SYS$HELP:RDB_MSG.DOC file for information on messages returned by the RDB facility. The RDB facility is common code shared by all DIGITAL Standard Relational Interface (DSRI) compliant database systems. The SYS$HELP:RDB_MSG.DOC file contains the RDB facility messages from the most recently installed version of a DSRI-compliant database product on your system or VAXcluster. (Installation of a new version of VIDA, VAX Rdb/ELN, or Rdb/VMS upgrades the RDB_MSG.DOC file whenever the RDB message image, RDBMSGS.EXE, includes new or revised error messages.
RDMS
Additional information available:
ACCVIOACTQUERYAIJDEVDIRAIJDISABLEDAIJENABLED
ALLMINALROPEANAEXTOBSAREABUSYAREA_CORRUPT
AREA_INCONSISTAREA_NAMEARITHBADAIJFILE
BADAIJVERBADASCTOIDBADBNDPRMBADBOUNDS
BADDATDEFBADDBNAMEBADFILTYPBADHANDLE
BADROOTMATCHBAD_AREA_NAMEBAD_CODEBAD_DATATYPE
BAD_NAMEBAD_SYMBAD_XPRBDDATRANGBKUPEMPTYAIJ
BOUNDBPPMAXBPPMINBUFLIMEXCBUFSMLPAG
BUFTOOSMLBUGCHECKBUGCHKDMPCANTASSMBX
CANTBINDRTCANTCLOSEDBCANTCREDBRCANTCREGBL
CANTCREMBXCANTCREMONCANTDELETECANTLCKTRM
CANTMAPTROOTCANTOPENDBCANTOPENINCANTQIOMBX
CANTREADDBCANTREADDBSCANTSNAPCANTSPAWN
CANTWRITEDBSCDDISREQDCDDREQALONECHECKSUM
CNVNUMDATCOLNOTDEFCOMPLEXCONEXICONEXTS
CONNOEXICONNOTDELCONVERRCONVWDATCNVERR
DBACTIVEDBBUSYDBCRUPTDBNOTACTIVEDBNOTEXTEN
DBNOTINTRANDBNOTOPENDBRABORTEDDBSHUTDOWN
DEADLOCKDELAREADUPLANAMEDUPLFNAMEDUPNOTALL
EMPTYAIJEMPTYFILEENDERRACCROOERREXTFIL
ERRFILSIZERRFMTFILERRFOREIGNERRMODEOF
ERROPENINERROPENOUTERROPNOUTERRPARSFIL
ERRREADERRREADINGERRRUJFILERRTRUNFILERRWRITE
ERRWRITINGEXQUOTAEXTDBONLYFIELD_MISSING
FIEUSETRAFILACCERRFLDEXFLDINCOMFLDINCOMRELFLDINCON
FLDINSTOFLDINUSEFLDINVIEWFLDNOEXFLDNOEXIFLDNOTCHG
FLDNOTDELFLDNOTINRELGFLDEXTSGFLDNOEXHASHEDMIX
IDXNOTDELILLNCHARINDEXTSINDEX_S_MININDINMAP
INDLIMITBADINDNEEDSLIMITINDNOTEXIINDNOTREL
INDTOOBIGINFUNKINVACE_LENGTHINVDBSFILINVDB_NAME
INVDTYPINDXINVHEADERINVNAMEINVTBL_NAME
INV_DATE_CHGINV_RATORINV_ROOTLASTARENOLIMIT
LBMAXLBMINLCKCNFLCTLOGAIJBCKLOGRECOVR
LOGRECSTATMAPAREAINUSEMAPBLRMISSINGMAPNMINUSE
MAPREFAREAMAXRELVERMAX_CCTXMISMMORDD
MIXCLUSTMONALSTARTMONMBXOPNMONSTOPPED
MULTCHGAREAMUSTRECDBNBMAXNBMINNOACCSEGSTR
NOAIJDEFNOCHARNOCHGRDBSYSNOCHGVWNOCREMBX
NODBKNODEVDIRNODMAXNODMINNOINTERUNINOMONITOR
NONODENOPRIVNORTUPBNOSIPNOSNAPSNOSTAREAEXT
NOSTRTUPNOTBOOLNOTDSKFILNOTHRESUNINOTIMPLYET
NOTIPNOTOPENOTRANAPPNOTROOTNOTSYSCONCEAL
NOT_BOUNDNOT_LICENSEDNOT_READYNOT_RESERV
NOT_UPDATENOT_VALID_FRNOVIEWINDNOWILD
OBSVEROK_NO_ACEOPERCLOSEOPERSHUTDN
OVERFLOWPREMEOFQIOXFRLENQUIETPTRECMAXEXC
RELALRDYMPRELEXIRELEXTSRELFLDEXRELFLDNOC
RELFLDNODRELINCOMRELNEXTSRELNOEXIRELNOTCHG
RELNOTDELRELNOTEMPTYRELUSETRAREQUNIFORM
RESTARTROOMAJVERROOTMAJVERRUJDEVDIR
SEGSTR_NO_CHGSETWIDTHSIPSNAPFULLSPIMAXSPIMIN
SSNOTINROOTSTALLSTAREAFULSTOMAPNOEXI
SYMTOOBIGSYNERRTABIDNOTDEFTABNOTDEF
TADMISMATCHTERMINATETRANSFDEFTRAN_IN_PROG
TRUETRUNCATIONUNDERFLOWUNSARITHUNSCOMP
UNSCONVUNS_DTYPEUPDINSNAPUSRMAXUSRMIN
VIEWEXIVIEWINVIEWVIEWNOEXIVIEWNOTDEL
VIEWNOUPVIEW_NO_ANAWASBOOLWISH_LISTWRNG_REL
XPR_STACK_OFLO
ACCVIO
access violation on read/write of user address Explanation: A readable parameter is not readable by the DBCS or a writeable parameter is not writeable by the DBCS. User Action: Pass good parameters to the DBCS.
ACTQUERY
there are queries compiled that reference relation <str> Explanation: You tried to update relation definitions while your query refers to the relation you are trying to change. User Action: Finish executing the query and retry the metadata update.
AIJDEVDIR
AIJ file name does not include device and directory Explanation: The file you specified did not include a device and directory. User Action: You should always include a device and directory in the file specification, preferably different from the database device for maximum protection.
AIJDISABLED
after-image journaling must be enabled for backup Explanation: You attempted to back up an after-image journal file for a database that has after-image journaling disabled. User Action: Enable after-image journaling for your database and try the backup again at some later time.
AIJENABLED
after-image journaling must be disabled during recovery Explanation: You attempted to recover your database using an after-image journal file, but the database still has after-image journaling enabled. User Action: Disable after-image journaling for your database and try the recovery again. After recovery has completed, you can enable after-image journaling again.
ALLMIN
number of pages in database must be greater than 1 Explanation: The page allocation for the database you specified is too small. User Action: Try another value.
ALROPE
this record stream for this cursor is already open Explanation: The call to RDMS$OPEN has failed. You attempted to open a stream that is already open. User Action: Call RDMS$CLOSE to close the stream.
ANAEXTOBS
analyze extension is obsolete Explanation: The RDB$K_EXT_ANALYZE function provided through the RDB$EXTENSION RCI call is no longer available. User Action: Use the RMU/ANALYZE utility to gather static database statistics.
AREABUSY
usage of storage area <str> conflicts with a co-user Explanation: You attempted to ready an area that is already being accessed by another user, and that usage mode is incompatible with the usage mode you requested. User Action: Wait until the storage area you requested is available, and try again, or ready the area with the WAIT option.
AREA_CORRUPT
storage area <str> is corrupt Explanation: The storage area has been corrupted by an abnormal termination of a BATCH UPDATE run unit. It cannot be readied. User Action: Either try to fix the problem by verifying the area and then altering the corrupt pages or reload/restore the area.
AREA_INCONSIST
storage area <str> is inconsistent Explanation: The storage area has been marked inconsistent with the rest of the database. It cannot be readied. User Action: Recover the area to make it consistent.
AREA_NAME
area <str> Explanation: This message supplies supplementary information for an accompanying message. User Action: As specified for accompanying message.
ARITH
arithmetic exception Explanation: An exception occurred while Rdb/VMS was evaluating an arithmetic expression. The subordinate status explains the exception. User Action: Change the expression to eliminate the error. For example, if the exception was division by zero, change your query to exclude records that cause a division by zero.
BADAIJFILE
illegal after-image journal format Explanation: The file you specified is not an after-image journal file. User Action: Check the file name and try again.
BADAIJVER
after-image journal version is incompatible with the DBCS Explanation: Your after-image journal file was created with an incompatible version of the software. User Action: Your after-image journal file cannot be used with the version of the software you have installed on your machine.
BADASCTOID
"<str>" is not a valid user identifier Explanation: An error occurred when accessing the rights database to translate an identifier name to a binary identifier. User Action: See the secondary error message and supply a valid user identifier.
BADBNDPRM
bad bind parameter <str> value "<str>" Explanation: The logical bind parameter value is invalid. User Action: See the secondary error message for more information.
BADBOUNDS
value not in range <num> to <num> Explanation: The value of the translated logical name is not in the range of acceptable values. User Action: Delete the logical name, or redefine it with a value in the acceptable range.
BADDATDEF
illegal default format for date string Explanation: The logical name, SYS$DATE_INPUT, represents the default format for a date string. It is a three character field (MDY,DMY, etc.) with M = month, D = day, and Y = year. User Action: Redefine the logical name with a legal date string format.
BADDBNAME
can't find database root <str> Explanation: The database root file you specified could not be accessed. User Action: Examine the associated messages to determine the reason for failure.
BADFILTYP
database file must have extension "<str>" Explanation: All database files must have the specified file type. User Action: You might be attempting to access a nondatabase file. If not, rename or copy the database file to have the proper type.
BADHANDLE
invalid handle passed on call to Rdb Explanation: A call to Rdb/VMS passed a nonzero handle when zero was expected or passed a handle that was not valid. A handle is output by certain Rdb/VMS calls. This error can be caused by errors in software, such as a preprocessor, that creates the calls to Rdb/VMS. User Action: None.
BADROOTMATCH
root file "<str>" no longer has its original name "<str>" Explanation: The current root filename does not match the name the used when the root file was created. This could happen if you copied or renamed the root file, or if the file was created using a concealed logical device name and that logical name is no longer defined. User Action: Rename or copy the root file back to its original name or location, or redefine the necessary concealed logical device name in the system logical name table.
BAD_AREA_NAME
area name <str> is bad Explanation: You specified an area name that is incorrect. User Action: Check with your DBA to determine the correct area names for your database and reissue your command correctly.
BAD_CODE
corruption in the query string Explanation: An illegal entry was found in the query string. User Action: If you called Rdb/VMS, check the query string; otherwise submit an SPR.
BAD_DATATYPE
unsupported datatype Explanation: You attempted to do math with incompatible data types. User Action: Submit an SPR.
BAD_NAME
illegal filename Explanation: You specified an illegal file name. A second line of explanatory text is supplied in addition to this message. User Action: Retry the command with a valid file name.
BAD_SYM
unknown <str> symbol - <str> Explanation: Invalid symbol. User Action: Check the definition and retype the command.
BAD_XPR
corrupt expression Explanation: A corrupt expression was found in the query string. User Action: If you called Rdb/VMS, check the query string. Otherwise, submit an SPR.
BDDATRANG
day, month, or year field in date string out of range Explanation: The month field must be between 1 and 12 inclusive. The day field must be between 1 and 31 inclusive. The year field must be between 0 and 3000 inclusive. User Action: Reenter the DATE data item with the error corrected.
BKUPEMPTYAIJ
after-image journal file is empty Explanation: An attempt was made to backup an empty after image journal file. User Action: Be sure the correct after image journal file was specified.
BOUND
multiple binds are not allowed Explanation: You are already bound to a database. You can only be bound to one database at a time for a given stream. User Action: You can execute an UNBIND statement and try the BIND again, or use the multiple stream feature to bind to a database on another stream.
BPPMAX
<num> blocks per page is greater than the Rdb/VMS maximum of <num> Explanation: The page size for the database you specified is too large. User Action: Try another value.
BPPMIN
<num> blocks per page is less than the Rdb/VMS minimum of <num> Explanation: The page size for the database you specified is too small. User Action: Try another value.
BUFLIMEXC
internal buffer limit exceeded Explanation: You have provided a request whose compilation exceeds the buffer capabilities of Rdb/VMS. An example would be a request that attempts to retrieve several thousand fields from a relation. User Action: Rewrite the request, possibly breaking it up into multiple requests.
BUFSMLPAG
buffer size is less than page size Explanation: Buffer size must be large enough for at least one page. User Action: Try another value for the buffer size.
BUFTOOSML
buffer size (<num>) is smaller than largest page (<num>) Explanation: The buffer size must be large enough to accommodate the largest page size within the database. User Action: Specify a buffer size at least as large as the message indicates.
BUGCHECK
fatal, unexpected error detected Explanation: A fatal, unexpected error was detected by the database management system. User Action: Please submit an SPR (and include any bugcheck dump files).
BUGCHKDMP
generating bugcheck dump file <str> Explanation: The database management system has detected a fatal, unexpected error, and is writing a bugcheck dump file with the specified file name. User Action: Please send this bugcheck dump file to your software specialist, along with any other related programs or data.
CANTASSMBX
error assigning a channel to a mailbox Explanation: An error occurred while you attempted to assign a channel to a VMS mailbox. User Action: Examine the secondary message for more information.
CANTBINDRT
error mapping database root file Explanation: An error occurred while mapping to the database root file. User Action: Examine the associated messages to determine the reason for failure.
CANTCLOSEDB
database could not be closed as requested Explanation: The database monitor detected an error while attempting to close the database you specified. User Action: Examine the secondary message(s) or look in the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
CANTCREDBR
error creating database recovery process Explanation: An error occurred while you attempted to create a detached database recovery process. User Action: Examine the secondary message(s) or look in the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
CANTCREGBL
error creating and mapping database global section Explanation: There was an error while you attempted to create a map to the database global section. User Action: Examine the secondary message(s) for more information.
CANTCREMBX
cannot create mailbox Explanation: An error occurred while you attempted to create a mailbox. Mailboxes are used for interprocess communication by the database management system. User Action: Examine the associated messages to determine the reason for failure. Usually, you will have to change one of your quotas (most likely, the buffered I/O byte count quota or the open file quota).
CANTCREMON
unable to start database monitor process Explanation: An error occurred while you attempted to start the database monitor process. This is a detached process. User Action: Examine the secondary message(s) to determine the reason for the failure.
CANTDELETE
error deleting "<str>" Explanation: An error occurred while you attempted to delete the indicated file. You must be able to change the protection on a file in order to delete it. User Action: Examine the associated messages to determine the reason for failure.
CANTLCKTRM
database monitor error establishing termination lock Explanation: The database monitor was unable to assert a request on the user's image termination lock. The user's image might already have terminated before the monitor received the request. User Action: Examine the secondary message(s) for more information.
CANTMAPTROOT
error mapping to the troot section Explanation: An error occurred while mapping to the shared database page-file section. User Action: Examine the associated messages to determine the reason for failure.
CANTOPENDB
database could not be opened as requested Explanation: The database monitor detected an error while attempting to open the database you specified. User Action: Examine the secondary message(s) or look in the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
CANTOPENIN
error opening input file <str> Explanation: An error occurred while opening the input file. User Action: Examine the associated messages to determine the reason for failure.
CANTQIOMBX
unable to send mail to a mailbox Explanation: An error occurred while you attempted to send mail to a mailbox. User Action: Examine the secondary message(s) to determine the reason for the failure.
CANTREADDB
error opening or reading database file Explanation: There was an error while you attempted to open or read from the database file. User Action: Examine the secondary message(s) for more information.
CANTREADDBS
error reading pages <num>:<num>-<num> Explanation: An error occurred while you attempted to read one or more database pages. The message indicates the storage area ID number and the page numbers of the first and last pages being read. User Action: Examine the associated messages to determine the reason for failure.
CANTSNAP
can't ready storage area <str> for snapshots Explanation: Snapshots were last enabled for this area by a transaction that had not committed before the snapshot started. Information to materialize the snapshot is not present. User Action: Restart the snapshot transaction. If failure of a snapshot transaction is critical, you should ready all areas before doing any retrievals.
CANTSPAWN
error spawning subprocess Explanation: An error occurred while you attempted to spawn a subprocess. User Action: Examine the secondary message for more information.
CANTWRITEDBS
error writing pages <num>:<num>-<num> Explanation: An error occurred while you attempted to write one or more database pages. The message indicates the storage area ID number and the page numbers of the first and last pages being written. User Action: Examine the associated messages to determine the reason for failure.
CDDISREQD
CDD required for metadata updates is not being maintained Explanation: You attempted to change a definition in a database which requires that all definition changes be reflected in the CDD, after issuing an INVOKE DATABASE FILENAME statement. User Actions: INVOKE DATABASE PATHNAME and retry the metadata update.
CDDREQALONE
CDD is required clause must be alone in CHANGE DATABASE command Explanation: You attempted to specify DICTIONARY is (not) REQUIRED along with other parameters in the same CHANGE DATABASE statement. User Action: Break down your request into two separate statements.
CHECKSUM
checksum error - computed <num>, page contained <num> Explanation: The computed checksum for the database page disagreed with the checksum actually stored on the page. This usually is caused by a hardware problem. User Action: None.
CNVNUMDAT
cannot convert number to a date string Explanation: A quadword DATE data type is not in the correct form to be converted to a text string. User Action: Reenter the DATE data item in the correct format.
COLNOTDEF
field <str> is not defined in relation <str> Explanation: The specified field does not exist in the relation specified. User Action: The relation definition associated with the context variable did not include a definition for the specified field. You may have specified the wrong context variable with the field or mistyped the field name.
COMPLEX
data conversion error on complex data type Explanation: There would have been loss of information on a complex data type conversion. The operation was not performed. User Action: Enter another value.
CONEXI
relation <str> is referenced in constraint <str> Explanation: Before you can delete a relation, all constraints and views based on this relation must be deleted. User Action: Delete the dependent constraints and any views that refer to this relation.
CONEXTS
there is another constraint named <str> in this database Explanation: The constraint name you tried to define already exists. User Action: Choose another constraint name.
CONNOEXI
constraint <str> does not exist in this database Explanation: The name specified for the constraint was not found in the database. User Action: Check the name of the constraint using the SHOW command and try again.
CONNOTDEL
constraint <str> has not been deleted Explanation: The specified constraint was not deleted. User Action: Correct the problem and retry the metadata update.
CONVERR
data conversion error Explanation: The database management system was unable to convert the data item from one datatype to another. User Action: Enter another value.
CONVW
views cannot be used within constraints Explanation: Constraints cannot be placed on views. User Action: Place constraints on the relation referred to in the view definition.
DATCNVERR
conversion error in date string Explanation: The date string is not in one of the legal formats. As a result, it cannot be converted to the DATE data type. User Action: Reenter the DATE data item in one of the correct formats.
DBACTIVE
database is already being used Explanation: You attempted to open a database that is already being used. You can only open a database that is not being accessed. User Action: Wait for all users to finish using the database, or force the users off by closing the database.
DBBUSY
database is busy - try again later Explanation: You attempted to access a database that is shut down. User Action: Wait for the database to become available, and try again.
DBCRUPT
database is corrupt Explanation: Your database is not a valid Rdb/VMS database. This can happen if DEFINE DATABASE does not terminate normally. User Action: Recreate your database. If the database was not just created, submit an SPR.
DBNOTACTIVE
database is not being used Explanation: You attempted to close a database that is not open. User Action: There is no need to close the database - it is already closed.
DBNOTEXTEN
database not multifile, areas may not be added Explanation: Your database was not specified as multifile, yet you attempted to add areas to the database. User Actions: If you want to create a multifile database from a single file database, use the EXPORT and IMPORT statements.
DBNOTINTRAN
that database is not in the current transaction Explanation: You tried to start a request or use a segmented string in a database not included in your current transaction. User Action: Commit or roll back your transaction, and start a new transaction that includes the proper databases.
DBNOTOPEN
database is not open for access Explanation: The database must be opened to allow users to access it. User Action: Open the database and try again.
DBRABORTED
database recovery process terminated abnormally Explanation: A detached database recovery process failed to recover a transaction. User Action: Examine the database monitor log file and any SYS$SYSTEM:*DBRBUG.DMP bugcheck dump files for more information.
DBSHUTDOWN
database shutdown is in progress Explanation: The request you made could not be completed because the database is being shut down. User Action: Examine the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
DEADLOCK
deadlock on <str> Explanation: The operation you attempted has been forbidden by the database management system because it would have led to a system deadlock. User Action: Execute a ROLLBACK or a COMMIT to release your locks, and try the transaction again.
DELAREA
area <str> was previously deleted Explanation: An attempt was made to ready an area which was previously deleted.
DUPLANAME
area name <str> already used Explanation: The area name specified is already in use for this database. User Action: Choose a different name.
DUPLFNAME
file name <str> already used Explanation: The file name specified is already in use for this database. User Action: Choose a different name.
DUPNOTALL
duplicate records not allowed for index <str> Explanation: You are trying to add a duplicate record to an index on a field that does not allow duplicates. User Action: Do not add duplicate records unless you restructure the relation to allow them.
EMPTYAIJ
after-image journal file is empty Explanation: A recovery operation was attempted on an empty after-image journal file, or the UNTIL time predates any journaled transactions. The former can happen if no transactions were initiated while after-image journaling was in progress. User Action: Correct the error and try again.
EMPTYFILE
<str> file is empty Explanation: The file is empty. User Action: None.
END
end of record stream for this cursor Explanation: A status returned from RDMS$DO that indicates there are no more records to be returned. User Action: There are no more records in the record stream. Process as you would for an end-of-file condition.
ERRACCROO
error accessing database root file Explanation: An error occurred while opening a database file. User Action: Examine the secondary message for more information.
ERREXTFIL
error extending file Explanation: An error occurred while extending a file. User Action: Examine the secondary message for more information.
ERRFILSIZ
error determining size of file Explanation: An error occurred while accessing a file to retrieve the record attributes, in order to determine the physical size of the file. User Action: Examine the secondary message for more information.
ERRFMTFIL
error formatting output file Explanation: An error occurred while formatting an output file. User Action: Examine the secondary message for more information.
ERRFOREIGN
error opening foreign command file as input Explanation: An error occurred while reading a foreign command file. User Action: Examine the secondary message for more information.
ERRMODEOF
error extending or truncating file Explanation: An error occurred while extending a file. User Action: Examine the secondary message for more information.
ERROPENIN
error opening <str> as input Explanation: An error occurred while opening an input file. User Action: Examine the secondary message for more information.
ERROPENOUT
error opening <str> as output Explanation: An error occurred while opening an output file. User Action: Examine the secondary message for more information.
ERROPNOUT
error opening <str> as output Explanation: An error occurred while opening an output file. User Action: Examine the secondary message for more information.
ERRPARSFIL
error parsing file <str> Explanation: An error occurred while parsing a file name. User Action: Examine the secondary message for more information.
ERRREAD
error reading file Explanation: An error occurred while reading a file. User Action: Examine the secondary message for more information.
ERRREADING
error reading file <str> Explanation: An error occurred while reading a file. User Action: Examine the secondary message for more information.
ERRRUJFIL
error using recovery-unit file <str> Explanation: An error occurred while parsing a file name. User Action: Examine the secondary message for more information.
ERRTRUNFIL
error truncating file Explanation: An error occurred while truncating a file. User Action: Examine the secondary message for more information.
ERRWRITE
error writing file Explanation: An error occurred while writing a file. User Action: Examine the secondary message for more information.
ERRWRITING
error writing file <str> Explanation: An error occurred while reading a file. User Action: Examine the secondary message for more information.
EXQUOTA
exceeded quota Explanation: The image could not proceed because a resource quota or limit had been exceeded. User Action: The secondary error message describes the resource that was exceeded. If this occurs consistently, increase your quota.
EXTDBONLY
operation is not allowed on single file databases Explanation: You attempted to change or delete storage areas or change the number of nodes or number of users in a single-file database. User Action: If you want to create a multifile database from a single-file database, use the EXPORT and IMPORT statements.
FIELD_MISSING
field <str> is missing from this statement Explanation: The specified field is required in this statement. The field was determined to be invalid if it was missing from the statement. User Action: You must specify the field in the statement.
FIEUSETRA
field <str> is used in the transferred relation <str> Explanation: The specified field is used in the specified relation. The relation is involved in a DDAL transfer definition. User Action: You must delete the DDAL transfer definition before modifying the field.
FILACCERR
<str> Explanation: This general message indicates an error accessing a file. User Action: Examine the secondary message for more information.
FLDEX
field name <str> appears more than once in this relation or view Explanation: You chose a field name that appears more than once within a relation or view. User Action: Use the BASED ON or COMPUTED BY clauses to change one occurrence of the field name.
FLDINCOM
field <str> is referenced in COMPUTED BY field <str> Explanation: You attempted to delete a field from a relation but the field is used in a COMPUTED BY field in the same relation. User Action: First, review the database design; then, if desired, delete the COMPUTED BY field, and then delete the field from the relation.
FLDINCOMREL
field <str> is referenced in COMPUTED BY field <str> in relation <str> Explanation: You attempted to delete a field from a relation but the field is used in a COMPUTED BY field in another relation. User Action: First, review the database design; then, if desired, delete the COMPUTED BY field, and then delete the field from the relation.
FLDINCON
field <str> is referenced in constraint <str> Explanation: You attempted to delete a field from a relation but the field is used in a constraint. User Action: First, review the database design; then, if desired, delete the constraint, and then delete the field from the relation.
FLDINSTO
field <str> is referenced in storage map <str> Explanation: You attempted to delete a field from a relation but the field is used in a storage map. User Action: First, review the database design; then, if desired, delete the storage map, and then delete the field from the relation.
FLDINUSE
field <str> is referenced in index <str> Explanation: The field you attempted to delete is an indexed field. User Action: First, delete the index on the field, and then delete the field.
FLDINVIEW
field <str> is referenced in view <str> Explanation: You attempted to delete a field from a relation but the field is used in a view of that relation. User Action: First, review the database design; then, if desired, delete the view, and then delete the field from the relation.
FLDNOEX
field <str> is not part of this relation Explanation: The field you named is not part of the target relation. User Action: Check the relation definition for the correct field name.
FLDNOEXI
field <str> does not exist in this database Explanation: The field that you attempted to delete was not found. It might be a local field in a relation rather than a global field. User Action: Check the exact name of the field and try again to delete it. If it is a local field, use the CHANGE RELATION statement to delete the field.
FLDNOTCHG
field <str> has not been changed Explanation: The field specified was not deleted. User Action: Correct the problem and retry the operation.
FLDNOTDEL
field <str> has not been deleted Explanation: The field in question has not been deleted for the reason explained by the previous message. User Action: Correct the problem and retry the statement.
FLDNOTINREL
<str> is not a field in relation <str> Explanation: The field you named is not part of the named relation. User Action: Check the relation definition for the correct field name or specify another relation.
GFLDEXTS
there is another global field named <str> in this database Explanation: The field name you tried to define already exists. User Action: Use another field name.
GFLDNOEX
there is not a global field named <str> in this database Explanation: The field you tried to include in a relation definition does not exist. User Action: Define the field and then try to create the relation again.
HASHEDMIX
index of TYPE HASHED must be stored in area(s) with PAGES MIXED Explanation: You attempted to define a hashed index to be stored in a storage area with a uniform page format. A hashed index must be stored in a storage area with a mixed page format. User Action: Specify one or more storage area with mixed page format for the hashed index.
IDXNOTDEL
index <str> has not been deleted Explanation: The specified index was not deleted. User Action: Correct the problem and retry the metadata update.
ILLNCHAR
illegal character found in numeric input Explanation: You specified a number containing a nonnumeric character. User Action: Correct the error and try again.
INDEXTS
there is another index named <str> in this database Explanation: The index name you tried to define already exists. User Action: Try another index name.
INDEX_S_MIN
user requested node size of <num> bytes for index needing <num> Explanation: The index node size you specified is less than that needed by the implementation. User Action: Refer to the documentation and supply another value.
INDINMAP
index <str> is used in storage map definition Explanation: You attempted to delete an index used in a map definition.
INDLIMITBAD
partition field <str> not in index Explanation: You attempted to partition an index using a field not included in the index. User Action: Respecify the command using only fields defined for the index.
INDNEEDSLIMIT
limits must be specified for index Explanation: You attempted to define an index without specifying limits for all but the last partition of the index. User Action: Respecify your index definition, providing limits for all but the last area.
INDNOTEXI
index <str> does not exist in this database Explanation: There is no index with the given name. User Action: Try SHOW INDEX to see which indexes exist.
INDNOTREL
index <str> does not reference same relation as storage map Explanation: The index specified in the PLACEMENT VIA clause is not an index on the relation whose storage map is being defined. User Action: Select or create a new index for placement.
INDTOOBIG
requested index is too big Explanation: You attempted to define an index that requires more than 255 characters. The limit is the number of fields plus the sum of the number of bytes specifying the size of each field. User Action: Simplify the index definition or break it into two or more components.
INFUNK
information item unknown Explanation: You called RDB$REQUEST_INFO or another INFO routine and asked for an item that Rdb/VMS did not understand. User Action: If you do not need that item, ignore this condition. Otherwise, modify the call to the routine.
INVACE_LENGTH
invalid Access Control Entry length Explanation: You specified too many identifiers in the access control entry (ACE). User Action: Reduce the number of identifiers in the ACE. The maximum number of identifiers in ACE is 30.
INVDBSFIL
inconsistent storage area file <str> Explanation: The indicated storage area file is inconsistent with the root file. This might happen if you have improperly used any unsupported methods for backing up or restoring files, for instance COPY or RENAME. This can also happen if you tried to use an old root file -- one whose storage area file names have been reused for another database. User Action: Restore the correct storage area file or delete the obsolete root file.
INVDB_NAME
invalid database name Explanation: A misspelled or nonexistent database name was specified in the command string. A database name must contain only the following characters: A/a-Z/z, 0-9, $, _. User Action: Reenter the command with the correct spelling of a valid database name.
INVDTYPINDX
cannot use computed by or segmented string for index Explanation: You attempted to define an index using either a COMPUTED BY field or a segmented string as the key. User Action: Select another field as the key.
INVHEADER
invalid file header record Explanation: An invalid file header record was read from the file. User Action: Check the file specification and try again.
INVNAME
symbol <str> contains invalid characters Explanation: Name symbols may contain only the characters A through Z, 0 through 9, and $ and _. They may not end in $ or _. User Action: Use a different name symbol.
INVTBL_NAME
invalid relation name Explanation: You entered a misspelled or nonexistent relation name. User Action: Reenter the command with the correct spelling of a valid relation name.
INV_DATE_CHG
invalid field datatype change to/from DATE Explanation: User attempted to change the data type of a global field to or from DATE with an incompatible data type. User Action: Use the TEXT data type.
INV_RATOR
invalid operator for arithmetic Explanation: The operator was not +, -, *, or /. User Action: The query should not get this far before this is detected. Submit an SPR with a copy of your query.
INV_ROOT
database file has illegal format Explanation: You attempted to use a file that is not a database file. User Action: Check the file specification and try again.
LASTARENOLIMIT
last area clause must not have a LIMIT clause Explanation: You specified limits (RDO) or BLR (DSRI) for the data to be inserted into the last area listed. User Actions: Do not specify a limit for the data in the last storage area.
LBMAX
<num> blocks per buffers is greater than the Rdb/VMS maximum of <num> Explanation: The number of blocks per buffers for the database you specified is too large. User Action: Try another value.
LBMIN
<num> blocks per buffers is less than the Rdb/VMS minimum of <num> Explanation: The number of blocks per buffers for the database you specified is too small. User Action: Try another value.
LCKCNFLCT
lock conflict on <str> Explanation: The operation you attempted failed because another run unit is holding a lock in a mode that conflicts with the lock mode you needed. User Action: Wait for the other run unit to finish. Use ROLLBACK or COMMIT to release all your locks and retry the transaction, or specify that you want to wait on lock conflicts.
LOGAIJBCK
backed up <num> committed transaction(s) at <time> Explanation: The specified number of committed transactions were successfully backed up from the after-image journal file. This count does not include transactions that rolled back.
LOGRECOVR
<num> transaction(s) <str> Explanation: Database recovery was successful. The specified number of transactions were re-applied to the database, ignored or rolled back. User Action: None.
LOGRECSTAT
transaction with TSN <num> <str> Explanation: During rollforward, this message is displayed every time a transaction is committed, rolled back, or ignored.
MAPAREAINUSE
area <str> already specified for map <str> Explanation: You used the area name more than once in the same storage map. User Actions: Use the area name only once in the storage map definition.
MAPBLRMISSING
one or more areas is missing limitation Explanation: You have not specified limits or BLR for all areas that are required to have limits. You can omit limits on all storage areas, and you must omit limits on the last storage area. User Actions: Specify limits on all the areas except the last, or do not specify limits on any of the areas.
MAPNMINUSE
map name <str> is already in use in this database Explanation: You tried to define a map or index using a name that already exists in the database. User Actions: Use a name that has not already been used in the database.
MAPREFAREA
error deleting storage area <str> referenced by <str> Explanation: You attempted to delete a storage area currently referenced by a storage map. User Action: Make sure the storage area you wish to delete is empty and no storage maps refer to it.
MAXRELVER
exceeded maximum relation identifier Explanation: No more relation identifiers are available. User Action: Unload your database, recreate the database, and reload.
MAX_CCTX
exceeded maximum allowable context number Explanation: A context identification number greater than 32 was encountered. User Action: If you called Rdb/VMS, check the query string; otherwise submit an SPR.
MISMMORDD
missing either month or day field in date string Explanation: The date string must contain the month and day field. If it does not, it will not be converted to the DATE data type. User Action: Reenter the DATE data item having both the month and day fields.
MIXCLUST
relation or index may not be stored in mixed and uniform areas Explanation: You attempted to define a storage map that refers to both mixed and uniform areas. User Action: Define the storage map to refer to only uniform areas or only mixed areas.
MONALSTART
database monitor is already running Explanation: The database monitor has previously been started. User Action: Continue or see your system manager.
MONMBXOPN
monitor is already running Explanation: The monitor has already been started by another user. User Action: None.
MONSTOPPED
database monitor process is being shut down Explanation: The request you made could not be completed because the database monitor process is being shut down. User Action: Examine the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
MULTCHGAREA
multiple references to area <str> in same CHANGE DATABASE command Explanation: You attempted to change one storage area multiple times in your CHANGE DATABASE statement. User Action: Combine your changes to one storage area to one clause.
MUSTRECDB
database must be closed or recovered Explanation: The operation can be done only on databases that are closed and recovered. User Action: Use the CLOSE command if an OPEN was performed. Recovery, if required, can be forced by opening the database. If other users are accessing the database, you must wait for them to finish.
NBMAX
<num> number of buffers is greater than the Rdb/VMS maximum of <num> Explanation: The number of buffers for the database you specified is too large. User Action: Try another value.
NBMIN
<num> number of buffers is less than the Rdb/VMS minimum of <num> Explanation: The number of buffers for the database you specified is too small. User Action: Try another value.
NOACCSEGSTR
cannot access buffer for segmented string Explanation: At least part of the user's buffer is not accessible. User Action: Check program logic; the segmented string buffer address and/or length is incorrect.
NOAIJDEF
no default after-image filename available Explanation: A default after-image journal file name cannot be formed since no journal file name is presently in the database root. User Action: Enable after-image journaling and supply a name for the after-image journal.
NOCHAR
no character after '' in pattern Explanation: A MATCH operation was in progress and the pattern was exhausted with the pattern quote character as the last character in the pattern. User Action: Rewrite the expression in error to have the proper format.
NOCHGRDBSYS
cannot change RDB$SYSTEM storage area explicitly Explanation: You included a CHANGE STORAGE AREA RDB$SYSTEM clause in the CHANGE DATABASE statement. User Action: Issue the CHANGE DATABASE statement without this clause. When you change database-wide parameters, the RDB$SYSTEM parameters are automatically changed.
NOCHGVW
the definition of a view may not be changed Explanation: You cannot change a view definition. User Action: A view may be changed by deleting its old definition and defining a new one.
NOCREMBX
can't create mailbox Explanation: An error occurred while you attempted to create a mailbox. See the secondary message for more information. User Action: Correct the condition and try again.
NODBK
<num>:<num>:<num> does not point to a data record Explanation: An attempt was made to fetch a record by its database key value, but the record has been deleted. User Action: Correct the condition and try again.
NODEVDIR
!AC file name does not include device and directory Explanation: The file you specified did not include a device and directory. User Action: You should always include a device and directory in the file specification, preferably different from the database device for maximum protection.
NODMAX
<num> number of VAXcluster nodes is greater than the Rdb/VMS maximum of <num> Explanation: The number of VAXcluster nodes which may access the database you specified is too large. User Action: Refer to documentation and try another value.
NODMIN
<num> number of VAXcluster nodes is less than the Rdb/VMS minimum of <num> Explanation: The number of VAXcluster nodes which may access the database you specified is too small. User Action: Refer to documentation and supply another value.
NOINTERUNI
no interval may be specified on uniform format pages Explanation: You attempted to specify a spam interval on a PAGES UNIFORM storage area. User Action: Do not specify an interval, as one will be automatically determined for you.
NOMONITOR
database monitor is not running Explanation: The database monitor process is not running. User Action: Have your database administrator start the monitor, and try again.
NONODE
no node name is allowed in the file specification Explanation: A node name was found in the file specification. Node names cannot be used. User Action: Use a file name without a node specification.
NOPRIV
no privilege for attempted operation Explanation: You attempted an operation that requires VMS privileges and you do not have those privileges enabled. User Action: Examine the secondary message for more information.
NORTUPB
no more user slots are available in the database Explanation: The maximum number of users are already accessing your database. User Action: Try again later.
NOSIP
transaction is not a snapshot transaction Explanation: You have already started a transaction that is not a snapshot transaction. User Action: Use COMMIT or ROLLBACK to terminate your current transaction. Use READY BATCH RETRIEVAL to start a new snapshot transaction.
NOSNAPS
snapshots are not allowed or not enabled for area <str> Explanation: Snapshots are not allowed or not enabled for this area. User Action: This is a normal situation created by the database definition or by a change or modify database command. Check with your DBA to make sure this situation is desirable.
NOSTAREAEXT
storage area not defined in the database Explanation: A storage area mentioned in the CHANGE DATABASE statement is not defined in the database. User Action: Reenter your statement with valid storage area names.
NOSTRTUP
database software not started Explanation: Before you can use VAX Rdb/VMS, the software must be started. User Action: Execute the command procedure SYS$MANAGER:RMONSTART.COM
NOTBOOL
expression in AND, OR, or NOT was not a Boolean Explanation: The Boolean evaluator was processing an expression or subexpression of the form "A AND B", "A OR B", or "NOT A". Either the "A" or the "B" expression was not in the proper form. The correct forms are "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X GT Y", "X LE Y", "X GE Y", "X CONTAINS Y", or "X MATCHES Y". The operand of NOT, and both sides of AND and OR expressions must be Boolean expressions. User Action: Rewrite the expression in error to have the proper format.
NOTDSKFIL
filespec does not specify disk device type Explanation: An error occurred while you attempted to create an AIJ file. User Action: Modify the database with a valid AIJ filespec.
NOTHRESUNI
no thresholds may be specified on uniform format pages Explanation: You attempted to specify thresholds on PAGES UNIFORM storage area.
NOTIMPLYET
feature is not implemented yet Explanation: You attempted to access a feature that has been planned but has not been implemented yet. User Action: Avoid this feature.
NOTIP
no transaction in progress Explanation: You attempted to execute a DML verb, but there is no transaction in progress yet. User Action: Execute a READY statement before executing any other DML statements.
NOTOPE
this record stream for this cursor is not OPEN Explanation: The call to RDMS$SEND or RDMS$RECEIVE has failed. You attempted to use a stream that is not open. User Action: Call RDMS$START_REQUEST to open the stream.
NOTRANAPP
no transactions in this journal were applied Explanation: This journal file contains transactions that cannot be applied to the specified backup of the database. User Action: Be sure you are using the correct database backup and journal file.
NOTROOT
not a root file Explanation: The specified file is not a database root file. User Action: Specify a database root file and try again.
NOTSYSCONCEAL
non-system concealed device name in filename Explanation: Concealed device name must be defined in the system logical table. User Action: If the device name has to be concealed, then define it in the system logical table.
NOT_BOUND
database is not bound Explanation: You have not bound to a database yet, or you have unbound the database and have not bound to another one yet. User Action: Bind to a database before continuing.
NOT_LICENSED
system is not licensed for use of database software Explanation: A VAX Rdb/VMS kit has not been properly installed on the system. User Action: Check to see that you are licensed to use VAX Rdb/VMS; and if you are, install or re-install the VAX Rdb/VMS kit.
NOT_READY
storage area <str> not in ready mode Explanation: You attempted to access an area for which you have not declared your intentions. User Action: If the area is included in your subschema, you can use the READY statement to prepare it for processing.
NOT_RESERV
attempt to access relation not mentioned in reserving list Explanation: You tried to access a relation not mentioned in the reserving list of your START_TRANSACTION statement. User Action: Start a new transaction and include the required relations in the reserving list.
NOT_UPDATE
storage area <str> not readied in update usage mode Explanation: You attempted to modify the contents of an area without having declared your intentions. User Action: If you have not readied the area yet, you can READY for UPDATE. If you have already readied it, you must abort your transation by executing a ROLLBACK before you can READY for UPDATE.
NOT_VALID_FR
field <str> in relation <str> fails validation Explanation: While attempting the change field ... valid if, data was found which violated the specified criteria. User Action: Either change the validation criteria or change the data.
NOVIEWIND
cannot define an index for a view Explanation: You attempted to define an index for a view. User Action: Define an index for the field in the relation named in the view definition.
NOWILD
no wild cards are allowed in the file specification
Explanation: Wild card characters ("*" and "%") cannot be used
in that file specification.
User Action: Use a file specification without wild card
characters.
OBSVER
obsolete version of database Explanation: You are trying to use an obsolete version of an Rdb/VMS database. User Action: Using an older version of Rdb/VMS, back up the database, and then restore it using your current version of Rdb/VMS.
OK_NO_ACE
successful protection execution - no ACE returned Explanation: Indicates that no access control entry is returned. User Action: No user action.
OPERCLOSE
database operator requested database shutdown Explanation: Your program has been terminated because the database operator shut down the database you were using. User Action: Try again later after the database shutdown is complete.
OPERSHUTDN
database operator requested monitor process shutdown Explanation: Your program has been terminated because the database operator shut down the database monitor process. User Action: Try again later after the database shutdown is complete.
OVERFLOW
data conversion overflow Explanation: A loss of information would have occurred on a data item transformation. The operation was not performed. User Action: Correct the error and try again.
PREMEOF
premature end of file encountered in <str> Explanation: A premature end-of-file was encountered while reading the specified file.
QIOXFRLEN
data transfer length error - expected <num>, actual <num> Explanation: The expected data transfer length was not equal to the actual data transfer length. User Action: This is usually caused by a hardware problem.
QUIETPT
waiting for database quiet point Explanation: User is waiting for the quiet lock in order to force a database quiet point. User Action: None.
RECMAXEXC
relation <str> definition exceeds data limit Explanation: You attempted to define or change a relation that is too large. User Action: Modify the relation definition.
RELALRDYMP
there already exists a map for relation <str> Explanation: You tried to define a storage map for a relation that already has a storage map defined for it. User Actions: Use CHANGE STORAGE MAP if you want to change the storage map for that relation.
RELEXI
field <str> is used in relation <str> Explanation: The specified field you attempted to delete is used in a relation. User Action: You should first change the relation to exclude this field, and then delete the field.
RELEXTS
there is another relation named <str> in this database Explanation: The relation name you tried to define already exists. User Action: Use another relation name.
RELFLDEX
there is another field named <str> in relation <str> Explanation: The field name you want to define already exists in this relation. User Action: Choose another name for the field.
RELFLDNOC
field <str> in relation <str> has not been changed Explanation: The field named was not changed. User Action: Correct the problem and then change the field.
RELFLDNOD
field <str> has not been deleted from relation <str> Explanation: The field named was not deleted. User Action: Correct the problem and then delete the field.
RELINCOM
relation <str> is referenced in COMPUTED BY field <str> in relation <str> Explanation: You attempted to delete a field from a relation but the field is used in a COMPUTED BY field in another relation. User Action: First, review the database design; then, if desired, delete the COMPUTED BY field, and then delete the field from the relation.
RELNEXTS
relation <str> does not exist in this database Explanation: The relation name you tried to use does not exist. User Action: Use another relation name.
RELNOEXI
relation <str> does not exist in this database Explanation: The relation that you attempted to delete was not found. User Action: Check the name of the relation using the SHOW command and try again to delete it.
RELNOTCHG
relation <str> has not been changed Explanation: The specified relation was not changed. User Action: Correct the problem and retry the metadata update.
RELNOTDEL
relation <str> has not been deleted Explanation: The specified relation was not deleted. User Action: Correct the problem and retry the metadata update.
RELNOTEMPTY
relation <str> has data in it Explanation: You specified a storage map for a relation which has data in it. User Actions: You cannot specify a storage map for a relation that has data in it. Specify a relation that does not already have data stored in it.
RELUSETRA
relation <str> is used in a transferred definition Explanation: The specified field is used in the specified relation. The relation is involved in a DDAL transfer definition. User Action: You must delete the DDAL transfer definition before modifying the field.
REQUNIFORM
storage area RDB$SYSTEM must contain uniform format pages Explanation: You attempted to assign PAGE FORMAT IS MIXED to RDB$SYSTEM storage area. User Action:
RESTART
restarted recovery after ignoring <num> committed transaction(s) Explanation: The specified number of committed transactions did not apply to this database root. All subsequent transactions were applied. User Action: None.
ROOMAJVER
root major version is incompatible with the DBCS Explanation: Your database was created with an incompatible version of the software. User Action: Your database cannot be used with the version of the software you have installed on your machine.
ROOTMAJVER
database format is not compatible with software version Explanation: Your database was created with an incompatible version of the software. User Action: Your database cannot be used with the version of the software you have installed on your machine.
RUJDEVDIR
RUJ file name does not include device and directory Explanation: The file you specified did not include a device and directory. User Action: You should always include a device and directory in the file specification, preferably different from the database device for maximum protection.
SEGSTR_NO_CHG
you cannot change a field's datatype to or from a segmented string Explanation: Nonsegmented string fields cannot be changed to or from segmented string fields. User Action: Define a new field with the desired data type and use a program to properly load/unload the segmented string.
SETWIDTH
error setting width of terminal Explanation: An error occurred while parsing a file name. User Action: Examine the secondary message for more information.
SIP
transaction is a snapshot transaction Explanation: You have already started a transaction that is a snapshot transaction. User Action: Use READY BATCH RETRIEVAL to ready the area for the snapshot transaction or use COMMIT to terminate the snapshot transaction.
SNAPFULL
snapshot area too full for operation Explanation: You attempted to store a record in the database, because there was an active reader and the snapshot area in which the record would go is too full. User Action: Modify the snapshot area extend parameter to allow snapshot area extension.
SPIMAX
spam interval of <num> is more than the Rdb/VMS maximum of <num> Explanation: The SPAM interval you specified is too large. User Action: Choose a smaller interval.
SPIMIN
spam interval of <num> is less than the Rdb/VMS minimum of <num> Explanation: The SPAM interval you specified is too small. User Action: Choose a larger interval.
SSNOTINROOT
<str> is not in the root file Explanation: The DDCB you specified is not in the root file. You can see which DDCBs a root file has with the DBO/DUMP command. User Action: Add the DDCB to your root file (DBO/MODIFY), or check your bind sequence and try again.
STALL
asynchronous operation requires a stall Explanation: The operation has not completed yet. User Action: Check the event flag and I/O status block for final completion and submit and SPR..
STAREAFUL
storage area too full for operation Explanation: You attempted to store a record in the database, but the storage area in which the record would go is too full. User Action: Modify the storage area extend parameter to allow storage area extension.
STOMAPNOEXI
storage map <str> does not exist in this database Explanation: The storage map you attempted to delete was not found. User Action: Check the name of the storage map using the SHOW command and try again to delete it.
SYMTOOBIG
symbol <str> is longer than the maximum 31 characters Explanation: The maximum size for a symbol name is 31 characters. You attempted to use a symbol longer than 31 characters. User Action: Use a shorter symbol.
SYNERR
request synchronization error Explanation: You tried to send a message to Rdb/VMS when Rdb/VMS was not expecting it, or you tried to receive a message from Rdb/VMS when Rdb/VMS was not prepared to send it. User Action: If you called Rdb/VMS directly, correct your BLR or calling program. If you are using a program that generates calls to Rdb/VMS, submit an SPR for that program.
TABIDNOTDEF
relation ID, <num>, is not defined in database Explanation: The specified relation identification does not exist in the current database. User Action: Invoke the correct database. Specify the correct relation identification. Perhaps you specified a term or keyword where the parser expected a relation identification.
TABNOTDEF
relation <str> is not defined in database Explanation: The specified relation does not exist in the current database. User Action: Invoke the correct database. Spell the relation name correctly. Perhaps you specified a term or keyword where the parser expected a relation name.
TADMISMATCH
journal is for database version <time>, not <time> Explanation: The version time and date stamp in the root does not match the version time and date stamp in the journal file. This journal cannot be applied to this backup. User Action: Use the correct journal file or backup file.
TERMINATE
database monitor forced image exit to protect database Explanation: To maintain the integrity of the database, the monitor forced your image exit because an unrecoverable error has been detected. User Action: Restart your transaction.
TRANSFDEF
there is another transfer named <str> for this database Explanation: DDAL tried to store information in the source database for the transfer name given and discovered that the transfer name was already stored. User Action: Delete this replication transfer, and pick a new transfer name.
TRAN_IN_PROG
transaction in progress Explanation: You attempted an operation that is allowed only when you have no transaction in progress. User Action: Complete your transaction by executing a COMMIT or ROLLBACK.
TRUE
condition value is true Explanation:
TRUNCATION
data conversion truncation error Explanation: You attempted an operation that would cause loss of information on a data item movement. User Action: Correct the error and try again.
UNDERFLOW
data conversion underflow Explanation: You attempted an operation that would cause loss of information on a data item movement. User Action: Correct the error and try again.
UNSARITH
expression includes unsupported arithmetic operation Explanation: The Boolean evaluator was processing an expression or sub-expression that contained an arithmetic operator. Arithmetic operators are not supported. User Action: Rewrite the expression in error without the arithmetic operator.
UNSCOMP
unsupported data comparison Explanation: You attempted an operation that would compare two incommensurate data items. User Action: Correct the error and try again.
UNSCONV
unsupported data conversion Explanation: You attempted an operation that would cause loss of information on a data item movement. User Action: Correct the error and try again.
UNS_DTYPE
unsupported datatype Explanation: Rdb/VMS does not support this data type. User Action: Refer to documentation for information on data types and host language data type conversion.
UPDINSNAP
cannot update in READ_ONLY transaction Explanation: You tried an update operation in a transaction started without the READ_WRITE option. User Action: Use the START_TRANSACTION READ_WRITE statement.
USRMAX
<num> number of users is greater than the Rdb/VMS maximum of <num> Explanation: The number of users for the database you specified is too large. User Action: Refer to documentation and try another value.
USRMIN
<num> number of users is less than the Rdb/VMS minimum of <num> Explanation: The number of users for the database you specified is too small. User Action: Refer to documentation and supply another value.
VIEWEXI
relation <str> is referenced by view <str> Explanation: Before deleting a relation, all constraints and views based on this relation must be deleted. User Action: Delete the dependent views and any constraints that refer to the relation, then delete the relation.
VIEWINVIEW
view <str> is referenced by view <str> Explanation: A view cannot be deleted if another view depends upon it. User Action: Delete the dependent view first.
VIEWNOEXI
view <str> does not exist in this database Explanation: The view you attempted to delete was not found. User Action: Check the name of the view using the SHOW command and try again to delete it.
VIEWNOTDEL
view <str> has not been deleted Explanation: The specified view was not deleted. User Action: Correct the problem and retry the metadata update.
VIEWNOUP
view cannot be updated Explanation: A view containing a CROSS, REDUCE TO, or FIRST clause cannot be updated. User Action: Update the relations to which the view refers.
VIEW_NO_ANA
views cannot be analyzed Explanation: You attempted to analyze a view. User Action: Use a relation name.
WASBOOL
expression in CONTAINS or MATCHES was a Boolean Explanation: The Boolean evaluator was processing an expression or sub-expression of the form "A CONTAINS B" or "A MATCHES B". Either the "A" or the "B" expression was a Boolean of the form "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X GT Y", "X LE Y", "X GE Y", "X CONTAINS Y", or "X MATCHES Y". Neither side of CONTAINS and MATCHES expressions are allowed to be Boolean expressions. User Action: Rewrite the expression in error to have the proper format.
WISH_LIST
feature not implemented yet Explanation: The action you requested requires a feature that is not implemented in the current version of this product. User Action: Try a simpler way of doing things.
WRNG_REL
attempt to retrieve <str> with DBKEY from another relation Explanation: You attempted to retrieve a relation using a database key value, but the database key was from another relation. User Action: Supply the key value from the correct relation.
XPR_STACK_OFLO
expression forces too many levels of recursion Explanation: You provided an expression which forces too many levels of recursion. The expression should be rewritten to use parentheses and therefore cause fewer levels of recursion. User Action: Rewrite the expression.
RDO
Additional information available:
ACCVIOACENOTFNDAGGNOTALLAIJDEVDIRAIJDISABLED
AIJENABLEDAMB_KEYWORDANODBHANDANYNOTALL
AREABUSYAREA_CORRUPTAREA_INCONSISTARIEXPEXP
ATTMISSINGBACKCONVBADADJLOCKGRANBADAIJFILE
BADAIJVERBADASCTOIDBADBLOBBADBNDPRM
BADBOUNDSBADCLUMPBADCORATTBADDATDEF
BADDBNAMEBADEPILOGUEBADFILEVERBADFILTYP
BADFLDTYPBADINTERVALBADLOGFILEBADLOGNAM
BADMETNAMBADMVIEWFLDBADMVIEWRELBADMVIEWVEW
BADMVRELSBADMVVIEWSBADPAGEFORMATBADPROLOGUE
BADRECBUFBADROLMVFLDBADROOTMATCHBADSNAPFILENAME
BADTHRESHOLDBADVAXCLUSNODESBAD_END_NAMEBAD_NAME
BDDATRANGBKUPEMPTYAIJBOOEXPEXPBOUND
BUFTOOSMLBUGCHECKBUGCHKBUGCHKDMPCABORT
CANTASSMBXCANTBINDRTCANTCLOSEDBCANTCONVERT
CANTCREDBRCANTCREGBLCANTCREMBXCANTCREMON
CANTCVRTCANTDELETECANTLCKTRMCANTMAPTROOT
CANTOPENDBCANTOPENINCANTQIOMBXCANTREADDB
CANTREADDBSCANTSNAPCANTSPAWNCANTWRITEDBS
CDDDEFERRCDDERRCHDBNOPARAMCHECKSUMCLOSERR
CMDINTRCMPBYINVWCNTSPNSUBCNVNUMDAT
COMPLEXCOMPNOTRANSCOMTOOLONCONALREXI
CONAMBIGCONCHAILLCONFATRSPECCONNOTDEF
CONVARDEFCONVARILLCONVARUNDCONVERR
CONVONLYCVT_PROCEEDDATCNVERRDATCONERR
DATNOTSUPDATTYPUNKDBACTIVEDBBUSYDBHANDUNK
DBHDLREQDBKNOTALLDBNAMEHVDBNOTACTIVE
DBNOTOPENDBNOTSPECDBRABORTEDDBSHUTDOWN
DB_CVT_FAILDB_CVT_SCSDB_HANDECDB_HANDEC2
DB_HANLONDB_NOTCVTDDALERRDEADLOCKDEGMODSPC
DELAREADELBACKUPDESCTOOBIGDUPFLDDEF
EMPTYAIJEMPTYFILEERRACCROOERRDETERREXTFIL
ERRFILSIZERRFMTFILERRFOREIGNERRMODEOF
ERROPENINERROPENOUTERROPNOUTERRPARSFIL
ERRREADERRREADINGERRRUJFILERRTRUNFILERRWRITE
ERRWRITINGEXPCV_DOTEXQUOTAEXTNOTSUP
EXTRADATAFETNOTDONFIELD_EXISTSFIENOTALL
FIENOTRENFIENOTSEGFILACCERRFLDAMBIGFLDNOTBCK
FLDNOTCRSFLDNOTDEFFLDNOTINRELFLDNOTREFD
FLUINPBUFGARBLEDHOWCHANOTILLBEGINILLCHARILLNCHAR
IMP_IDX_CONFLICTIMP_IDX_TWICEIMP_STO_CONFLICTIMP_STO_MAP_CONFLICT
IMP_STO_MAP_TWICEIMP_STO_TWICEINDEXTSINTEGDBDIF
INTEGFRFAILINTONOTALWINTSYNERRINVCHAINP
INVCHANUMSTRINVCONSINVDBSFILINVFLDINVHEADER
INVINDEXINVNOTDONINVRELVIEWINVSEGSTRATR
INV_ROOTIOERRORJUNONLINLANFILEXTLCKCNFLCTLENMISMAT
LHSNOTDBNLHSNOTVARLOGAIJBCKLOGRECOVR
LOGRECSTATLOOK_FORLOOK_FOR_CONLOOK_FOR_FIN
LOOK_FOR_STTLOOK_FOR_UNTERMMAXFLDPRTSTRMAXNESEXC
MAXRELEXCMAXVOLLABEXCMISMMORDDMONMBXOPN
MONSTOPPEDMULSPECATRMUSINVPATHMUSTRECDB
MVRELABSNTNOAGGALLNOAIJDEFNOANYALLNOBCKFILNOBCKTRNS
NOCDDNOCDDUPDATNOCHARNOCMPBYRESNOCONRES
NOCREMBXNODATRESNODBHALWNODBHANNODBK
NODBKALLNODBNAMENODEVDIRNODUPLIVIEWNOFLDRES
NOFSTINREPTNOIDXRESNOITEMDEFNOMAPRESNOMLTIMV
NOMLTIMVIEWNOMONITORNOMVRALLNOMVVROL
NONODENOPRECOMPSELNOPRIVNOPRVMVIEWNOPRVMVREL
NOPRVREPLINOPRVROLMVRNOREDINREPTNORELRES
NOREMVERNOREQHANNORTUPBNOSEGSTRAREA
NOSELALLNOSIPNOSNAPSNOSORTINREPTNOSUPREPLI
NOTAVIEWNOTBOOLNOTDSKFILNOTENUFHVNOTEXPSEG
NOTFOUNDNOTIMPLYETNOTIPNOTRANAPPNOTREQSTA
NOTROOTNOTSEGSTRNOTSYSCONCEALNOT_BOUND
NOT_INSTALLEDNOT_READYNOT_UPDATENOUPDCOMP
NOVIERESNOVIEWALWNOVIEWINREPTNOWILDNO_CROSEG
NO_FILFNDNO_FIRSEGNO_MORSEGNO_PERBLO
NO_REDSEGNO_SORSEGNO_SUCH_FIELDNO_TXNOUT
NO_WITSEGNULLNOINDONLFIRVARONLONEDBONLONERED
ONLONEREQONLONESORONLONETRAONLONETRN
ONLONEWITONLYONEPSECTOPENERROPERCLOSE
OPERSHUTDNOPRSTK_OVRFLOOVERFLOWPARSE_STACK_OVERFLOW
PATHREQCDDPREMATURE_EOFPREMEOFQIOXFRLEN
QUIETPTREANOWRTREFSEGSTRRELAMBIGRELNOTDEF
REL_EXISTSREMNOTALWRESABORTRESERVED_WORD
RESTARTRETMODSPCROOMAJVERROOTMAJVER
RSENOTSEGRTOCMDILLRUJDEVDIRSCALEOPSBASIC
SEGALRSTASEGNOTSTASEGOUTSCOSEGSTREXP
SELMORVALSETWIDTHSEVERRDETSFDBONLYSIP
SNAPFULLSPACREQSSNOTINROOTSTALLSTAREAFUL
STARNOTALLSTOCONVARSTOMAP_LITSSTRALRDEC
STRALROPESTRLITMISQUOSTRNOTDECSTRNOTOPE
STROUTSCOSYM_EXPSYNTAX_ERRTADMISMATCH
TERMINATETOKTOOBIGTOOBIGBLRTRAACT
TRAACT_1TRAACT_2TRAACT_3TRAHDLBVALTRAHDLINV
TRAMODSPCTRANONERR1TRANONERR2TRAN_IN_PROG
TREE_OVRFLOTRUETRUNCATIONUNBTMPFIL
UNDERFLOWUNLCONVARUNSARITHUNSCOMPUNSCOMPBY
UNSCONVUNSDSCCLAUNSSTRXPRUNSSUPDAT
UNTSTRUSINGNOTSPECVEWNOTDEFWAIMODSPC
WASBOOLWISH_LISTZABORT
ACCVIO
access violation on read/write of user address Explanation: A readable parameter is not readable by the DBCS or a writeable parameter is not writeable by the DBCS. User Action: Pass good parameters to the DBCS.
ACENOTFND
no matching access control entry found Explanation: In a protection statement that refers to an existing access control entry, there was no existing entry that matched the input. User Action: Use SHOW PROTECTION to see what the ACL currently looks like, and correct your statement.
AGGNOTALL
aggregate expressions are not allowed in VALID IF expressions Explanation: You entered a VALID IF expression that contained something other than an operator, literal value, or the field name. User Action: Check the Rdb/VMS Reference Manual for details on VALID IF.
AIJDEVDIR
AIJ file name does not include device and directory Explanation: The file you specified did not include a device and directory. User Action: You should always include a device and directory in the file specification, preferably different from the database device for maximum protection.
AIJDISABLED
after-image journaling must be enabled for backup Explanation: You attempted to back up an after-image journal file for a database that has after-image journaling disabled. User Action: Enable after-image journaling for your database and try the backup again at some later time.
AIJENABLED
after-image journaling must be disabled during recovery Explanation: You attempted to recover your database using an after-image journal file, but the database still has after-image journaling enabled. User Action: Disable after-image journaling for your database and try the recovery again. After recovery has completed, you can enable after-image journaling again.
AMB_KEYWORD
ambiguous keyword abbreviation Explanation: You used an ambiguous abbreviation. User Action: Specify the entire keyword.
ANODBHAND
another database has been invoked with the same db_handle name <str> Explanation: You specified in the INVOKE statement the same name for the db_handle as in a previous INVOKE statement. User Action: Reenter the INVOKE statement with a different db_handle name.
ANYNOTALL
ANY and UNIQUE are not allowed in a VALID IF expression Explanation: You entered a VALID IF expression containing something other than an operator, literal value, or field name. User Action: Check the VAX Rdb/VMS Reference Manual for details on VALID IF.
AREABUSY
usage of storage area <str> conflicts with a co-user Explanation: You attempted to ready an area that is already being accessed by another user, and that usage mode is incompatible with the usage mode you requested. User Action: Wait until the storage area you requested is available, and try again, or ready the area with the WAIT option.
AREA_CORRUPT
storage area <str> is corrupt Explanation: The storage area has been corrupted by an abnormal termination of a BATCH UPDATE run unit. It cannot be readied. User Action: Either try to fix the problem by verifying the area and then altering the corrupt pages or reload/restore the area.
AREA_INCONSIST
storage area <str> is inconsistent Explanation: The storage area has been marked inconsistent with the rest of the database. It cannot be readied. User Action: Recover the area to make it consistent.
ARIEXPEXP
an arithmetic expression was expected Explanation: An arithmetic expression was expected in the current context. A Boolean expression was found. User Action: You must use an arithmetic expression in this context.
ATTMISSING
invalid or missing attributes Explanation: Internal error -- a required attribute (such as the data type in a GLOBAL FIELD clump) is missing. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BACKCONV
please backup your database and use the RMU/CONVERT command Explanation: The database has an obsolete root file and must be converted. User Action: The database must be converted. First make a backup copy. Then use the RMU/CONVERT command.
BADADJLOCKGRAN
ADJUSTABLE LOCK GRANULARITY clause is not allowed in the DEFINE TRANSFER statment. Explanation: You have specified an ADJUSTABLE LOCK GRANULARITY clause as an attribute for the target database in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the ADJUSTABLE LOCK GRANULARITY clause.
BADAIJFILE
illegal after-image journal format Explanation: The file you specified is not an after-image journal file. User Action: Check the file name and try again.
BADAIJVER
after-image journal version is incompatible with the DBCS Explanation: Your after-image journal file was created with an incompatible version of the software. User Action: Your after-image journal file cannot be used with the version of the software you have installed on your machine.
BADASCTOID
"<str>" is not a valid user identifier Explanation: An error occurred when accessing the rights database to translate an identifier name to a binary identifier. User Action: See the secondary error message and supply a valid user identifier.
BADBLOB
unable to IMPORT segmented string Explanation: Error from Rdb$CREATE_SEGMENTED_STRING. See the following message for more information. User Action: If the nature of the problem is not obvious, submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BADBNDPRM
bad bind parameter <str> value "<str>" Explanation: The logical bind parameter value is invalid. User Action: See the secondary error message for more information.
BADBOUNDS
value not in range <num> to <num> Explanation: The value of the translated logical name is not in the range of acceptable values. User Action: Delete the logical name, or redefine it with a value in the acceptable range.
BADCLUMP
invalid clump type encountered Explanation: Internal error - bad data in the Rdb/VMS interchange file (.RBR). User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BADCORATT
invalid core attribute <num>, <num> in .RBR file Explanation: Internal error - bad data in the Rdb/VMS interchange file (.RBR). User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
BADDATDEF
illegal default format for date string Explanation: The logical name, SYS$DATE_INPUT, represents the default format for a date string. It is a three character field (MDY,DMY, etc.) with M = month, D = day, and Y = year. User Action: Redefine the logical name with a legal date string format.
BADDBNAME
can't find database root <str> Explanation: The database root file you specified could not be accessed. User Action: Examine the associated messages to determine the reason for failure.
BADEPILOGUE
only one epilogue file clause can be specified per transfer Explanation: You specified more than one epilogue file clause in the DEFINE TRANSFER statement. This is not permitted. User Action: Reenter the DEFINE TRANSFER statement, specifying only one EPILOGUE IS or NOEPILOGUE clause.
BADFILEVER
incompatible .RBR file type Explanation: This version of RDO cannot import a database from this Rdb/VMS interchange file (.RBR). User Action: Use a version of RDO that corresponds to the version of RDO that created this file.
BADFILTYP
database file must have extension "<str>" Explanation: All database files must have the specified file type. User Action: You might be attempting to access a nondatabase file. If not, rename or copy the database file to have the proper type.
BADFLDTYP
field <str> of target relation <str> has conflicting field types Explanation: In a DEFINE TRANSFER statement of EXTRACTION ROLLUP transfer, you have entered MOVE RELATION clauses with the same target relation name but specified fields with same names but of different data types in the source databases. User Action: Reenter the DEFINE TRANSFER statement by specifying the fields of same datatype in all the MOVE RELATION clauses with the same target relation .
BADINTERVAL
INTERVAL clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified an INTERVAL clause as an attribute for the target datbase in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the INTERVAL clause.
BADLOGFILE
only one log file clause can be specified per transfer Explanation: You specified more than one log file clause in the DEFINE TRANSFER statement. This is not permitted. User Action: Reenter the DEFINE TRANSFER statement, specifying only one LOG FILE IS or NOLOG clause.
BADLOGNAM
invalid log file name Explanation: You entered an invalid log file name. User Action: Refer to the explanation in the user action section of the secondary error message.
BADMETNAM
metadata names must end in A - Z or 0 - 9 Explanation: The name given in a DML or DDL statement ended in a dollar sign or an underscore. These symbols are not allowed. User Action: Specify a valid name.
BADMVIEWFLD
field <str> of relation <str> must be moved for view <str> Explanation: You attempted to transfer a view without transferring a field to which the view refers. You must also explicitly transfer in the DEFINE TRANSFER statement all relevant fields of relations to which the view refers. User Action: Reenter the DEFINE TRANSFER statement, adding the required field to the appropriate MOVE RELATION clause.
BADMVIEWREL
underlying relation <str> of view <str> must also be moved Explanation: You attempted to transfer a view without transferring the relations to which the view refers. You must explicitly transfer the relations to which the view refers in the DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement adding the required MOVE RELATION clause.
BADMVIEWVEW
underlying view <str> of view <str> must also be moved Explanation: You attempted to transfer a view without transferring other views that underlie the view you want to transfer. You must explicitly transfer the views to which the view refers in the DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement adding the required views to the MOVE VIEW clause.
BADMVRELS
move-relations-clause is allowed only once in DEFINE TRANSFER Explanation: You specified more than one move-relations-clause in a DEFINE TRANSFER statement. Possibly you did not separate the MOVE RELATION clauses with semicolons. User Action: When you use a DEFINE TRANSFER statement, group all the MOVE RELATION clauses together and separate them with semicolons.
BADMVVIEWS
move-views-clause is allowed only once in DEFINE TRANSFER Explanation: You entered more than one move-views-clause in a DEFINE TRANSFER statement. Only one move-views-clause is allowed in a DEFINE TRANSFER statement. User Action: Combine all MOVE VIEWS clauses into one list and separate the view names with commas.
BADPAGEFORMAT
PAGE FORMAT clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified a PAGE FORMAT clause as an attribute for the target database in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the PAGE FORMAT clause.
BADPROLOGUE
only one prologue file clause can be specified per transfer Explanation: You specified more than one prologue file clause in the DEFINE TRANSFER statement. This is not permitted. User Action: Reenter the DEFINE TRANSFER statement, specifying only one PROLOGUE IS or NOPROLOGUE clause.
BADRECBUF
NUMBER OF RECOVERY BUFFERS clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified the NUMBER OF RECOVERY BUFFERS clause as an attribute for the target database in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the NUMBER OF RECOVERY BUFFERS clause.
BADROLMVFLD
MOVE RELATION clauses of target relation <str> have different fields Explanation: In a DEFINE TRANSFER statement of EXTRACTION ROLLUP transfer, you have entered MOVE RELATION clauses with the same target relation name but specified different set of fields ineach clause. User Action: Reenter the DEFINE TRANSFER statement by specifying the same set of fields in all the MOVE RELATION clauses with the same target relation .
BADROOTMATCH
root file "<str>" no longer has its original name "<str>" Explanation: The current root filename does not match the name the used when the root file was created. This could happen if you copied or renamed the root file, or if the file was created using a concealed logical device name and that logical name is no longer defined. User Action: Rename or copy the root file back to its original name or location, or redefine the necessary concealed logical device name in the system logical name table.
BADSNAPFILENAME
SNAPSHOT_FILENAME clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified a SNAPSHOT_FILENAME clause as an attribute for the target database in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the SNAPSHOT_FILENAME clause.
BADTHRESHOLD
THRESHOLDS clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified a THRESHOLDS clause as an attribute for the target database in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the THRESHOLDS clause.
BADVAXCLUSNODES
NUMBER OF VAXCLUSTER NODES clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified a NUMBER OF VAXCLUSTER NODES clause as an attribute for the target database in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement without the NUMBER OF VAXCLUSTER NODES clause.
BAD_END_NAME
the name in END <str> does not match item name <str> Explanation: The name given in an END <name> <structure> (for example, END name RELATION) does not match the name given to the item (DEFINE RELATION name). User Action: Specify the same item name.
BAD_NAME
identifiers and names may not exceed 31 characters in length Explanation: The name given in a DML/DDL statement was longer than the permitted limit. User Action: For data definition statements, specify a shorter name. For data manipulation statements, consult your database design specifications to find the correct name.
BDDATRANG
day, month, or year field in date string out of range Explanation: The month field must be between 1 and 12 inclusive. The day field must be between 1 and 31 inclusive. The year field must be between 0 and 3000 inclusive. User Action: Reenter the DATE data item with the error corrected.
BKUPEMPTYAIJ
after-image journal file is empty Explanation: An attempt was made to backup an empty after image journal file. User Action: Be sure the correct after image journal file was specified.
BOOEXPEXP
a Boolean expression was expected Explanation: Either a numeric or string expression was found where a Boolean expression was expected. User Action: You must use a Boolean expression in this context.
BOUND
multiple binds are not allowed Explanation: You are already bound to a database. You can only be bound to one database at a time for a given stream. User Action: You can execute an UNBIND statement and try the BIND again, or use the multiple stream feature to bind to a database on another stream.
BUFTOOSML
buffer size (<num>) is smaller than largest page (<num>) Explanation: The buffer size must be large enough to accommodate the largest page size within the database. User Action: Specify a buffer size at least as large as the message indicates.
BUGCHECK
fatal, unexpected error detected Explanation: A fatal, unexpected error was detected by the database management system. User Action: Please submit an SPR (and include any bugcheck dump files).
BUGCHK
there has been a fatal error; please submit an SPR; no dump was produced Explanation: A fatal error has occurred. User Action: Submit an SPR with information about the circumstances under which the bug occurred. Note that RDO$_BUGCHECKs do not produce dumps as RDB$_BUGCHECKs do.
BUGCHKDMP
generating bugcheck dump file <str> Explanation: The database management system has detected a fatal, unexpected error, and is writing a bugcheck dump file with the specified file name. User Action: Please send this bugcheck dump file to your software specialist, along with any other related programs or data.
CABORT
user entered Control-C to abort command Explanation: You entered a CTRL/C to abort the current command. User Action: None.
CANTASSMBX
error assigning a channel to a mailbox Explanation: An error occurred while you attempted to assign a channel to a VMS mailbox. User Action: Examine the secondary message for more information.
CANTBINDRT
error mapping database root file Explanation: An error occurred while mapping to the database root file. User Action: Examine the associated messages to determine the reason for failure.
CANTCLOSEDB
database could not be closed as requested Explanation: The database monitor detected an error while attempting to close the database you specified. User Action: Examine the secondary message(s) or look in the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
CANTCONVERT
CONVERT command may be not issued, use RMU/CONVERT Explanation:
CANTCREDBR
error creating database recovery process Explanation: An error occurred while you attempted to create a detached database recovery process. User Action: Examine the secondary message(s) or look in the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
CANTCREGBL
error creating and mapping database global section Explanation: There was an error while you attempted to create a map to the database global section. User Action: Examine the secondary message(s) for more information.
CANTCREMBX
cannot create mailbox Explanation: An error occurred while you attempted to create a mailbox. Mailboxes are used for interprocess communication by the database management system. User Action: Examine the associated messages to determine the reason for failure. Usually, you will have to change one of your quotas (most likely, the buffered I/O byte count quota or the open file quota).
CANTCREMON
unable to start database monitor process Explanation: An error occurred while you attempted to start the database monitor process. This is a detached process. User Action: Examine the secondary message(s) to determine the reason for the failure.
CANTCVRT
cannot convert this database version Explanation: Your database is not recognized as one which can be converted. User Action: Either the database being converted has already been converted, is too old to be converted, or is not a database. You should check your backups.
CANTDELETE
error deleting "<str>" Explanation: An error occurred while you attempted to delete the indicated file. You must be able to change the protection on a file in order to delete it. User Action: Examine the associated messages to determine the reason for failure.
CANTLCKTRM
database monitor error establishing termination lock Explanation: The database monitor was unable to assert a request on the user's image termination lock. The user's image might already have terminated before the monitor received the request. User Action: Examine the secondary message(s) for more information.
CANTMAPTROOT
error mapping to the troot section Explanation: An error occurred while mapping to the shared database page-file section. User Action: Examine the associated messages to determine the reason for failure.
CANTOPENDB
database could not be opened as requested Explanation: The database monitor detected an error while attempting to open the database you specified. User Action: Examine the secondary message(s) or look in the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
CANTOPENIN
error opening input file <str> Explanation: An error occurred while opening the input file. User Action: Examine the associated messages to determine the reason for failure.
CANTQIOMBX
unable to send mail to a mailbox Explanation: An error occurred while you attempted to send mail to a mailbox. User Action: Examine the secondary message(s) to determine the reason for the failure.
CANTREADDB
error opening or reading database file Explanation: There was an error while you attempted to open or read from the database file. User Action: Examine the secondary message(s) for more information.
CANTREADDBS
error reading pages <num>:<num>-<num> Explanation: An error occurred while you attempted to read one or more database pages. The message indicates the storage area ID number and the page numbers of the first and last pages being read. User Action: Examine the associated messages to determine the reason for failure.
CANTSNAP
can't ready storage area <str> for snapshots Explanation: Snapshots were last enabled for this area by a transaction that had not committed before the snapshot started. Information to materialize the snapshot is not present. User Action: Restart the snapshot transaction. If failure of a snapshot transaction is critical, you should ready all areas before doing any retrievals.
CANTSPAWN
error spawning subprocess Explanation: An error occurred while you attempted to spawn a subprocess. User Action: Examine the secondary message for more information.
CANTWRITEDBS
error writing pages <num>:<num>-<num> Explanation: An error occurred while you attempted to write one or more database pages. The message indicates the storage area ID number and the page numbers of the first and last pages being written. User Action: Examine the associated messages to determine the reason for failure.
CDDDEFERR
Unable to update or read the CDD default path Explanation: An error occurred updating or reading the CDD default path. User Action: Check the CDD message that follows for more details.
CDDERR
error occurred during CDD signin, CDD will not be used Explanation: An error occurred during signin. Refer to the CDD manual for more information. User Action: Check the CDD message that follows for more details.
CHDBNOPARAM
command CHANGE DATABASE included no parameters
Explanation: User entered CHANGE DATABASE {PATH | NAME} db_name
without entering any parameters to change.
User Action: Specify what you intend to change on a CHANGE
DATABASE command.
CHECKSUM
checksum error - computed <num>, page contained <num> Explanation: The computed checksum for the database page disagreed with the checksum actually stored on the page. This usually is caused by a hardware problem. User Action: None.
CLOSERR
error detected when closing .RBR file Explanation: See the message that follows for details. User Action: In the absence of other error messages, the database has probably been imported successfully.
CMDINTR
this statement is not allowed in a transaction Explanation: You entered a statement that cannot be used when a transaction is outstanding. User Action: Commit or rollback the transaction and try the statement again.
CMPBYINVW
view <str> cannot be transferred Explanation: In a DEFINE TRANSFER statement, you are attempting to move a view which references a COMPUTED_BY field which contains an unsupported value expression. User Action: Reenter the DEFINE TRANSFER statement and omit the view that contains the COMPUTED_BY field that uses the unsupported value expression. Refer to the DEFINE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported for a COMPUTED_BY field.
CNTSPNSUB
cannot spawn subprocess Explanation: The preprocessor was unable to spawn a subprocess to compile the program. User Action: Read the next message and determine what to do.
CNVNUMDAT
cannot convert number to a date string Explanation: A quadword DATE data type is not in the correct form to be converted to a text string. User Action: Reenter the DATE data item in the correct format.
COMPLEX
data conversion error on complex data type Explanation: There would have been loss of information on a complex data type conversion. The operation was not performed. User Action: Enter another value.
COMPNOTRANS
<str> in relation <str> will not be transferred Explanation: You entered a SELECT FIELDS ALL clause in the DEFINE TRANSFER statement to move a relation that contains a COMPUTED_BY field using a value expression that is unsupported. The DEFINE TRANSFER statement is accepted with all the fields of this MOVE RELATION clause except the specified COMPUTED_BY field that is unsupported. User Action: Refer to the DEFINE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported.
COMTOOLON
command line longer than <num> character maximum Explanation: You typed a command line longer than the current maximum line length. User Action: Break up the command line with continuation lines. There is no practical limit on the total length of all continuation lines in a single command.
CONALREXI
constraint <str> already exists in this database Explanation: You requested that a constraint be named with the name of an existing constraint. User Action: Choose a different name.
CONAMBIG
the constraint <str> was not qualified and is in multiple databases Explanation: You must qualify the constraint with database handles when accessing more than one database containing that constraint. User Action: Make sure the INVOKE statements include qualifiers, and retype the query using the appropriate qualifier.
CONCHAILL
cannot begin program with continuation character Explanation: Apparently the COBOL program starts with a continuation character. User Action: Correct the source text and resubmit the job.
CONFATRSPEC
conflicting or contradictory attributes specified Explanation: You specified attributes which cannot be used together. Because Rdb/VMS cannot determine which attribute to use, it rejects the command. User Action: Respecify the DDL without the redundant clauses.
CONNOTDEF
constraint <str> is not defined in database Explanation: The specified constraint does not exist in the current database. User Action: Invoke the correct database. Check the constraint name for correct spelling. Check the constraint definition to make sure you did not specify a term where the constraint name was expected.
CONVARDEF
context variable <str> is already defined Explanation: The current statement attempts to define an existing context variable such as the P in OPEN IN STREAM S FOR P IN PORT. However, the context variable has already been defined in another RSE. User Action: Use another context variable, or close the stream in which the context variable is defined.
CONVARILL
cannot use the context variable, <str>, declared in the store Explanation: A context variable was used in a STORE statement that was the same as the one declared in the STORE RSE. Example: STORE J IN PORT USING J.CITY = J.COUNTRY END_STORE User Action: Change the command to include the correct context variable.
CONVARUND
context variable <str> is not defined Explanation: The current statement attempts to use a context variable that is not defined in a current RSE. You may have closed the stream in which the context variable was defined. User Action: Use the context variable within a FOR loop, OPEN STREAM loop, or aggregate expression.
CONVERR
data conversion error Explanation: The database management system was unable to convert the data item from one datatype to another. User Action: Enter another value.
CONVONLY
only a CONVERT command may be issued Explanation:
CVT_PROCEED
convert proceeding Explanation: You issued a CONVERT command and the conversion is underway. User Action: Wait a moment.
DATCNVERR
conversion error in date string Explanation: The date string is not in one of the legal formats. As a result, it cannot be converted to the DATE data type. User Action: Reenter the DATE data item in one of the correct formats.
DATCONERR
data conversion error Explanation: An error occurred during data conversion. Refer to next message. User Action: The secondary message should clarify the problem.
DATNOTSUP
date data type not supported in this context Explanation: The output of a date value to the language file is not supported. Example: HV = rdb$missing(date field). User Action: Do not use dates in this manner.
DATTYPUNK
datatype unknown. Expression cannot use only host variables Explanation: An assignment or a Boolean expression must have at least one database field or literal. User Action: You must use a database variable or literal in the expression.
DBACTIVE
database is already being used Explanation: You attempted to open a database that is already being used. You can only open a database that is not being accessed. User Action: Wait for all users to finish using the database, or force the users off by closing the database.
DBBUSY
database is busy - try again later Explanation: You attempted to access a database that is shut down. User Action: Wait for the database to become available, and try again.
DBHANDUNK
no DATABASE command specified a handle of <str> Explanation: You specified an unknown database handle in a context variable table definition. User Action: Check the query and the INVOKE statement to make sure they match.
DBHDLREQ
db handle should be specified for EXTRACTION ROLLUP transfers Explanation: In a DEFINE TRANSFER statement of EXTRATION ROLLUP transfer , you are attempting to move a relation without specifying the database handle of the source database. User Action: Reenter the DEFINE TRANSFER statement by specifying the database handle of the source database for eaach of the move-relation-clause's.
DBKNOTALL
DB key references are not allowed in VALID IF expressions Explanation: You entered a VALID IF expression that did not contain an operator, literal value, or field name. User Action: Check the VAX Rdb/VMS Reference Manual for details on VALID IF.
DBNAMEHV
a database name is not allowed in a qualified host variable Explanation: You cannot use a database field name to qualify a host variable. For example, you cannot have the following expression: FOR E IN EMPLOYEES WITH E.EMPLOYEE_ID = HOST_VAR(E.EMPLOYEE_ID) ~.~.~. User Action: Use an additional GET statement to assign the value of the database field to another host variable and use that host variable to qualify the first host variable. For example, FOR E IN EMPLOYEES GET HOST-VAR-2 = E.EMPLOYEE_ID FOR E1 IN EMPLOYEES WITH E.EMPLOYEE_ID = HOST-VAR(HOST-VAR-2) ~.~.~. END_FOR END_FOR
DBNOTACTIVE
database is not being used Explanation: You attempted to close a database that is not open. User Action: There is no need to close the database - it is already closed.
DBNOTOPEN
database is not open for access Explanation: The database must be opened to allow users to access it. User Action: Open the database and try again.
DBNOTSPEC
db handle not specified for segmented string creation Explanation: A CREATE_SEG was done with more than one database invoked. You did not specify in which database the segmented string was to be created. User Action: Add a database handle to the segment handle.
DBRABORTED
database recovery process terminated abnormally Explanation: A detached database recovery process failed to recover a transaction. User Action: Examine the database monitor log file and any SYS$SYSTEM:*DBRBUG.DMP bugcheck dump files for more information.
DBSHUTDOWN
database shutdown is in progress Explanation: The request you made could not be completed because the database is being shut down. User Action: Examine the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
DB_CVT_FAIL
database conversion failed Explanation: You issued a CONVERT command and the conversion has failed. User Action: Accompanying messages should indicate further action. The conversion process will have left the database in an inconsistent state so you will have to restore a copy of the database from the backup media and retry the CONVERT command on the restored copy of the database.
DB_CVT_SCS
database !AC successfully converted from version !UL.!UL to !UL.!UL Explanation: You issued a CONVERT command and the conversion has completed. User Action: None.
DB_HANDEC
handle already declared Explanation: You declared a database handle through ACMS. This interferes with defining a handle through the interpreter. User Action: You should not specify another handle.
DB_HANDEC2
handle already declared Explanation: You declared a database handle through ACMS. This interferes with defining a handle through the interpreter. This also interferes with declaring multiple database handles. User Action: You should not specify another handle.
DB_HANLON
the DB handle must be a longword Explanation: Database handles that are passed to RDB$INTERPRET must be longwords passed by descriptor. User Action: Define the database handle to be a longword. Examples: For COBOL: 01 DBHANDLE PIC S9(9) COMP. For FORTRAN: INTEGER*4 DBHANDLE. For BASIC: LONG DBHANDLE.
DB_NOTCVT
database not converted Explanation: You issued a convert command and the conversion was not attempted. User Action: You should correct the problem and retry the convert.
DDALERR
VAX Data Distributor fatal error Explanation: You entered a VAX Data Distributor statement which failed. User Action: Refer to the explanation in the user action section of the secondary error message.
DEADLOCK
deadlock on <str> Explanation: The operation you attempted has been forbidden by the database management system because it would have led to a system deadlock. User Action: Execute a ROLLBACK or a COMMIT to release your locks, and try the transaction again.
DEGMODSPC
only one degree mode may be specified for a transaction Explanation: You specified two degree modes (consistency or concurrency) in a START_TRANSACTION statement. User Action: Specify one degree mode in your START_TRANSACTION statement.
DELAREA
area <str> was previously deleted Explanation: An attempt was made to ready an area which was previously deleted.
DELBACKUP
EXPORT errors, interchange file deleted Explanation: The EXPORT that you were performing could not be successfully completed. User Action: Determine why the EXPORT failed and correct that situation.
DESCTOOBIG
the description clause's maximum length is !UL Explanation: Rdb/VMS currently has a limit for a description clause size. User Action: Use a shorter description clause.
DUPFLDDEF
field <str> has different definitions in relations <str> and <str> Explanation: In a DEFINE TRANSFER statement of EXTRACTION ROLLUP transfer, you are attempting to move a field which has more than one definition on to the target database. User Action: Reenter the DEFINE TRANSFER statement by including only one definition of the above mentioned field or by changing all the definitions of this field into same type.
EMPTYAIJ
after-image journal file is empty Explanation: A recovery operation was attempted on an empty after-image journal file, or the UNTIL time predates any journaled transactions. The former can happen if no transactions were initiated while after-image journaling was in progress. User Action: Correct the error and try again.
EMPTYFILE
<str> file is empty Explanation: The file is empty. User Action: None.
ERRACCROO
error accessing database root file Explanation: An error occurred while opening a database file. User Action: Examine the secondary message for more information.
ERRDET
an error was detected Explanation: An "error level" (-E-) error condition was detected by RDO and returned to DCL during the execution of an RDO statement. User Action: If possible, run the statement(s) again in interactive RDO and read any additional RDO error messages to determine what caused the error condition. Then fix the error. Remember, in a DCL command procedure containing RDO statements, use the $SEVERITY symbol to test for RDO$_ERRDET.
ERREXTFIL
error extending file Explanation: An error occurred while extending a file. User Action: Examine the secondary message for more information.
ERRFILSIZ
error determining size of file Explanation: An error occurred while accessing a file to retrieve the record attributes, in order to determine the physical size of the file. User Action: Examine the secondary message for more information.
ERRFMTFIL
error formatting output file Explanation: An error occurred while formatting an output file. User Action: Examine the secondary message for more information.
ERRFOREIGN
error opening foreign command file as input Explanation: An error occurred while reading a foreign command file. User Action: Examine the secondary message for more information.
ERRMODEOF
error extending or truncating file Explanation: An error occurred while extending a file. User Action: Examine the secondary message for more information.
ERROPENIN
error opening <str> as input Explanation: An error occurred while opening an input file. User Action: Examine the secondary message for more information.
ERROPENOUT
error opening <str> as output Explanation: An error occurred while opening an output file. User Action: Examine the secondary message for more information.
ERROPNOUT
error opening <str> as output Explanation: An error occurred while opening an output file. User Action: Examine the secondary message for more information.
ERRPARSFIL
error parsing file <str> Explanation: An error occurred while parsing a file name. User Action: Examine the secondary message for more information.
ERRREAD
error reading file Explanation: An error occurred while reading a file. User Action: Examine the secondary message for more information.
ERRREADING
error reading file <str> Explanation: An error occurred while reading a file. User Action: Examine the secondary message for more information.
ERRRUJFIL
error using recovery-unit file <str> Explanation: An error occurred while parsing a file name. User Action: Examine the secondary message for more information.
ERRTRUNFIL
error truncating file Explanation: An error occurred while truncating a file. User Action: Examine the secondary message for more information.
ERRWRITE
error writing file Explanation: An error occurred while writing a file. User Action: Examine the secondary message for more information.
ERRWRITING
error writing file <str> Explanation: An error occurred while reading a file. User Action: Examine the secondary message for more information.
EXPCV_DOT
expected context variable and dot, host variables not permitted here Explanation: You attempted to use a name where a variable or literal was required. The error message indicates that you probably forgot to type the context variable and a period before a field name, or you forgot to use quotation marks around a quoted string. User Action: Add a context variable and a period or use a literal.
EXQUOTA
exceeded quota Explanation: The image could not proceed because a resource quota or limit had been exceeded. User Action: The secondary error message describes the resource that was exceeded. If this occurs consistently, increase your quota.
EXTNOTSUP
EXTERNAL database handles are not supported for RDB$INTERPRET Explanation: External database handles are not supported for RDB$INTERPRET. Only LOCAL and the default database handle are supported. External database handles apply only to preprocessors that can declare variables for database handles. User Action: For database handles that must be accessed in multiple modules, use LOCAL. Otherwise, use the default database handle.
EXTRADATA
unexpected data at the end of the .RBR file Explanation: Internal error - found more data than expected in the Rdb/VMS interchange file (.RBR). User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
FETNOTDON
a fetch has not been done yet for stream <str> Explanation: You referenced a stream, but you did not issue a FETCH statement for that stream. User Action: Type FETCH <stream name>.
FIELD_EXISTS
field <str> already exists in this database Explanation: You requested that a field be named with the name of an existing field. User Action: Choose a different name.
FIENOTALL
field, <str>, is not allowed in the VALID IF expression for field <str> Explanation: You entered a field name in a VALID IF clause that does not match the name of the field being defined. User Action: Check the VAX Rdb/VMS Reference Manual for details on VALID IF, or use the name of the field you are defining.
FIENOTREN
field <str> cannot rename CDD field <str> Explanation: You requested that a field being defined from a CDD definition be named something other than the name of the CDD field. User Action: Respecify the field definition using the CDD field name.
FIENOTSEG
field, <str>, is not a segmented string Explanation: You attempted a START_SEGMENTED_STRING operation using a field that is not a segmented string. User Action: Use a segmented string field with the START_SEGMENTED_STRING statement.
FILACCERR
<str> Explanation: This general message indicates an error accessing a file. User Action: Examine the secondary message for more information.
FLDAMBIG
field <str> is not unique in previous relations in the CROSS Explanation: You specified a field that does not exist in the previous relations specified by the CROSS clause. User Action: The relation definition associated with the context variable does not include a definition for the specified field. You may have specified the wrong context variable with the field or mistyped the field name.
FLDNOTBCK
global field <str> not defined as specified Explanation: The base field for a local field is not defined. User Action: This is caused by an inconsistency in the database. Try to recover the missing global field.
FLDNOTCRS
field <str> was not found in previous relations in the CROSS Explanation: You specified a field that is not in the relations specified in the CROSS clause. User Action: The relation definition associated with the context variable did not include a definition for the specified field. You may have specified the wrong context variable with the field or mistyped the field name.
FLDNOTDEF
field <str> is not defined in relation <str> Explanation: You specified a field that does not exist in the named relation. User Action: The relation definition associated with the context variable did not include a definition for the specified field. You may have specified the wrong context variable with the field or mistyped the field name.
FLDNOTINREL
<str> is not a field in relation, <str> Explanation: The field you specified is not part of the named relation. User Action: Check the relation definition for the correct field name, or specify another relation.
FLDNOTREFD
defined field, <str>, is not used in VALID IF clause Explanation: You defined a field with a VALID IF clause that does not reference the defined field. User Action: Define the field again, and name that field in the VALID IF clause.
FLUINPBUF
indirect command file buffer flushed for Control C Explanation: You entered CTRL/C while executing an indirect command file. User Action: None.
GARBLED
interchange file is corrupt Explanation: Internal error - probably mismatched BEGIN and END clumps. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
HOWCHANOT
no attribute specified for command to change field !AC Explanation: You tried to change a field but did not specify any attribute to change. User Action: Specify an attribute to change.
ILLBEGIN
file <str> is corrupt or not an Rdb interchange file Explanation: IMPORT can recreate databases only from the Rdb/VMS interchange file (.RBR). This file is not an Rdb/VMS interchange file (.RBR). User Action: Retry the operation with the correct file name.
ILLCHAR
illegal character detected Explanation: An illegal character has been detected. User Action: Use only valid characters.
ILLNCHAR
illegal character found in numeric input Explanation: You specified a number containing a nonnumeric character. User Action: Correct the error and try again.
IMP_IDX_CONFLICT
DEFINE and DELETE INDEX <str> specified Explanation: You specified a DEFINE and DELETE INDEX using the same name. User Action: Specify either a DEFINE or a DELETE INDEX.
IMP_IDX_TWICE
DEFINE INDEX <str> specified twice Explanation: You specified a DEFINE INDEX twice using the same name. User Action: Specify a INDEX name only once.
IMP_STO_CONFLICT
DEFINE and DELETE STORAGE AREA <str> specified Explanation: You specified a DEFINE and DELETE STORAGE AREA using the same name. User Action: Specify a either a DEFINE or a DELETE STORAGE AREA.
IMP_STO_MAP_CONFLICT
DEFINE and DELETE STORAGE MAP <str> specified Explanation: You specified a DEFINE and DELETE STORAGE MAP using the same name. User Action: Specify either a DEFINE or a DELETE STORAGE AREA.
IMP_STO_MAP_TWICE
DEFINE STORAGE MAP <str> specified twice Explanation: You specified a DEFINE STORAGE MAP twice using the same name. User Action: Specify a STORAGE MAP name only once.
IMP_STO_TWICE
DEFINE STORAGE AREA <str> specified twice Explanation: You specified a DEFINE STORAGE AREA twice using the same name. User Action: Specify a STORAGE AREA name only once.
INDEXTS
there is another index named, <str>, in this database Explanation: The index name you tried to define already exists. User Action: Try another index name.
INTEGDBDIF
Database filespec must equate to filespec <str> recorded in CDD Explanation: The INTEGRATE database filespec and the filespec recorded with the dictionary database definitions found at the specified pathname refer to different databases. User Action: Reissue the command with a filespec that corresponds to the database referenced in the data dictionary, or with a different pathname.
INTEGFRFAIL
attempt to INTEGRATE FROM nonexistent CDD entity <str> Explanation: The data dictionary entity required for INTEGRATE FROM does not exist. User Action: Respecify a path that points to an existing data dictionary entity.
INTONOTALW
INTO RELATION clause is not allowed in this context Explanation: In a DEFINE TRANSFER statement of EXTRATION or REPLICATION transfer , you have specified an INTO RELATION clause . User Action: Reenter the DEFINE TRANSFER statement by not specifying INTO RELATION clause.
INTSYNERR
<str> <str> Explanation: This message is used by the interpreter to put the line with the syntax error into the message vector. User Action: Call RDB$SIGNAL and find the syntax error.
INVCHAINP
invalid character in input Explanation: The input contains an illegal or unrecognizable character. User Action: Correct the source text and resubmit the job.
INVCHANUMSTR
invalid character in numeric string Explanation: The string appears to be a numeric literal. However, it contains one or more illegal characters. User Action: Correct the source text and resubmit the job.
INVCONS
unable to IMPORT constraint <str> Explanation: Internal error - the named constraint will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error. In the meantime, you can redefine this constraint explicitly.
INVDBSFIL
inconsistent storage area file <str> Explanation: The indicated storage area file is inconsistent with the root file. This might happen if you have improperly used any unsupported methods for backing up or restoring files, for instance COPY or RENAME. This can also happen if you tried to use an old root file -- one whose storage area file names have been reused for another database. User Action: Restore the correct storage area file or delete the obsolete root file.
INVFLD
unable to IMPORT field <str> Explanation: Internal error - the named field will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
INVHEADER
invalid file header record Explanation: An invalid file header record was read from the file. User Action: Check the file specification and try again.
INVINDEX
unable to IMPORT index <str> Explanation: Internal error - the named index will not appear in the recreated database. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error. In the meantime, you can recreate this index explicitly.
INVNOTDON
no DATABASE invoked yet, please issue a DATABASE command Explanation: You must invoke a database before you issue an RDO statement. can be executed. User Action: Invoke the database, and then issue the RDO statement.
INVRELVIEW
unable to IMPORT relation or view <str> Explanation: Internal error - the named relation or view (and its data) has been lost. User Action: Submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
INVSEGSTRATR
invalid segmented string attribute Explanation: You specified a MISSING VALUE or VALID IF clause along with a segmented string data type. User Action: You should respecify the data definition statement without the MISSING VALUE or VALID IF clauses.
INV_ROOT
database file has illegal format Explanation: You attempted to use a file that is not a database file. User Action: Check the file specification and try again.
IOERROR
an unexpected I/O error occurred Explanation: Unable to read any more of the Rdb/VMS interchange file (.RBR); part of the database may be imported. User Action: Correct the problem indicated by the message that follows this message and retry the operation.
JUNONLIN
extraneous characters found after the end of the statement Explanation: You typed extra characters after the end of the statement. User Action: Check statement syntax for correct statement termination.
LANFILEXT
<str> is the language file extension, please use another
extension
Explanation: The input file type you specified to the
preprocessor is the same file type as the output file type.
User Action: Rename the file with the default file
specifications and run the preprocessor again. Refer to the
___ _______ _____ __
default file specifications in the VAX Rdb/VMS Guide to
___________
Programming.
LCKCNFLCT
lock conflict on <str> Explanation: The operation you attempted failed because another run unit is holding a lock in a mode that conflicts with the lock mode you needed. User Action: Wait for the other run unit to finish. Use ROLLBACK or COMMIT to release all your locks and retry the transaction, or specify that you want to wait on lock conflicts.
LENMISMAT
truncating right hand side string for assignment to field <str> Explanation: You executed a STORE or MODIFY statement, and the string on the right hand side of the equation is longer than the string on the left. User Action: The message is just a warning. You can issue a MODIFY statement to correct the store or a ROLLBACK statement to terminate the transaction.
LHSNOTDBN
the left hand side of the assignment expression is not a DB name Explanation: The left side of an assignment expression in a STORE or MODIFY statement must be a field name qualified by a context variable. Example: P.CITY User Action: Use a qualified database field name in the left side of an assignment expression.
LHSNOTVAR
the left hand side of the assignment expression is not a variable Explanation: The left side of an assignment expression in a GET command must be a host variable. For preprocessed statements, the variable must be a host language variable. For Callable RDO, the variable must be "!VAL". User Action: Use a host variable in the left side of an assignment expression.
LOGAIJBCK
backed up <num> committed transaction(s) at <time> Explanation: The specified number of committed transactions were successfully backed up from the after-image journal file. This count does not include transactions that rolled back.
LOGRECOVR
<num> transaction(s) <str> Explanation: Database recovery was successful. The specified number of transactions were re-applied to the database, ignored or rolled back. User Action: None.
LOGRECSTAT
transaction with TSN <num> <str> Explanation: During rollforward, this message is displayed every time a transaction is committed, rolled back, or ignored.
LOOK_FOR
syntax error, looking for <str>, found <str> instead Explanation: The syntax expected a specific keyword, but you entered another. User Action: Check the syntax and reenter the correct keyword.
LOOK_FOR_CON
<str> Explanation: This message is used for listing syntactically legitimate alternatives. User Action: Consider options from the list.
LOOK_FOR_FIN
found <str> instead Explanation: This terminates the list of syntactically valid alternatives and should give you an idea of what has happened. User Action: Reenter the statement, or use EDIT to correct it.
LOOK_FOR_STT
syntax error, looking for: Explanation: The syntax expected a list of things, list follows. User Action: Consider options from the list.
LOOK_FOR_UNTERM
syntax error, looking for <str>, found <str> instead Explanation: This is issued with a RDO-F-BUGCHK because it indicates that a severe error has occurred in the syntax tables. User Action: Record the exact command line as typed (use EDIT to write it to a file), and submit an SPR. Then consider finding a workaround.
MAXFLDPRTSTR
maximum number of fields in a print star relation is <num> Explanation: You used a PRINT <context variable>.* for a relation that has too many fields. User Action: Name the fields explicitly in the PRINT statement.
MAXNESEXC
maximum statement nesting level is exceeded Explanation: You exceeded the maximum nesting of FOR and START_STREAM statements. User Action: Reduce the nesting level.
MAXRELEXC
maximum number of relations in an RSE has been exceeded Explanation: You exceeded the maximum number of relations in an RSE. There are too many CROSS clauses. User Action: Reduce the number of CROSS expressions.
MAXVOLLABEXC
maximum size of volume label is <num> Explanation: You entered a name for a volume label that exceeds the limit for a journal file name. User Action: Choose a smaller name.
MISMMORDD
missing either month or day field in date string Explanation: The date string must contain the month and day field. If it does not, it will not be converted to the DATE data type. User Action: Reenter the DATE data item having both the month and day fields.
MONMBXOPN
monitor is already running Explanation: The monitor has already been started by another user. User Action: None.
MONSTOPPED
database monitor process is being shut down Explanation: The request you made could not be completed because the database monitor process is being shut down. User Action: Examine the database monitor log file (SYS$SYSTEM:*MON.LOG) for more information.
MULSPECATR
attribute is specified redundantly Explanation: You specified a field attribute more than once. Because Rdb/VMS cannot determine which attribute to use, it rejects it. User Action: Respecify the data definition statement without the redundant clauses.
MUSINVPATH
cannot DEFINE FROM CDD unless database invoked by pathname Explanation: You requested that a field or relation be defined from the CDD but no CDD has been attached via an INVOKE by PATHNAME. User Action: INVOKE the database by PATHNAME, then respecify the definition.
MUSTRECDB
database must be closed or recovered Explanation: The operation can be done only on databases that are closed and recovered. User Action: Use the CLOSE command if an OPEN was performed. Recovery, if required, can be forced by opening the database. If other users are accessing the database, you must wait for them to finish.
MVRELABSNT
no MOVE RELATION clause is specified in an EXTRACTION ROLLUP transfer Explanation: In a DEFINE TRANSFER statement of EXTRATION ROLLUP transfer , you have not specified any MOVE RELATION clause. User Action: Since MOVE RELATIONS ALL clause is not allowed in this context, you have to explicitly specify the MOVE RELATION clauses. Reenter the DEFINE TRANSFER statement by specifying the MOVE RELATION clauses explicitly.
NOAGGALL
aggregate expressions are not allowed in MOVE RELATION clauses Explanation: You entered a MOVE RELATION clause that contained an aggregate expression. Only an operator, literal value, or field name are allowed in a MOVE RELATION clause. User Action: Check the VAX Data Distributor Handbook or the VAX Rdb/VMS Reference Manual for details on the MOVE RELATION clause. Reenter the DEFINE TRANSFER statement with a correct MOVE RELATION clause.
NOAIJDEF
no default after-image filename available Explanation: A default after-image journal file name cannot be formed since no journal file name is presently in the database root. User Action: Enable after-image journaling and supply a name for the after-image journal.
NOANYALL
ANY and UNIQUE are not allowed in a MOVE RELATION clause Explanation: You entered a MOVE RELATION clause containing ANY or UNIQUE. Only an operator, literal value, or field name are allowed in a MOVE RELATION clause. User Action: Check the VAX Data Distributor Handbook or the VAX Rdb/VMS Reference Manual for details on the MOVE RELATION clause. Reenter the DEFINE TRANSFER statement with a correct MOVE RELATION clause.
NOBCKFIL
interchange file <str> not created Explanation: An error has occurred during creation of the interchange file. User Action: Follow actions directed by the corresponding RMS error.
NOBCKTRNS
you cannot EXPORT a database from within a transaction Explanation: You typed EXPORT from inside a transaction. User Action: End the transaction and try again.
NOCDD
there is no CDD on this system, specify a filename on the DATABASE command Explanation: Because there is no CDD running on this system, you cannot invoke a database using a path name. User Action: Invoke the database with the database file name.
NOCDDUPDAT
database invoked by filename, the CDD will not be updated Explanation: (In RDO or Rdb$INTERPRET) You issued a data definition statement after invoking by file name. User Action: This is a warning. You can roll back and invoke the database by specifying the path name. This ensures that data definitions are updated both in the data dictionary and in the database itself.
NOCHAR
no character after '' in pattern Explanation: A MATCH operation was in progress and the pattern was exhausted with the pattern quote character as the last character in the pattern. User Action: Rewrite the expression in error to have the proper format.
NOCMPBYRES
computed field !AC in relation !AC not IMPORTed Explanation: You specified a computed field in your database that could not be imported. Perhaps the field references other fields and relations that were deleted from the database by an older version of the software that would have permitted such a thing. User Action: You must investigate the problem further. The relation should have been properly imported except for the listed field.
NOCONRES
unable to IMPORT constraint <str> Explanation: Could not import this constraint -- see the message that follows. User Action: Correct the problem and retry the operation.
NOCREMBX
can't create mailbox Explanation: An error occurred while you attempted to create a mailbox. See the secondary message for more information. User Action: Correct the condition and try again.
NODATRES
remaining data for this relation will be ignored Explanation: An error occurred while you attempted to store the data; see the following message. User Action: Correct the problem and retry the operation.
NODBHALW
database handles are not allowed in a MOVE RELATION clause Explanation: You specified a database handle for the record selection expression (RSE) in a MOVE RELATION clause. Inside a MOVE RELATION clause, database handles are not allowed for the RSE. User Action: Reenter the DEFINE TRANSFER statement omitting the database handle name.
NODBHAN
A database handle may not be specified on this statement Explanation: You specified a database handle on a statement that does not use one. User Action: Remove the handle.
NODBK
<num>:<num>:<num> does not point to a data record Explanation: An attempt was made to fetch a record by its database key value, but the record has been deleted. User Action: Correct the condition and try again.
NODBKALL
database key references are not allowed in a MOVE RELATION clause Explanation: You entered a MOVE RELATION clause that contained a database key or a host variable. Only an operator, literal value, or field name are allowed in a MOVE RELATION clause. User Action: Check the VAX Data Distributor Handbook or the VAX Rdb/VMS Reference Manual for details on the MOVE RELATION clause. Reenter the DEFINE TRANSFER statement with a correct MOVE RELATION clause.
NODBNAME
a database name was not specified on a DATABASE command Explanation: You issued an INVOKE DATABASE statement that did not specify a database by file specification or data dictionary path name. User Action: Check the syntax of the INVOKE DATABASE statement.
NODEVDIR
!AC file name does not include device and directory Explanation: The file you specified did not include a device and directory. User Action: You should always include a device and directory in the file specification, preferably different from the database device for maximum protection.
NODUPLIVIEW
view <str> cannot be specified more than once in a transfer definition Explanation: You have specified a view name in both move-relations-clause and in move-views-clause. User Action: Reenter the DEFINE TRANSFER statement by specifying the view either in move-relations-clause or in move-views-clause but not in both.
NOFLDRES
unable to IMPORT field <str> Explanation: Could not import this field. See the following message. User Action: Correct the problem and retry the operation.
NOFSTINREPT
FIRST clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATIONS clause of a REPLICATION TRANSFER definition you have entered a FIRST clause . User Action: Reenter the DEFINE TRANSFER statement without the FIRST clause in the MOVE RELATIONS clause.
NOIDXRES
unable to IMPORT index <str> Explanation: Could not import this index. See the following message. User Action: Correct the problem and retry the operation.
NOITEMDEF
unable to define item from command line Explanation: Could not define an item from the command line. See the following message. User Action: Correct the problem and retry the operation.
NOMAPRES
unable to IMPORT storage map <str> Explanation: Could not import this storage map. See the following message. User Action: Correct the problem and retry the operation.
NOMLTIMV
attempt to move the relation <str> multiple times Explanation: You attempted to specify the same relation name more than once in the MOVE clause of a DEFINE TRANSFER statement. In a DEFINE TRANSFER statement, you can not move the same relation more than once. User Action: Reenter the DEFINE TRANSFER statement omitting the duplicate MOVE RELATION clause.
NOMLTIMVIEW
attempt to move the view <str> multiple times Explanation: You attempted to move the named view more than once in a DEFINE TRANSFER statement. This action is not permitted. User Action: Reenter the DEFINE TRANSFER statement, specifying each view only once.
NOMONITOR
database monitor is not running Explanation: The database monitor process is not running. User Action: Have your database administrator start the monitor, and try again.
NOMVRALL
MOVE RELATIONS ALL clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a DEFINE TRANSFER statement of EXTRATION ROLLUP transfer , you have specified MOVE RELATIONS ALL clause. User Action: Reenter the DEFINE TRANSFER statement by specifying each relation explicitly in a MOVE RELATION clause.
NOMVVROL
MOVE VIEWS clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a DEFINE TRANSFER statement of EXTRACTION ROLLUP transfer, you have specified a MOVE VIEWS clause. User Action: Reenter the DEFINE TRANSFER statement without the MOVE VIEWS clause.
NONODE
no node name is allowed in the file specification Explanation: A node name was found in the file specification. Node names cannot be used. User Action: Use a file name without a node specification.
NOPRECOMPSEL
no precompiler selected Explanation: You invoked the preprocessor without specifying the language option desired. User Action: Specify a switch or file type.
NOPRIV
no privilege for attempted operation Explanation: You attempted an operation that requires VMS privileges and you do not have those privileges enabled. User Action: Examine the secondary message for more information.
NOPRVMVIEW
insufficient privilege to transfer the view <str> Explanation: You attempted to transfer the named view without READ privilege on the view. You must have READ privilege on the view to be able to transfer the view in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement excluding the named view. Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements.
NOPRVMVREL
insufficient privilege to transfer the relation <str> Explanation: You specified a relation for which you do not have READ privilege. You must have READ privilege on the relation to transfer the relation in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement excluding the named relation. Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements. Also consult your database administrator.
NOPRVREPLI
insufficient privilege to define a replication transfer Explanation: You attempted to define a replication transfer without DEFINE privilege on the source database. To define a replication transfer, you must have DEFINE privilege on the source database. User Action: Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements. See your database administrator to obtain DEFINE privilege.
NOPRVROLMVR
insufficient privilege to transfer the relation <str>.<str> Explanation: You specified a relation for which you do not have READ privilege in the specified database. You must have READ privilege on the relation to transfer the relation in a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement excluding the named relation. Check the VAX Rdb/VMS Reference Manual for details on PROTECTION statements. Also consult your database administrator.
NOREDINREPT
REDUCE clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATIONS clause of a REPLICATION TRANSFER definition you have entered a REDUCE clause . User Action: Reenter the DEFINE TRANSFER statement without the REDUCE clause in the MOVE RELATIONS clause.
NORELRES
unable to IMPORT relation <str> Explanation: Could not import this relation. See the following message. User Action: Correct the problem and retry the operation.
NOREMVER
remote node or version number is not allowed in a log file name Explanation: You used a node name or a version number in the log file specification of a DEFINE TRANSFER statement. User Action: Reenter the DEFINE TRANSFER statement using a log file specification which contains neither a node name nor a version number.
NOREQHAN
a request handle may not be specified on this statement Explanation: You specified a request handle on a statement that does not use one. User Action: Remove the handle.
NORTUPB
no more user slots are available in the database Explanation: The maximum number of users are already accessing your database. User Action: Try again later.
NOSEGSTRAREA
segmented string storage area <str> is not defined Explanation: You specified a storage area in the SEGMENTED STRING STORAGE AREA clause that does not exist. User Action: Specify a storage area which is already defined in the DEFINE DATABASE statement.
NOSELALL
SELECT FIELDS ALL clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a DEFINE TRANSFER statement of EXTRATION ROLLUP transfer , you have specified SELECT FIELDS ALL clause. User Action: Reenter the DEFINE TRANSFER statement by specifying each field explicitly in the SELECT FIELDS clause.
NOSIP
transaction is not a snapshot transaction Explanation: You have already started a transaction that is not a snapshot transaction. User Action: Use COMMIT or ROLLBACK to terminate your current transaction. Use READY BATCH RETRIEVAL to start a new snapshot transaction.
NOSNAPS
snapshots are not allowed or not enabled for area <str> Explanation: Snapshots are not allowed or not enabled for this area. User Action: This is a normal situation created by the database definition or by a change or modify database command. Check with your DBA to make sure this situation is desirable.
NOSORTINREPT
SORT clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATIONS clause of a REPLICATION TRANSFER definition you have entered a SORT clause . User Action: Reenter the DEFINE TRANSFER statement without the SORT clause in the MOVE RELATIONS clause.
NOSUPREPLI
replication transfer is not supported for this source database Explanation: You attempted to define a replication transfer on a source database which is not an Rdb/VMS database. Replication transfers can be defined only for Rdb/VMS databases. For other databases you can define only extraction transfers. User Action: If your source database is not an Rdb/VMS database, define an extraction transfer.
NOTAVIEW
<str> is not a view Explanation: The name you specified in a MOVE VIEWS clause is not the name of a view. User Action: Retype the DEFINE TRANSFER command with the correct view name.
NOTBOOL
expression in AND, OR, or NOT was not a Boolean Explanation: The Boolean evaluator was processing an expression or subexpression of the form "A AND B", "A OR B", or "NOT A". Either the "A" or the "B" expression was not in the proper form. The correct forms are "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X GT Y", "X LE Y", "X GE Y", "X CONTAINS Y", or "X MATCHES Y". The operand of NOT, and both sides of AND and OR expressions must be Boolean expressions. User Action: Rewrite the expression in error to have the proper format.
NOTDSKFIL
filespec does not specify disk device type Explanation: An error occurred while you attempted to create an AIJ file. User Action: Modify the database with a valid AIJ filespec.
NOTENUFHV
not enough host variables passed; <num> passed, at least <num> used Explanation: You did not pass enough host variables to RDB$INTERPRET. For RDB$INTERPRET, there were more !VALs in the command string than host variable descriptors passed. If one more host variable is detected by the parser than was passed, parsing stops. There could be more host variables used than the error message specifies. User Action: Supply matching number of host variables and !VALs.
NOTEXPSEG
cannot assign an expression to RDB$VALUE or RDB$LENGTH Explanation: Your preprocessor does not support assigning an expression value to RDB$VALUE or RDB$LENGTH. User Action: You can work around this problem by assigning the value of the expression to a temporary variable. Then assign the temporary variable value to RDB$VALUE or RDB$LENGTH.
NOTFOUND
No rows were found for this statement Explanation: No rows were found for an UPDATE or DELETE statement, or a query produced an empty table. User Action: None, this is a warning message.
NOTIMPLYET
feature is not implemented yet Explanation: You attempted to access a feature that has been planned but has not been implemented yet. User Action: Avoid this feature.
NOTIP
no transaction in progress Explanation: You attempted to execute a DML verb, but there is no transaction in progress yet. User Action: Execute a READY statement before executing any other DML statements.
NOTRANAPP
no transactions in this journal were applied Explanation: This journal file contains transactions that cannot be applied to the specified backup of the database. User Action: Be sure you are using the correct database backup and journal file.
NOTREQSTA
not a request statement. Can only use request options on request statement Explanation: You attempted to use a REQUEST_HANDLE or TRANSACTION_HANDLE clause in a statement that was not a request statement. Request options are not necessary on statements that are not request statements. User Action: Put the handle option clause in the request statement.
NOTROOT
not a root file Explanation: The specified file is not a database root file. User Action: Specify a database root file and try again.
NOTSEGSTR
context variable <str> does not reference a segmented string Explanation: You attempted to use a context variable with RDB$VALUE or RDB$LENGTH, and the context variable does not refer to a segmented string field. User Action: Use a context variable defined for a segmented string with RDB$VALUE and RDB$LENGTH.
NOTSYSCONCEAL
non-system concealed device name in filename Explanation: Concealed device name must be defined in the system logical table. User Action: If the device name has to be concealed, then define it in the system logical table.
NOT_BOUND
database is not bound Explanation: You have not bound to a database yet, or you have unbound the database and have not bound to another one yet. User Action: Bind to a database before continuing.
NOT_INSTALLED
<str> is not installed Explanation: The product is not installed on the system. User Action: The named product must be installed before the attempted statement can be successfully executed.
NOT_READY
storage area <str> not in ready mode Explanation: You attempted to access an area for which you have not declared your intentions. User Action: If the area is included in your subschema, you can use the READY statement to prepare it for processing.
NOT_UPDATE
storage area <str> not readied in update usage mode Explanation: You attempted to modify the contents of an area without having declared your intentions. User Action: If you have not readied the area yet, you can READY for UPDATE. If you have already readied it, you must abort your transation by executing a ROLLBACK before you can READY for UPDATE.
NOUPDCOMP
can not update computed by field, <str> Explanation: You tried to store or modify a COMPUTED BY field. This is not allowed. User Action: Restate the update removing the COMPUTED BY field.
NOVIERES
unable to IMPORT view <str> Explanation: Could not import this view -- see the message that follows. User Action: Correct the problem and retry the operation.
NOVIEWALW
views are not allowed in a MOVE RELATION clause Explanation: The relation referred to in the MOVE RELATION clause of a DEFINE TRANSFER statement is a view. User Action: Reenter the DEFINE TRANSFER statement excluding the MOVE RELATION clause which references a view. Enter the view in a MOVE VIEWS clause instead.
NOVIEWINREPT
view <str> is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATIONS clause of a REPLICATION TRANSFER definition you have specified a view . User Action: Reenter the DEFINE TRANSFER statement without the view in the MOVE RELATIONS clause. The view definition can be moved by specifying the view in MOVE VIEWS clause.
NOWILD
no wild cards are allowed in the file specification
Explanation: Wild card characters ("*" and "%") cannot be used
in that file specification.
User Action: Use a file specification without wild card
characters.
NO_CROSEG
no CROSS clause may be used with a segmented string specification Explanation: You attempted to use a CROSS clause with a segmented string specification. This is not permitted. User Action: Remove the CROSS clause.
NO_FILFND
file <str> not found for input to the precompiler Explanation: You attempted to open a nonexistent file. User Action: Check the file specified. Supply complete file specification.
NO_FIRSEG
no FIRST clause may be used with a segmented string specification Explanation: You attempted to use a FIRST clause with a segmented string specification. This is not permitted. User Action: Remove the FIRST clause.
NO_MORSEG
there are no more segments in this segmented string Explanation: You attempted to print or get a segment from a segmented string and the last segment has already been read. User Action: This is a normal case. You have retrieved the entire segmented string.
NO_PERBLO
no periods are permitted within a FOR or an ON ERROR block Explanation: COBOL does not permit periods between the PERFORM and END_PERFORM block, or the IF and END_IF block that the preprocessor generates. User Action: Remove the period from the end of the DML statement within the FOR or ON ERROR block.
NO_REDSEG
no REDUCED TO clause may be used with a segmented string specification Explanation: You attempted to use a REDUCED TO clause with a segmented string specification. This is not permitted. User Action: Remove the REDUCED TO clause.
NO_SORSEG
no SORTED BY clause may be used with a segmented string specification Explanation: You attempted to use a SORTED BY clause with a segmented string specification. This is not permitted. User Action: Remove the SORTED BY clause.
NO_SUCH_FIELD
field, <str>, does not exist in this database Explanation: You specified a field that does not exist in the database. User Action: Check database entity definitions for the valid database field name.
NO_TXNOUT
no transaction outstanding Explanation: You attempted to terminate a transaction with a COMMIT or a ROLLBACK when no transaction was outstanding. User Action: Enter a START_TRANSACTION statement before COMMIT or ROLLBACK.
NO_WITSEG
no WITH clause may be used with a segmented string specification Explanation: You attempted to use a WITH clause with a segmented string specification. This is not permitted. User Action: Remove the WITH clause.
NULLNOIND
tried to store null into host variable with no indicator variable Explanation: Null values can only be stored in host variables which have indicator variables. User Action: Add an indicator variable to the host variable reference or make sure that no null values can be returned to it.
ONLFIRVAR
only first variable in qualified variable expression Explanation: COBOL allows only the first variable in a qualification to be an array. The preprocessors do not recognize the arrays of arrays in FORTRAN, COBOL or BASIC. User Action: Rewrite the query and check the appropriate reference manual.
ONLONEDB
only one database can be referenced in an RSE or an expression Explanation: You cannot use database variables from more than one database in an RSE or in an expression. You can, however, refer to variables from one database in an expression and refer to variables in another database in a STORE or a MODIFY statement. Nested FOR statements may refer to different databases in the RSEs of each FOR statement. User Action: Use separate statements or nested FOR loops for multiple database access.
ONLONERED
only one REDUCE clause can appear in an RSE Explanation: You included more than one REDUCED TO clause in the RSE. This is not permitted. User Action: Specify all reduce expressions in one reduce list.
ONLONEREQ
only one request handle may be specified on a STMT Explanation: You included more than one REQUEST_HANDLE in your statement. Only one is permitted. User Action: Use only one REQUEST_HANDLE. You may have intended to use a TRANSACTION_HANDLE.
ONLONESOR
only one SORT clause can appear in an RSE Explanation: You included more than one SORTED BY clause in your RSE. This is not permitted. User Action: Specify all sort expressions in one sort list.
ONLONETRA
only one transaction handle may be specified on a STMT Explanation: You included more than one TRANSACTION_HANDLE in your statement. Only one TRANSACTION_HANDLE is permitted. User Action: Use only one TRANSACTION_HANDLE. You may have intended to use a REQUEST_HANDLE.
ONLONETRN
only one transaction allowed at a time Explanation: You attempted to use more than one transaction. Only one transaction is allowed at a time. Note that RDO does an implicit START_TRANSACTION on the first DML statement. User Action: A COMMIT or ROLLBACK terminates a transaction.
ONLONEWIT
only one WITH clause can appear in an RSE Explanation: You included more than one WITH clause in the RSE. This is not permitted. User Action: Specify all Boolean expressions in one WITH clause.
ONLYONEPSECT
only one PSECT statement per module is supported Explanation: You attempted to use more than one PSECT directive per module. The PSECT directive may only be used once per module. User Action: Decide which PSECT statement is really desired and delete all others.
OPENERR
unable to open <str> as the interchange file Explanation: Could not access the Rdb/VMS interchange file (.RBR). User Action: Correct the problem indicated by subsequent messages and retry the operation.
OPERCLOSE
database operator requested database shutdown Explanation: Your program has been terminated because the database operator shut down the database you were using. User Action: Try again later after the database shutdown is complete.
OPERSHUTDN
database operator requested monitor process shutdown Explanation: Your program has been terminated because the database operator shut down the database monitor process. User Action: Try again later after the database shutdown is complete.
OPRSTK_OVRFLO
operator stack overflow Explanation: The internal limit of the parsing operator stack was exceeded. User Action: Submit an SPR with the query that caused the error.
OVERFLOW
data conversion overflow Explanation: A loss of information would have occurred on a data item transformation. The operation was not performed. User Action: Correct the error and try again.
PARSE_STACK_OVERFLOW
parse stack overflow Explanation: The internal limits of the parsing stack were exceeded. User Action: Submit an SPR with the query that caused the error.
PATHREQCDD
A pathname is specified but no CDD is available Explanation: The statement entered specifies a CDD pathname, but there is no CDD available for use (may not be installed). User Action: Choose a statement or statement option that does not specify a pathname, or check with the system administrator to determine why the CDD is not available.
PREMATURE_EOF
statement is syntactically incomplete Explanation: You entered a syntactically incomplete statement. User Action: Complete the statement before pressing RETURN.
PREMEOF
premature end of file encountered in <str> Explanation: A premature end-of-file was encountered while reading the specified file.
QIOXFRLEN
data transfer length error - expected <num>, actual <num> Explanation: The expected data transfer length was not equal to the actual data transfer length. User Action: This is usually caused by a hardware problem.
QUIETPT
waiting for database quiet point Explanation: User is waiting for the quiet lock in order to force a database quiet point. User Action: None.
REANOWRT
a READ_ONLY transaction cannot specify write locks Explanation: You specified a READ_ONLY transaction and a relation was locked for write access. This is a conflict of access modes. User Action: Start a transaction READ_WRITE or use a read lock. Note, the default is always READ_ONLY.
REFSEGSTR
reference to segmented string <str> must use RDB$VALUE or RDB$LENGTH Explanation: You attempted to use a context variable that was defined in a segmented string RSE with a field name that was neither RDB$VALUE or RDB$LENGTH. You can only use RDB$VALUE or RDB$LENGTH to refer to a segmented string. User Action: Use either <context-variable>.RDB$VALUE or <context-variable>.RDB$LENGTH, where context variable is the one defined in the segmented string RSE.
RELAMBIG
the relation <str> was not qualified and is in multiple databases Explanation: You must qualify the database with relation names when accessing more than one database containing that relation. User Action: Make sure the INVOKE statements include qualifiers, and retype the query using the appropriate qualifier.
RELNOTDEF
relation <str> is not defined in database Explanation: The specified relation does not exist in the current database. User Action: Invoke the correct database. Spell the relation name correctly. You may have specified a name other than a relation name.
REL_EXISTS
relation <str> already exists in this database Explanation: You attempted to define a relation with the name of an existing relation. User Action: Choose a different name.
REMNOTALW
a remote source database is not allowed to be replicated Explanation: You were attached to a database which is on a remote node when you tried to define a replication mode transfer using the DEFINE TRANSFER statement. User Action: Define an extraction transfer instead.
RESABORT
terminating the IMPORT operation Explanation: The IMPORT operation has been aborted; see the messages preceding this one. User Action: None.
RESERVED_WORD
<str> is a keyword; it cannot be used as a name Explanation: You entered a keyword where a name was expected. User Action: Specify a unique name instead of the keyword.
RESTART
restarted recovery after ignoring <num> committed transaction(s) Explanation: The specified number of committed transactions did not apply to this database root. All subsequent transactions were applied. User Action: None.
RETMODSPC
only one retain mode may be specified for a transaction Explanation: You specified two transaction modes in a START_TRANSACTION statement. User Action: Specify only one transaction mode in a START_TRANSACTION statement.
ROOMAJVER
root major version is incompatible with the DBCS Explanation: Your database was created with an incompatible version of the software. User Action: Your database cannot be used with the version of the software you have installed on your machine.
ROOTMAJVER
database format is not compatible with software version Explanation: Your database was created with an incompatible version of the software. User Action: Your database cannot be used with the version of the software you have installed on your machine.
RSENOTSEG
the RSE in a START_SEGMENTED_STRING does not reference a segmented string Explanation: The START_SEGMENTED_STRING record selection expression refers to a real record stream instead of a segmented string field. START_SEGMENTED_STRING may refer only to segmented strings. User Action: Use a segmented string field in the RSE portion of the START_SEGMENTED_STRING command.
RTOCMDILL
requested command is not supported in runtime-only or remote environment Explanation: You issued a statement that is not supported in a run-time-only or remote system (such as DEFINE FIELD). User Action: You may have to move your database to a system that has a development system to do this task.
RUJDEVDIR
RUJ file name does not include device and directory Explanation: The file you specified did not include a device and directory. User Action: You should always include a device and directory in the file specification, preferably different from the database device for maximum protection.
SCALEOPSBASIC
cannot use scaled operands in BASIC operations Explanation: You attempted to perform arithmetic operations on scaled data types. This is not supported in the BASIC preprocessor. User Action: Use simple assignment statements to convert the variables to the desired data types and perform operations on those data types.
SEGALRSTA
segmented string <str> is already started Explanation: You issued a START_SEGMENTED_STRING statement using a segmented string name for which a START_SEGMENTED_STRING statement has been issued without a corresponding END_SEGMENTED_STRING. User Action: Issue END_SEGMENTED_STRING or use another segmented string.
SEGNOTSTA
segmented string <str> is not started or created Explanation: You issued an END_SEGMENTED_STRING statement using a name for which no corresponding START_SEGMENTED_STRING or CREATE_SEGMENTED_STRING was issued, or for which an END_SEGMENTED_STRING has already been entered. User Action: Issue a START_SEGMENTED_STRING or CREATE_SEGMENTED_STRING statement before using END_SEGMENTED_STRING, or only use END_SEGMENTED_STRING once for each START_SEGMENTED_STRING or CREATE_SEGMENTED_STRING.
SEGOUTSCO
segmented string <str> was used out of scope Explanation: You attempted to issue an END_SEGMENTED_STRING command using a name that was already ended. User Action: Use only one END_SEGMENTED_STRING per START_SEGMENTED_STRING.
SEGSTREXP
cannot use a segmented string in an expression Explanation: You attempted to use a segmented string in an expression. Segmented strings may be used only in expressions using the MISSING operator. User Action: Remove the operations on the segmented string from the DML query.
SELMORVAL
the result of a singelton select returned more than 1 value Explanation: A singleton select statement (SELECT...INTO) may only return 1 row of values. The result table for this singleton select contains more than one row. User Action: Either embed the SELECT statement (without the INTO clause) in a DECLARE CURSOR statement and process it with OPEN and FETCH statements, or modify the SELECT statement so it will return only one row.
SETWIDTH
error setting width of terminal Explanation: An error occurred while parsing a file name. User Action: Examine the secondary message for more information.
SEVERRDET
a severe error was detected Explanation: A severe error was detected by RDO and returned to DCL during the execution of an RDO statement. User Action: If possible, run the statement(s) again in interactive RDO and read any additional RDO error messages to determine what caused the severe error condition. Then fix the error. Remember, in a DCL command procedure containing RDO statements, use the $SEVERITY symbol to test for RDO$_SEVERRDET.
SFDBONLY
<str> function restricted to Single File DataBases Explanation: This function is restricted to single-file databases. It can not be used with multifile databases. User Action: Use the corresponding RMU function for a multifile database.
SIP
transaction is a snapshot transaction Explanation: You have already started a transaction that is a snapshot transaction. User Action: Use READY BATCH RETRIEVAL to ready the area for the snapshot transaction or use COMMIT to terminate the snapshot transaction.
SNAPFULL
snapshot area too full for operation Explanation: You attempted to store a record in the database, because there was an active reader and the snapshot area in which the record would go is too full. User Action: Modify the snapshot area extend parameter to allow snapshot area extension.
SPACREQ
a space is required before file specification Explanation: A space is required to parse the begining of the file specification. User Action: Run the preprocessor again and include a space before the file specification.
SSNOTINROOT
<str> is not in the root file Explanation: The DDCB you specified is not in the root file. You can see which DDCBs a root file has with the DBO/DUMP command. User Action: Add the DDCB to your root file (DBO/MODIFY), or check your bind sequence and try again.
STALL
asynchronous operation requires a stall Explanation: The operation has not completed yet. User Action: Check the event flag and I/O status block for final completion and submit and SPR..
STAREAFUL
storage area too full for operation Explanation: You attempted to store a record in the database, but the storage area in which the record would go is too full. User Action: Modify the storage area extend parameter to allow storage area extension.
STARNOTALL
invalid use of asterisk - expected field name Explanation: You attempted to use a context_variable.* in a field-required context. User Action: Supply names of fields to be referenced.
STOCONVAR
must use the context variable, <str>, declared in the STORE/MODIFY. You had <str> Explanation: You used a context variable in a STORE statement that does not match the one declared in the RSE of the STORE statement. For example: FOR P IN PORT STORE J IN PORT USING P.CITY = J.CITY END_STORE END_FOR User Action: Include the correct context variable in your STORE or MODIFY statement.
STOMAP_LITS
too many fields in limit clause Explanation: A DEFINE STORAGE MAP statement has specified more literal values as limits than corresponding fields in the USING clause. User Action: Correct the statement. The number of literal values you specify must match the number of fields in the USING clause.
STRALRDEC
stream <str> is already declared Explanation: You attempted to declare a stream that was already declared. User Action: Use another stream name.
STRALROPE
stream <str> is already opened Explanation: You attempted to open a stream that was already open. User Action: Close the open stream or use another stream name.
STRLITMISQUO
string literal missing closing quote Explanation: The string in a user assignment statement is missing a closing quote. User Action: Insert one or more quotes as appropriate.
STRNOTDEC
stream <str> has not been declared Explanation: You attempted to open a predeclared stream that hasn't been declared User Action: Declare the stream or use the name of a predeclared stream.
STRNOTOPE
stream <str> is not opened Explanation: You attempted to fetch a row from a stream that was not open, or you attempted to close a stream that was not open. User Action: Issue a START_STREAM <stream-name> command before using FETCH. Start a stream before closing, or close a stream only once after opening it.
STROUTSCO
stream <str> was used out of scope Explanation: You attempted to use a stream name outside the scope of the START_STREAM/END_STREAM block. This is not permitted. User Action: Use FETCH only within the START/END block.
SYM_EXP
one of the following symbols was expected: Explanation: You typed an unexpected keyword. User Action: Type a correct keyword.
SYNTAX_ERR
syntax error Explanation: A syntax error was detected in a your RDO statement. User Action: Correct the syntax error and retry the statement.
TADMISMATCH
journal is for database version <time>, not <time> Explanation: The version time and date stamp in the root does not match the version time and date stamp in the journal file. This journal cannot be applied to this backup. User Action: Use the correct journal file or backup file.
TERMINATE
database monitor forced image exit to protect database Explanation: To maintain the integrity of the database, the monitor forced your image exit because an unrecoverable error has been detected. User Action: Restart your transaction.
TOKTOOBIG
symbol name is too big Explanation: You entered a symbol (token) name with a length greater than 32 characters. The length of a symbol name must be less than or equal to 32 characters. User Action: Use a symbol with no more than 32 characters.
TOOBIGBLR
request BLR would be too large to execute Explanation: The user's request is too large to be compiled. User Action: The DML statement must be broken up into smaller parts.
TRAACT
a database cannot be invoked while a transaction is active Explanation: You issued an INVOKE statement while a transaction was still in progress. User Action: You must either commit or roll back the current transaction or wait until the current transaction is terminated before invoking another database.
TRAACT_1
a database cannot be defined while a transaction is active Explanation: You issued a DEFINE DATABASE command while a transaction was still in progress. User Action: You must either commit or roll back the current transaction or wait until the current transaction is terminated before invoking another database.
TRAACT_2
ROLLBACK or COMMIT the transaction Explanation: You are attempting an operation that cannot be executed while the current transaction is still in progress. User Action: You must either commit or roll back the current transaction or wait until the current transaction is terminated before attempting the new database activity.
TRAACT_3
a database cannot be deleted while a transaction is active Explanation: You issued a data definition statement while a data manipulation transaction was still in progress. User Action: Commit or roll back the data manipulation transaction, start a new transaction, and reissue the data definition statement.
TRAHDLBVAL
transaction handle must be !VAL Explanation: You specified a transaction handle name to RDB$INTERPRET. User Action: You must use !VAL and a longword variable.
TRAHDLINV
transaction handle datatype invalid, must be longword Explanation: You specified a transaction handle to RDB$INTERPRET that was not a longword. User Action: You must use !VAL and a longword variable.
TRAMODSPC
only one transaction mode may be specified for a transaction Explanation: You specified two transaction modes in a START_TRANSACTION statement. User Action: Specify one transaction mode in a START_TRANSACTION statement.
TRANONERR1
start_transaction not allowed in on error Explanation: A START_TRANSACTION statement is not allowed in an ON ERROR clause. User Action: The ON ERROR clause is within a request. If a new transaction is desired, leave the current request and then start the transaction.
TRANONERR2
must leave current request to start a new transaction Explanation: A START_TRANSACTION statement is not allowed in an ON ERROR clause. User Action: The ON ERROR clause is within a request. If a new transaction is desired, leave the current request and then start the transaction.
TRAN_IN_PROG
transaction in progress Explanation: You attempted an operation that is allowed only when you have no transaction in progress. User Action: Complete your transaction by executing a COMMIT or ROLLBACK.
TREE_OVRFLO
tree storage overflow Explanation: The internal limit of the AST tree nodes was exceeded. User Action: Submit an SPR with the query that caused the error.
TRUE
condition value is true Explanation:
TRUNCATION
data conversion truncation error Explanation: You attempted an operation that would cause loss of information on a data item movement. User Action: Correct the error and try again.
UNBTMPFIL
unable to open a temporary file called <str> Explanation: RDO attempted to open a temporary file. It was either in the default directory or the directory specified with the /OBJ compile qualifier. User Action: Include a valid directory specification with protection level that allows temporary files to be created.
UNDERFLOW
data conversion underflow Explanation: You attempted an operation that would cause loss of information on a data item movement. User Action: Correct the error and try again.
UNLCONVAR
unlike context variables; can update only one relation at a time Explanation: The current MODIFY or STORE statement attempts to update database fields in multiple relations. Example: "MODIFY USING P.EMPLOYEE_NUM = "FOO"; J.NAME = "JONES" END-MODIFY." User Action: Use a separate MODIFY or STORE statement to update fields in multiple relations.
UNSARITH
expression includes unsupported arithmetic operation Explanation: The Boolean evaluator was processing an expression or sub-expression that contained an arithmetic operator. Arithmetic operators are not supported. User Action: Rewrite the expression in error without the arithmetic operator.
UNSCOMP
unsupported data comparison Explanation: You attempted an operation that would compare two incommensurate data items. User Action: Correct the error and try again.
UNSCOMPBY
<str>.<str> is not supported in this context Explanation: You included the COMPUTED_BY field named in this error message in the SELECT FIELDS clause of a DEFINE TRANSFER statement. This COMPUTED_BY field uses a value expression that is unsupported. User Action: Reenter the DEFINE TRANSFER statement and omit the COMPUTED_BY field that uses the unsupported value expression. Refer to the DEFINE TRANSFER statement in the Data Distributor Handbook for information on what value expressions are supported.
UNSCONV
unsupported data conversion Explanation: You attempted an operation that would cause loss of information on a data item movement. User Action: Correct the error and try again.
UNSDSCCLA
unsupported descriptor class <num> Explanation: The class of the descriptor in an input parameter is not supported by Rdb/VMS. User Action: Use class S, D, DS, or VS.
UNSSTRXPR
unsupported string expression Explanation: You attempted an operation on a string that is not supported. ie string = string + string; User Action: Please check the manual for the string expressions allowed. If you are using the preprocessors, you might be able to work around the limitation by using a temporary variable.
UNSSUPDAT
unsupported datatype requested Explanation: You requested input or output of an unsupported data type from Callable RDO. User Action: Review the data types of the variables in the call and change the offending data type to a supported data type.
UNTSTR
unterminated string found
Explanation: The matching quotation mark (" or ') for a string
was not found.
User Action: Reenter the command with the matching quotation
mark.
USINGNOTSPEC
no USING clause specified Explanation: A DEFINE STORAGE MAP statement has specified literal values as limits but has specified no fields in the USING clause. User Action: Correct the statement. The number of literal values you specify must match the number of fields in the USING clause.
VEWNOTDEF
view <str> is not defined in database Explanation: The specified view does not exist in the current database. User Action: Invoke the proper database. Spell the view name correctly. You may have specified an expression where a view name was expected.
WAIMODSPC
only one wait mode may be specified for a transaction Explanation: You specified two transaction modes in a START_TRANSACTION statement. User Action: Specify only one transaction mode in a START_TRANSACTION statement.
WASBOOL
expression in CONTAINS or MATCHES was a Boolean Explanation: The Boolean evaluator was processing an expression or sub-expression of the form "A CONTAINS B" or "A MATCHES B". Either the "A" or the "B" expression was a Boolean of the form "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X GT Y", "X LE Y", "X GE Y", "X CONTAINS Y", or "X MATCHES Y". Neither side of CONTAINS and MATCHES expressions are allowed to be Boolean expressions. User Action: Rewrite the expression in error to have the proper format.
WISH_LIST
feature not yet implemented Explanation: The action you requested requires a feature that is not implemented in the current version of this product. User Action: Avoid using this feature.
ZABORT
user entered Control-Z to abort command Explanation: You entered a CTRL/Z to abort the current command. User Action: None.
DDAL
Additional information available:
BADDBINFOBADDBKBLOBADDBKERABADDBKMOD
BADDBKSTOBADDBKUNKBADINTLENBIDNOTFOU
BUGFILCREBUGFILINCBUGFILNOTCANTFINDENTRY
CANT_WRITE_LOG_FILECOMNOTFOUCONFIGERR
CPENQERRDBEXISTSERRACCDSTDBERRACCSRCDBERRDELTNSF
ERROR_ACCESS_TDBFAIL_CRE_CPFILE_IO_ERRORFLDNOTFND
FLDNOTFOUFLDNOTSYMGETDVIERRGETFORERR
GETJPIERRGETSYIERRINVACTTYPINVBUFNUM
INVDBKLENINVJOUVERINVLOGCLAINVLOGTYP
INVRDBDTYINVSEGINFINVSELBLRINVSYSBLOBINVTRAOPT
LOGCHOOUTRANLOG_AST_ERRORLOG_ERRORLOG_PRIV_ERROR
MBXERRNOREPTNSFNOTDTCHNOVINTAGENO_DEFINE
NO_PRIVNO_READNO_READ_RELNO_TR_MONPREMATEOT
PRIV_READ_ERRORQIOERRRDBERRRDODEQERRRELNOTFND
RMSERRSCHDEQERRSCHENQERRSCH_DEF_EXIST
SRCRELCKSUPPSYMNOTFNDTMNBUGCHKTNSF_ACT_RETRY
TNSF_NAME_UNKNOWNTNSF_NAME_USEDTNSF_NOT_SUSPENDED
TOOMANYRDOTOO_MANY_CPTRANOTFOUTRANOTSOU
TRANS_NORETRYTRDEQERRTRENQERRTRNLNMERRUNKNMODE
UNRECQUALVINNOTFNDWRONUMARG
BADDBINFO
invalid information returned from Rdb$DATABASE_INFO call Explanation: The image called Rdb$DATABASE_INFO, and the TYPE returned was an unexpected value. User Action: Please submit an SPR.
BADDBKBLO
blob update to the destination database failed (relation "<str>" DBKEY "<num> <num>") Explanation: <To be supplied> User Action: <To be supplied>
BADDBKERA
erasure to the destination database failed (relation "<str>" DBKEY "<num> <num>") Explanation: <To be supplied> User Action: <To be supplied>
BADDBKMOD
modification to the destination database failed (relation "<str>" DBKEY "<num> <num>") Explanation: <To be supplied> User Action: <To be supplied>
BADDBKSTO
store to the destination database failed (relation "<str>" DBKEY "<num> <num>") Explanation: <To be supplied> User Action: <To be supplied>
BADDBKUNK
unknown operation value received from the destination database Explanation: <To be supplied> User Action: <To be supplied>
BADINTLEN
internally calculated length was incorrect Explanation: <To be supplied> User Action: <To be supplied>
BIDNOTFOU
segmented string identification was not found in the record image Explanation: <To be supplied> User Action: <To be supplied>
BUGFILCRE
Data Distributor bugcheck dump file <str> was created Explanation: An unexpected, fatal error has been detected during the execution of Vax Data Distributor. Data Distributor has created a bugcheck dump file to capture information that might help diagnose the cause of the error. This message is accompanied by other messages that give information about the cause of the problem. User Action: Please submit a Software Performance Report (SPR).
BUGFILINC
Data Distributor bugcheck dump file <str> was created but is incomplete Explanation: An unexpected, fatal error has been detected during the execution of VAX Data Distributor. Data Distributor then created a bugcheck dump file to capture information that might help diagnose the cause of the error. However, another fatal error occurred while writing the dump file. The dump file information is incomplete. This message is accompanied by other messages that give further information about the cause of the original problem as well as the cause of the dump file failure. User Action: Refer to the accompanying system messages for the cause of the dump file problem. A typical reason might be that the disk is full. Correct the cause of the error that prevented completion of the dump file. Then attempt to recreate the original problem that resulted in the fatal error so that a bugcheck dump file can be obtained. Please submit a Software Performance Report (SPR).
BUGFILNOT
Data Distributor bugcheck dump file was not created Explanation: An unexpected, fatal error has been detected during the execution of VAX Data Distributor. Data Distributor then attempted to write a bugcheck dump file to capture information that might help diagnose the cause of the error. However, creation of the dump file failed. This message is accompanied by other messages that give further information about the cause of the original problem as well as the cause of the dump file failure. User Action: Refer to the accompanying system messages for the cause of the dump file problem. Typical reasons might be a full disk or write access error. Correct the cause of the error that prevented creation of the dump file. Then attempt to recreate the original problem that resulted in the fatal error so that a bugcheck dump file can be obtained. Please submit a Software Performance Report (SPR).
CANTFINDENTRY
cannot find an entry under the process name shown in the queue Explanation: The transfer monitor stopped when it didn't recognize the user who issued a SHOW TRANSFER statement. User Action: Refer to the transfer monitor log for information about the bugcheck dump file. Please submit an SPR with the relevant section of the transfer monitor log file.
CANT_WRITE_LOG_FILE
cannot write to the log file <str> Explanation: <To be supplied> User Action: <To be supplied>
COMNOTFOU
commit logical record was not found for PSN <num> Explanation: <To be supplied> User Action: <To be supplied>
CONFIGERR
error occurred enqueueing or dequeueing the configure lock <str>, LKID <num> Explanation: <To be supplied> User Action: <To be supplied>
CPENQERR
copy process encountered an error enqueueing a lock Explanation: <To be supplied> User Action: <To be supplied>
DBEXISTS
transfer database already exists under the name given; not initialized Explanation: When a transfer database with the name you specified already exists, the transfer monitor does not create a new transfer database. User Action:
ERRACCDSTDB
error occurred accessing the destination database Explanation: <To be supplied> User Action: <To be supplied>
ERRACCSRCDB
error occurred accessing the source database Explanation: <To be supplied> User Action: <To be supplied>
ERRDELTNSF
failed to delete transfer definition from source database; transaction rolled back Explanation: You designated the deletion of one or more replication transfers. The deletion of one of the transfers failed when the transfer monitor ran a copy process to delete the transfer information in the source database. Your transaction automatically rolled back. User Action: Read the copy process log file to learn if the problem was caused by the copy process. You can use the SHOW TRANSFER DEFINITION command to review the location and name of the log file you specified in your transfer definition. Refer to the transfer monitor log file to determine if there was a failure in creating and starting the copy process. You must have special privileges to read this log file.
ERROR_ACCESS_TDB
error accessing the transfer definition database Explanation: An access error occurred when either the transfer monitor or the copy process attempted a read-write operation to the transfer database. User Action: See the following message.
FAIL_CRE_CP
failed to create a copy process Explanation: You entered a START TRANSFER NOW statement or a START TRANSFER NOW WAIT statement, but the transfer monitor did not create a copy process to execute the transfer and placed your transfer in the "suspended" state. User Action: Note the time and date the failure occurred; then examine the transfer monitor log file (DDAL$TM_LOG_FILE) for information on the failure.
FILE_IO_ERROR
file IO error was encountered with log file Explanation: <To be supplied> User Action: <To be supplied>
FLDNOTFND
transferred field <str> in relation <str> was not found in the source database Explanation: The field named (in the relation named) is listed in a move clause of the transfer currently being run. It could not be found in the source database. User Action: Delete the transfer, and redefine it without the relation. If the field is needed for that relation, delete the transfer, reconstruct the relation, and re-define the transfer.
FLDNOTFOU
field <str> of relation <str> was not found in the source database Explanation: <To be supplied> User Action: <To be supplied>
FLDNOTSYM
field <str> was not found in the symbol table Explanation: The copy process could not find the named field in the source database. Fields for which there are replication transfers defined are not allowed to be deleted or modified. User Action: Please submit an SPR.
GETDVIERR
error occurred calling the GETDVI system service Explanation: <To be supplied> User Action: <To be supplied>
GETFORERR
error ocurred using the LIB$GET_FOREIGN call Explanation: <To be supplied> User Action: <To be supplied>
GETJPIERR
error occurred using the GETJPI system service Explanation: <To be supplied> User Action: <To be supplied>
GETSYIERR
error occurred using the GETSYI system service Explanation: <To be supplied> User Action: <To be supplied>
INVACTTYP
invalid or unsupported action type from EXTR module Explanation: An invalid or unsupported action type was specified. User Action: Please submit a Software Performance Report (SPR).
INVBUFNUM
invalid buffer number in GET_MESSAGE_BUF routine call Explanation: <To be supplied> User Action: <To be supplied>
INVDBKLEN
DBKEY read from the changes relation is not 8 bytes long. Explanation: <To be supplied> User Action: <To be supplied>
INVJOUVER
invalid journal format version number (<num>) was found Explanation: <To be supplied> User Action: <To be supplied>
INVLOGCLA
invalid logical change file record class (<num>) was found Explanation: <To be supplied> User Action: <To be supplied>
INVLOGTYP
invalid logical change file record type (<num>) was found Explanation: <To be supplied> User Action: <To be supplied>
INVRDBDTY
invalid datatype value was read from a VAX Rdb/VMS system relation. Explanation: <To be supplied> User Action: <To be supplied>
INVSEGINF
invalid information from an RDB$SEGMENT_INFO routine call Explanation: An internal routine received invalid information when it called RDB$SEGMENT_INFO. User Action: Check the integrity of the source and transfer databases. Attach to the database and check that the contents of the segmented strings are the same as you set up. If they are the same, please submit a Software Performance Report (SPR).
INVSELBLR
invalid selection BLR string Explanation: The copy process either encountered a value that is not a Binary Language Representation (BLR) literal, or it found a BLR literal that it does not support. Either Rdb/VMS has incorrectly generated the BLR or VAX Data Distributor has incorrectly stored the BLR. User Action: Please submit an SPR.
INVSYSBLOB
system relation segmented string was expected to be a single segment Explanation: In querying the segmented string field of a system relation, the copy process was told to expect multiple segments instead of the single segment allowed in system relations. User Action: Check the integrity of the source database. Attach to the database and check that the contents of the segmented strings are single segments. If they are single segments, please submit a Software Performance Report (SPR).
INVTRAOPT
invalid transfer option Explanation: The transfer option must be Extraction, Initialize, or Update. User Action: Please submit a Software Performance Report (SPR).
LOGCHOOUTRAN
log choice <num> is out of range Explanation: DDAL code could not process a correctly identified logging item. User Action: <To be supplied>
LOG_AST_ERROR
error occurred while enabling or disabling ASTs during logging Explanation: <To be supplied> User Action: <To be supplied>
LOG_ERROR
error occurred during logging Explanation: <To be supplied> User Action: <To be supplied>
LOG_PRIV_ERROR
error logging privileges Explanation: <To be supplied> User Action: <To be supplied>
MBXERR
mailbox error in the transfer monitor Explanation: <To be supplied> User Action: <To be supplied>
NOREPTNSF
this transfer is not a replication Explanation: You issued the REINITIALIZE TRANSFER statement for an extraction transfer. You can use the REINITIALIZE TRANSFER statements only for replications. Your request was ignored. User Action: If you intended to reinitialize a replication transfer, use the SHOW TRANSFER statement to check that you have supplied the correct replication transfer name. If you entered the name correctly, then use the SHOW TRANSFER DEFINITION statement to check the transfer definition.
NOTDTCH
transfer monitor should be run as a detached process Explanation: <To be supplied> User Action: <To be supplied>
NOVINTAGE
vintage information was not found in the destination database Explanation: <To be supplied> User Action: <To be supplied>
NO_DEFINE
no define access to the source database Explanation: The user who owns the transfer being run does not have DEFINE access to the source database at the time of the initial replication transfer. User Action: Modify the user's ACL entry so that he has READ access to the database in question. REINITIALIZE and START the transfer.
NO_PRIV
no privilege to access this transfer Explanation: To execute a DELETE TRANSFER, REINITIALIZE TRANSFER, START TRANSFER, STOP TRANSFER, DEFINE SCHEDULE, or DELETE SCHEDULE statement, your user identification code (UIC) must match the UIC in the transfer definition or your process must have BYPASS privileges. User Action: Check to see that you named the transfer you want.
NO_READ
no read access to source database Explanation: The user who owns the transfer being run does not have READ access to the source database at the time of the transfer. User Action: Modify the user's ACL entry to provide READ access to the database in question, and start the transfer. If this was a replication initialization, REINITIALIZE the transfer first.
NO_READ_REL
no read access to relation <str> Explanation: The user who owns the transfer being run does not have READ access to the relation specified in the source database at the time of the transfer. User Action: Modify the user's ACL entry for that relation so that he has READ access. START the transfer. If this transfer was a replication initialization, REINITIALIZE the transfer first.
NO_TR_MON
transfer monitor is not running Explanation: You cannot execute any Data Distributor statement because the transfer monitor is not running. It is possible that the transfer monitor was never started. User Action: Have the system manager start the monitor, and issue the statement again. The VAX Data Distributor Installation Guide describes the SYS$MANAGER:DDAL$START_TR_MON command procedure for starting the transfer monitor when the system is started. This command procedure also defines the system-wide logical symbol that identifies the transfer monitor's mailbox, DDAL$TR_MON_MBX. This logical symbol must be correctly defined and your process must have read-write privileges for the transfer monitor's mailbox. The system manager can examine the transfer monitor log file, DDAL$TM_LOG_FILE for information on why the transfer monitor is not running.
PREMATEOT
END_OF_TRANSACTION encountered prematurely Explanation: While reading from the RDB$CHANGES relation, the copy process encountered an end-of-stream condition before it found the end-of-transaction mark. User Action: Reinitialize the transaction and issue a START TRANSFER statement. If the replication transfer is not successful, please submit an SPR.
PRIV_READ_ERROR
error reading privileges Explanation: <To be supplied> User Action: <To be supplied>
QIOERR
error occurred performing QIO Explanation: <To be supplied> User Action: <To be supplied>
RDBERR
database error detected Explanation: <To be supplied> User Action: <To be supplied>
RDODEQERR
error occurred dequeueing the RDO deadman lock in the transfer monitor Explanation: <To be supplied> User Action: <To be supplied>
RELNOTFND
transferred relation <str> was not found in the source database Explanation: The relation named is listed in a MOVE clause of the transfer currently being run. It could not be found in the source database. User Action: Delete the transfer and redefine it without the relation. If the relation is needed, delete the transfer, reconstruct the relation, and re-define the transfer.
RMSERR
error occurred using RMS PARSE or SEARCH on the file <str> Explanation: <To be supplied> User Action: <To be supplied>
SCHDEQERR
error occurred dequeueing the next transfer lock <str>, LKID <num> for scheduling Explanation: <To be supplied> User Action: <To be supplied>
SCHENQERR
error occurred enqueueing the next transfer lock <str>, LKID <num> for scheduling Explanation: <To be supplied> User Action: <To be supplied>
SCH_DEF_EXIST
schedule definition for the transfer already exists Explanation: A schedule already exists for the transfer you specified. User Action: To replace the existing schedule with a new one, suspend the transfer by issuing a STOP TRANSFER statement. Delete the old schedule definition with DELETE SCHEDULE. Define a new schedule and issue a START TRANSFER statement.
SRCRELCK
error occurred in enqueueing or dequeueing the lock <str> Explanation: <To be supplied> User Action: <To be supplied>
SUPP
<str> Explanation: This message provides supplementary information sent from a low level DSRI. User Action: Interpret the message in light of the higher level messages that precede it.
SYMNOTFND
symbol table was not found for relation <str> record version "<num>" Explanation: <To be supplied> User Action: <To be supplied>
TMNBUGCHK
the transfer monitor is starting a bugcheck dump Explanation: <To be supplied> User Action: <To be supplied>
TNSF_ACT_RETRY
transfer is active or retrying Explanation: The transfer you specified in the START TRANSFER statement is already executing. User Action: None.
TNSF_NAME_UNKNOWN
transfer name is unknown Explanation: You specified the name of a transfer definition that does not exist. User Action: Enter the name of an existing transfer. You can enter a SHOW TRANSFER statement to check the names of existing transfers.
TNSF_NAME_USED
transfer name already exists Explanation: You cannot specify a transfer name that has already been defined. User Action: To replace the existing transfer definition, use the STOP TRANSFER statement to suspend the transfer and issue a DELETE TRANSFER statement to delete the current definition. Then enter the new transfer definition using the DEFINE TRANSFER statement.
TNSF_NOT_SUSPENDED
transfer is not suspended Explanation: You must suspend a tranfer before starting an operation to define or delete a schedule or to delete, reinitialize, or start a transfer. User Action: Issue a STOP TRANSFER statement to suspend the transfer. Then reissue your original command.
TOOMANYRDO
too many RDO users at this moment; please try again later Explanation: The transfer monitor rejected your request because it either is executing a transaction for another RDO user or the maximum allowable number of users attempting to request the transfer monitor's services has reached. User Action: Wait before reissuing your request.
TOO_MANY_CP
too many copy processes running; another copy process will be started later Explanation: You issued either a START TRANSFER NOW WAIT statement or a START TRANSFER NOW statement. In the case of START TRANSFER NOW WAIT, Data Distributor already is executing the maximum number of transfers that can be handled concurrently; another copy process will not be started later. In the case of START TRANSFER NOW, the message indicates that Data Distributor already is executing the maximum number of concurrent processes and that your transfer's status has changed from "suspended" to "scheduled." User Action: Issue a START TRANSFER NOW WAIT at a time when the maximum number of processes are not running. If you issued a START TRANSFER NOW statement, the transfer will execute automatically at the next scheduled transfer time.
TRANOTFOU
transfer <str> could not be found in the transfer database Explanation: The transfer monitor specifies a transfer name for the copy operation. The copy process could not find the transfer name in the transfer database. User Action: Please submit a Software Performance Report (SPR).
TRANOTSOU
transfer <str> could not be found in the source database Explanation: The copy process could not find the specified replication transfer in the special system relations in the source database. The transfer is suspended. This error can result when the user restores an old backup copy of the source database. User Action: Reinitialize the replication transfer and issue a START TRANSFER statement.
TRANS_NORETRY
transfer failed; maximum retry count reached Explanation: Your transfer has failed and the maximum number of retries you specified has been exhausted. User Action: Examine the copy process log file for an error message which indicates the reason for the transfer failure.
TRDEQERR
error occurred dequeueing the lock <str> , LKID <num> on transfer currently executing or owned by another transfer monitor Explanation: <To be supplied> User Action: <To be supplied>
TRENQERR
error occurred enqueueing the lock <str> , LKID <num> on transfer currently executing or owned by another transfer monitor Explanation: <To be supplied> User Action: <To be supplied>
TRNLNMERR
error occurred getting, creating, or translating the logical name in transfer monitor Explanation: <To be supplied> User Action: <To be supplied>
UNKNMODE
mode is out of range Explanation: The VMS operating system has returned an unknown code in response to the copy process or transfer monitor call to determine what mode it is operating in. The normal modes are NETWORK, BATCH, INTERACTIVE, or OTHER. If the copy process originated the call, the copy process stops executing and the transfer monitor marks the transfer as failed. The transfer will not retry. If the transfer monitor originated the call, the transfer monitor creates a bugcheck dump file. User Action: Refer to the transfer monitor log for information about the bugcheck dump file. Please submit an SPR with the relevant section of the transfer monitor log file and of the copy process log file.
UNRECQUAL
parameter <str> is unknown Explanation: New transfer databases are created as part of a system startup procedure which uses the command file SYS$COMMON:[SYSMGR]DDAL$INIT_TR_DB.COM or as part of your process if you invoke the transfer database directly. When you define a Digital Command Language (DCL) command or command procedure to call the transfer monitor to initialize the transfer database, you must include the INIT or NOINIT qualifier. The transfer monitor was passed a qualifier other than INIT or NOINIT and aborted its operation. User Action: Correct the DCL command or command procedure that invokes the transfer monitor to include either the INIT parameter or the NOINIT parameter.
VINNOTFND
vintage TSN <num> was not found in the source database Explanation: The source database and the destination database of a replication transfer are out of synchronization with each other. This error can result when the user restores a backup copy of the source database. User Action: Reinitialize the replication transfer and issue a START TRANSFER statement.
WRONUMARG
wrong number of arguments to an internal routine call Explanation: An internal routine with an incorrect number of arguments was called. User Action: Please submit a Software Performance Report (SPR).
Execute
The 'at' sign (@) means "execute" in RDO, just as in DCL. When you
type @ and the name of an indirect command file, RDO executes the
statements in the file as if you had typed them one at a time at the
RDO prompt. The default file type for an indirect command file is
RDO. You can use the SET VERIFY statement to have the commands in
the file displayed on the screen as they execute.
Example:
$ TYPE ACCOUNTING.RDO
INVOKE DATABASE FILENAME "DEPT3:ACCOUNTING"
SHOW DATABASES
$ RDO
RDO> @ACCOUNTING
Database with filename ACCOUNTING
Additional information available:
Format
@file-spec file-spec The name of an indirect command file. You can use either a full VMS file specification, a file name, or a logical name. If you use a file name, RDO looks in the current default VMS directory for a file by that name. The file must contain valid RDO statements.
Examples
Example 1
Use an indirect command file to execute a frequently used query:
$ TY EMPADDR.RDO
!
! This command file generates information for a mailing list.
!
SET OUTPUT 'DISK2:[DEPT32]MAILLIST.DOC'
FOR E IN EMPLOYEES
PRINT E.FIRST_NAME, E.MIDDLE_INITIAL, E.LAST_NAME,
E.ADDRESS_DATA_1, E.ADDRESS_DATA_2, E.CITY, E.STATE,
E.POSTAL_CODE
END_FOR
$ RDO
RDO> @EMPADDR
Example 2
You can use a logical name to run a command file:
$ SET DEFAULT DISK1:[FORESTER]
$ DEFINE COUNT "DISK2:[DEPT3]COUNT.RDO"
$ TYPE DISK2:[DEPT3]COUNT.RDO
!
! This command file counts the records in
! each relation in the PERSONNEL database.
!
SET NOVERIFY
SET OUTPUT COUNT.LOG
PRINT " "
PRINT "Statistics for the PERSONNEL database follow: "
PRINT " "
PRINT "Count of Employees -------> ", COUNT OF X IN EMPLOYEES
PRINT "Count of Jobs ------------> ", COUNT OF J IN JOBS
PRINT "Count of Degrees ---------> ", COUNT OF D IN DEGREES
PRINT "Count of Salary_History --> ", COUNT OF SH IN SALARY_HISTORY
PRINT "Count of Job_History -----> ", COUNT OF JH IN JOB_HISTORY
PRINT "Count of Work_Status -----> ", COUNT OF W IN WORK_STATUS
PRINT "Count of Departments -----> ", COUNT OF D IN DEPARTMENTS
PRINT "Count of Colleges --------> ", COUNT OF C IN COLLEGES
PRINT "Count of Resumes ---------> ", COUNT OF R IN RESUMES
PRINT " "
PRINT "Statistics Complete for Database - written to COUNT.LOG"
PRINT " "
PRINT " "
$ !
$ @COUNT
Statistics for the PERSONNEL database follow:
Count of Employees -------> 100
Count of Jobs ------------> 15
Count of Degrees ---------> 166
Count of Salary_History --> 729
Count of Job_History -----> 274
Count of Work_Status -----> 3
Count of Departments -----> 26
Count of Colleges --------> 16
Count of Resumes ---------> 0
Statistics Complete for Database - written to COUNT.LOG
$
Notice that the default VMS directory is not the same as the
directory containing the command file. You define the process
logical name to point to the correct command file. Then you use the
logical name as the object of the @ command.
Field attr
The characteristics of a field.
field-attributes =
DATATYPE IS ───> data-type ───┬───────────────────────────────────┬───>
└┬─┬──> validity-clause ────────┬─┬─┘
│ ├──> missing-value-clause ───┤ │
│ └──> dtr-clause ─────────────┘ │
└───────────<───────────<────────┘
Additional information available:
data-typevalidity-clausemissing-value-clausedtr-clause
data-type
Describes the characteristics of data stored in fields. Request HELP on data-types for a table of Rdb/VMS data types.
Additional information available:
Segmented string
seg-str-option = ─┬─┬───>
S
E
G
M
E
N
T
L
E
N
G
T
H typebox (I)typebox (S) ───> n ───> typebox (B)typebox (Y)typebox (T)typebox (E)typebox (S) ──┬─┬─> │ └───>
S
U
B
T
Y
P
E typebox (I)typebox (S) ────┬────>
B
L
R ──────┬────┘ │ │ ├────>
T
E
X
T ─────┤ │ │ └────> n ────────┘ │ └──────────────────────<────────────────────────┘
validity-clause
Specifies a validation check for a field. Rdb/VMS evaluates the conditional expression at run time when the field is stored or modified. validity-clause = ────>
V
A
L
I
D
I
F ───> conditional-expr ───> conditional-expr Specifies a valid conditional expression. This conditional expression must refer only to the field being defined. Ask for HELP on Cond_expr for a complete description of Rdb/VMS conditional expressions.
missing-value-clause
Specifies a numeric or character string literal that denotes that no value is stored in the field. When you retrieve or display the value, Rdb/VMS returns the contents of the MISSING_VALUE string or number. missing-value-clause = ─────>
M
I
S
S
I
N
G
V
A
L
U
E typebox (I)typebox (S) ───┬───> fxd-pnt-num ─────┬───> └───> quoted-string ───┘
Additional information available:
fxd-pnt-numquoted-stringExamples
fxd-pnt-num
A fixed-point number that Rdb/VMS uses to replace a retrieved null value. A fixed-point number always includes a decimal point, even when there are no digits to the right of the decimal point. For example, if a field contains dollar and cent values, you may want to use 0.00 as the missing value to preserve the value context when Rdb/VMS retrieves and displays null values. In this particular case, if you do not allow null values and you do not specify a missing value, Rdb/VMS fills the retrieved field with zeros. Specify a number that does not exceed the defined field length and include a decimal point.
quoted-string
A character string that Rdb/VMS uses to replace retrieved null
values. For example, you could specify a missing value of "Value not
found" to replace null values. Specify a character string whose
length does not exceed the length of the field. Enclose the string
in single or double quotation marks ("string" or 'string'). Ask for
HELP on Value_expr for a complete description of the use of literal
expressions.
Examples
Example 1
Define missing value for dates:
DEFINE FIELD STANDARD_DATE
DESCRIPTION /* Universal date field */
DATATYPE IS DATE
MISSING_VALUE IS "17-NOV-1858 00:00:00.00"
EDIT_STRING FOR DATATRIEVE IS 'DD-MMM-YYYY'.
This definition defines a missing value for date fields to be the
same as the base date and time for VMS.
Example 2
Define missing values for numeric fields:
DEFINE FIELD SALARY
DATATYPE IS SIGNED LONGWORD SCALE -2
MISSING_VALUE IS 0.00
EDIT_STRING FOR DATATRIEVE IS '$$$$,$$9.99'.
This statement specifies "0.00" as the missing value for SALARY
fields.
Example 3
Define missing values for text fields:
DEFINE FIELD ADDRESS_DATA
DATATYPE IS TEXT SIZE 20
MISSING_VALUE IS "Not available".
When you retrieve a field whose value is missing, Rdb/VMS displays
the string "Not available".
dtr-clause
Rdb/VMS provides support for VAX DATATRIEVE, the DIGITAL query
language. You can specify one or more of the following clauses:
Query header
Query name
Default value
Edit string
If you specify a DATATRIEVE attribute on a global field, you can
cancel that attribute for a particular relation, using the NO
qualifier. The NO qualifier of the dtr-clause is available when you
are changing a definition with the CHANGE FIELD or CHANGE RELATION
statement. The NO qualifier is not used with the dtr-clause of
DEFINE FIELD, DEFINE RELATION, and DEFINE VIEW.
Additional information available:
Format
dtr-clause = ─┬─>
Q
U
E
R
Y
H
E
A
D
E
R Ftypebox (O)typebox (R) ──┬─> typebox (D)typebox (T)typebox (R) ────────┬──> typebox (I)typebox (S) ─┬> quoted-string ──┬─┬─> │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ─┘ └────── typebox (/) <────────┘ │ ├─>
N
O
Q
U
E
R
Y
H
E
A
D
E
R Ftypebox (O)typebox (R) ──┬── typebox (D)typebox (T)typebox (R) ──────────┬────────────────────────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ───┘ │ ├─>
Q
U
E
R
Y
N
A
M
E Ftypebox (O)typebox (R) ────┬─> typebox (D)typebox (T)typebox (R) ─────────┬─> typebox (I)typebox (S) ─┬> quoted-string ──┬─┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ └────── typebox (/) <────────┘ │ ├─>
N
O
Q
U
E
R
Y
N
A
M
E Ftypebox (O)typebox (R) ────┬── typebox (D)typebox (T)typebox (R) ─────────┬─────────────────────────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ ├─>
D
E
F
A
U
L
T
V
A
L
U
E Ftypebox (O)typebox (R) ─┬─> typebox (D)typebox (T)typebox (R) ─────────┬─> typebox (I)typebox (S) ─┬> fxd-pnt-num ────┬─┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ └> quoted-string ──┘ │ ├─>
N
O
D
E
F
A
U
L
T
V
A
L
U
E Ftypebox (O)typebox (R) ─┬─> typebox (D)typebox (T)typebox (R) ─────────┬─────────────────────────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ ├─>
E
D
I
T
S
T
R
I
N
G Ftypebox (O)typebox (R) ───┬─> typebox (D)typebox (T)typebox (R) ─────────┬─> typebox (I)typebox (S) ──> quoted-string ────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ └─>
N
O
E
D
I
T
S
T
R
I
N
G Ftypebox (O)typebox (R) ┬─> typebox (D)typebox (T)typebox (R) ─────────┬────────────────────────────┘ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ fxd-pnt-num The default value returned to DATATRIEVE when Rdb/VMS retrieves null values. A fixed-point number is a number that always includes a decimal point, even when there are no digits to the right of the decimal point. quoted-string A literal expression that Rdb/VMS returns to DATATRIEVE.
Examples
Example 1
The following example defines a field and specifies a DATATRIEVE edit
string for that field:
DEFINE FIELD MIDDLE_INITIAL
DATATYPE IS TEXT SIZE 1
EDIT_STRING FOR DATATRIEVE IS 'X.'.
The X represents any alphanumeric character. When you access this
field through DATATRIEVE, the field value is followed by a period.
The DATATRIEVE documentation set contains a complete list of editing
characters.
Example 2
The following example defines a DATATRIEVE query name for one field
and a DATATRIEVE query header for another:
DEFINE FIELD STATE
DATATYPE IS TEXT SIZE 2
QUERY_NAME FOR DATATRIEVE IS "ST".
DEFINE FIELD SEX
DATATYPE IS TEXT SIZE 1
VALID IF SEX = 'M' OR SEX = 'F'
QUERY_HEADER FOR DATATRIEVE IS "S"/"E"/"X".
These statements define DATATRIEVE query names and query headers for
the STATE and SEX fields. The header for the SEX field will be one
character wide, like the field itself.
Preprocessors
Rdb/VMS preprocessors check and process Rdb/VMS statements in your program, converting the Rdb/VMS statements to host language calls to the database. RDBPRE, the preprocessor for BASIC, COBOL, and FORTRAN, automatically invokes the necessary host language compiler for your program. You must invoke the host language compiler after you preprocess a VAX C or VAX Pascal program with the RDML preprocessor.
Additional information available:
RDBPRE
You can invoke RDBPRE with the Digital Command Language (DCL) RUN command; once in the RDBPRE environment, you can specify the programming language and the input file specification. For example: $ RUN SYS$SYSTEM:RDBPRE INPUT FILE> MYPROG.RFO/FORTRAN A more convenient method is to define a symbol that invokes a particular preprocessor. For example, if you frequently use the preprocessor with VAX FORTRAN data manipulation language (DML) programs: $ RFOR :== $RDBPRE/FORTRAN $ RFOR MYPROGRAM.RFO
RDBPASCAL
The RDBPASCAL preprocessor is no longer available in Rdb/VMS V3.0. Use the Relational Data Manipulation Language (RDML) preprocessor instead. For information about RDML, see the RDML Reference Manual and the online RDML Help file, accessible from DCL level.
RDML
You can invoke the Relational Data Manipulation Language (RDML) preprocessor with the DCL RUN command. For example: $ RUN SYS$SYSTEM:RDML _Source file: SAL_HISTORY.RC A more convenient method is to define symbols. For example: $ RDMLC :== $RDML/C $ RDMLPAS :== $RDML/PASCAL $! $ RDMLC SAL_HISTORY.RC See the RDML Help module that is available from DCL level for details.
RDO Foreign Cmd
You can invoke RDO as a foreign Digital Command Language (DCL) command. Example: $ RDO :== $RDO $ RDO CHANGE DATABASE FILE PERS JOURNAL FILE DSK1:[TOP]PS.AIJ
Additional information available:
More
RDO as a foreign DCL command is useful in DCL command procedures because it lets you test the success or failure of the RDO DCL command line. For example, after each DCL command, you can enter in your procedure: $ IF $SEVERITY .NES. "1" THEN GOTO HANDLE_ERROR The integer values for each DCL severity level are: Value Severity 0 Warning 1 Success 2 Error 3 Information 4 Severe (fatal) error The possible integer values returned by RDO are 1, 2, or 4. The specific status codes returned by RDO are: SS$_NORMAL RDO-E-ERRDET, an error was detected RDO-F-SEVERRDET, a severe error was detected These are returned in DCL's $STATUS symbol. Users who currently invoke RDO as a foreign command will receive one of the above (as additional) messages if the RDO command fails. See the VMS DCL Dictionary for more information about handling errors in DCL command procedures.
Release Notes
The VAX Rdb/VMS Release Notes are in the following file:
SYS$HELP:RDBVMSvvu.RELEASE_NOTES
where vv = version
u = update
For example:
SYS$HELP:RDBVMS030.RELEASE_NOTES
Rel operators
Permitted Relational Operation
Symbols
EQ = True if the two value expressions are
equal.
NE <> True if the two value expressions are not
equal.
GT > True if the first value expression is
greater than the second.
GE >= True if the first value expression is
greater than or equal to the second.
LT < True if the first value expression is less
than the second.
LE <= True if the first value expression is less
than or equal to the second.
BETWEEN True if the first value expression is
between the second and third or equal to
one of them.
ANY True if the record stream specified by the
RSE includes at least one record. If you
add NOT, the condition is true if there are
no records in the record stream.
MATCHING True if the second expression matches a
substring of the first value expression.
MATCHING uses these special characters:
* Matches any string
% Matches any character
MISSING True if the value expression is null.
UNIQUE True if the record stream specified by the
RSE includes only one record. If you add
NOT, the condition is true if there is more
than one record in the record stream or the
record stream is empty.
CONTAINING True if the string specified by the second
string expression is found within the
string specified by the first. Not
case sensitive.
STARTING WITH True if the first characters of the first
string expression match the second string
expression. Case sensitive.
Segment str
A special Rdb/VMS data type designed to handle large pieces of data with a segmented internal structure. The maximum size of a string segment is 64K bytes. Except for the length of the string's segments, Rdb/VMS does not know anything about the type of data contained in a segmented string. In a segmented string, you can store large amounts of text, long strings of binary input from a data collecting device, or graphic data. A program can then extract the data from the database and handle it in the appropriate way.
Additional information available:
More
Because Rdb/VMS does not know what kind of data is contained in a
segmented string, you cannot perform many of the standard data
manipulation functions on it. You cannot use logical operators, such
as EQ and CONTAINING, to compare segmented strings. Rdb/VMS does not
perform any data type conversion on data that is transferred into or
out of a segmented string. You can use the MISSING operator on a
segmented string field.
Rdb/VMS defines a special name to refer to the segments of a
segmented string. This name is equivalent to a field name; it names
the "fields" or segments of the string. Furthermore, because
segments can vary in length, Rdb/VMS also defines a name for the
length of a segment. You must use these names in the value
expressions that you use to retrieve the length and value of a
segment. These names are:
RDB$VALUE The value stored in a segment of a segmented
string
RDB$LENGTH The length in bytes of a segment
Because a single segmented string field value is made up of multiple
segments, you must manipulate the segments one at a time. Therefore,
segmented string operations require an internal looping mechanism,
much like the record stream set up by a FOR or START_STREAM
statement.
Tech changes
The V3.0 major new features and technical changes include:
o Multifile databases. In V3.0, you can define storage area (RDA) files
that contain user-stored data from one or multiple relations. You can
place these files on separate disks. Rdb/VMS V3.0 can greatly reduce
the disk I/O bottleneck that could occur in earlier releases and lets
you create and use larger databases. The DEFINE DATABASE statement
reflects the multifile changes.
o The addition of storage maps. You can now define storage maps to
partition data over multiple relations. See the new DEFINE STORAGE
MAP, CHANGE STORAGE MAP, and DELETE STORAGE MAP statements.
o Two new statements, SHOW STORAGE AREAS and SHOW STORAGE MAPS. These
statements let you display information about these new multifile
features.
o New record storage and access options, along with the multifile
database feature. You can define hashed indexes (in addition to the
sorted, or B-tree, indexes used in earlier releases). Hashed indexes
provide direct access to a specific record but are not useful for
range retrievals. You can also create clustered indexes. An index
that is clustered causes records to be stored in the relation in
approximately the same order in which they appear in the index. These
changes are reflected in the DEFINE INDEX and DEFINE STORAGE MAP
statements.
o Support for VAX CDD/Plus V4.0. This support lets you use shareable
field and record definitions. See the DEFINE FIELD and DEFINE
RELATION statements.
o Enhancements to the INTEGRATE statement. This statement now lets you
copy metadata from the data dictionary into the database.
o Two new statements, RDO EXPORT and RDO IMPORT. The RDO EXPORT
statement replaces the existing RDO BACKUP statement, and the RDO
IMPORT statement replaces the RDO RESTORE statement. All new options
will be added to the IMPORT and EXPORT statements. The RESTORE and
BACKUP statements are maintained for compatibility with applications
that use previous versions of Rdb/VMS. However, DIGITAL recommends
the use of the IMPORT statement rather than the RESTORE statement, and
the use of the EXPORT statement rather than the BACKUP statement. You
can use the EXPORT and IMPORT statements to restructure a single-file
database into a multifile database.
o A new option in the RECOVER statement. This option lets you speed the
recovery process by specifying the number of database buffers and a
new trace option to display details of the recovery process.
o The ability to specify the number of database buffers used during the
automatic recovery process. The NUMBER OF RECOVERY BUFFERS option has
been added to the DEFINE DATABASE, CHANGE DATABASE, and IMPORT
statements.
o After-image journal file performance enhancements. On the CHANGE
DATABASE statement, you can specify the amount of disk space initially
allocated to the after-image journal file, and the size of after-image
journal file extents.
o Enhancements to the CHANGE DATABASE statement. You can now change
more database characteristics than in previous versions of Rdb/VMS.
o A new PLACE statement. This statements lets you determine the target
page number for records that are to be loaded into the database.
o A new option on the SET statement. This option lets you direct RDO
not to execute data manipulation statements you issue in an
interactive RDO session. You can use this in conjunction with
RDMS$DEBUG_FLAGS to display the access strategies and cost of
executing a query, without actually executing the query.
o Two new statements, DECLARE_STREAM and a declared START_STREAM
statement. These statements let you have more flexibility in
programming.
o New Rdb/VMS Management Utility (RMU) commands.
o RMU/ANALYZE
Displays statistics on database space usage.
o RMU/ANALYZE/INDEXES
Displays statistics on indexes.
o RMU/BACKUP database
Performs a full or incremental backup of an Rdb/VMS database.
o RMU/BACKUP/AFTER_JOURNAL
Truncates a database's current after-image journal (AIJ) file and
creates a backup of the AIJ file. This command replaces the RDO
SPOOL command used in previous versions of Rdb/VMS.
o RMU/CONVERT
Converts an existing database to a format compatible with a new
version of Rdb/VMS. This command replaces the RDO CONVERT
statement used in previous versions of Rdb/VMS.
o RMU/DUMP/BACKUP
Displays information about a file produced with RMU/BACKUP.
o RMU/RESTORE
Restores a database to the condition it was in at the time of a
full or incremental backup.
o RMU/VERIFY
Checks and verifies the internal integrity of database data
structures.
Value expr
A symbol or string of symbols that you use to calculate a value.
When you use a value expression in a statement, Rdb/VMS calculates
the value associated with the expression and uses that value when
executing the statement. Any value expression can be enclosed in
parentheses or preceded by a minus sign.
You can get help on each of the following Rdb/VMS value expressions:
Host_variable Arithmetic_expression
Database_field FIRST_FROM_expression
Literal Concatenated_expression
Statistical_expression Database_key
Additional information available:
host variabledatabase fieldliteralstatistical expressionarithmetic expression
first fromconcatenated expressiondatabase key
host variable
A host or substitution variable, used to communicate with a calling (host) program. A host language program declares a host language variable and then assigns database values to it. Host language variables are not used in RDO. You can also use host language variables as names to represent databases and database elements. These names are called handles.
Additional information available:
database handletransaction handlerequest handle
database handle
A variable name declared as a longword in a host language program. You can use the database handle in several statements and clauses to identify a database.
transaction handle
A host language variable you associate with a transaction. If you do not declare the transaction handle explicitly, Rdb/VMS attaches an internal identifier to the transaction. The ability to declare a transaction handle is provided for compatibility with other database products and future releases of VAX Rdb/VMS.
request handle
A host language variable you associate with a compiled request.
database field
--> context-var . field-name -->
The name of a field in the database that consists of a context
variable and a field name. A context variable is a temporary name
that you associate with a relation. You define a context variable in
a record selection expression. For more information, request HELP on
Context_var or RSE.
For example:
FOR E IN EMPLOYEES PRINT E.LAST_NAME
| | | |
| | +------+-----+
| | |
context relation database
variable name field
literal
A character string or a numeric literal. You can use a literal as a
value expression. For example:
FOR E IN EMPLOYEES WITH E.LAST_NAME = "Toliver"
PRINT E.EMPLOYEE_ID -------
END_FOR |
string literal
FOR S IN SALARY_HISTORY WITH S.SALARY_AMOUNT > 40000
PRINT S.EMPLOYEE_ID -----
END_FOR |
numeric literal
statistical expression
Calculates a value based on a value expression for every record in a record stream. When you use a statistical expression (except for COUNT), you specify a value expression and a record selection expression (RSE). Rdb/VMS first evaluates the value expression for each record in the record stream formed by the RSE. Then it calculates a single value based on all the results of the first step. For more information on value expressions and record selection expressions, ask for HELP on Value_expr and RSE.
Additional information available:
Format
statistical-expr = ───────┬──>
M
A
X ─────┬──> value-expr ──┬──>
O
F ──> rse ──> ├──>
M
I
N ─────┤ │ ├──>
T
O
T
A
L ───┤ │ ├──>
A
V
E
R
A
G
E ─┘ │ └──>
C
O
U
N
T ─────────────────────┘
AVERAGE
--> AVERAGE --> value-expr --> OF --> rse -->
Display the average salary of all the employees whose salaries exceed
$50,000:
PRINT AVERAGE CS.SALARY_AMOUNT OF
CS IN CURRENT_SALARY WITH
CS.SALARY_AMOUNT GT 50000
COUNT
--> COUNT --> OF --> rse -->
The following COBOL code fragment finds out the number of employees
who live in a particular state, specified by the host language
variable STATE:
ACCEPT STATE.
&RDB& GET STATE-COUNT = COUNT OF E IN EMPLOYEES
&RDB& WITH E.STATE = STATE
&RDB& END_GET
DISPLAY "Number of employees in ", STATE, " is ",
STATE-COUNT.
MAX
--> MAX --> value-expr --> OF --> rse -->
Find the highest paid employee in the company:
START_TRANSACTION READ_ONLY
FOR SAL IN CURRENT_SALARY WITH SAL.SALARY_AMOUNT =
MAX CURR.SALARY_AMOUNT OF
CURR IN CURRENT_SALARY
PRINT SAL.EMPLOYEE_ID,
SAL.LAST_NAME,
SAL.SALARY_AMOUNT
END_FOR
COMMIT
MIN
--> MIN --> value-expr --> OF --> rse -->
Find the job title with the smallest minimum salary:
FOR J IN JOBS WITH J.MINIMUM_SALARY =
MIN JM.MINIMUM_SALARY OF JM IN JOBS
PRINT J.JOB_TITLE,
J.MINIMUM_SALARY
END_FOR
TOTAL
--> TOTAL --> value-expr --> OF --> rse --> Assign the total payroll for the company to a host language variable: &RDB& START_TRANSACTION READ_ONLY &RDB& GET TOTAL-SALARY = TOTAL CH.SALARY_AMOUNT &RDB& OF CH IN CURRENT_SALARY &RDB& END_GET &RDB& COMMIT
arithmetic expression
An arithmetic expression combines arithmetic operators with: numeric values, numeric host language variables, and/or numeric database fields. When you use an arithmetic expression in a statement, Rdb/VMS calculates the value associated with the expression and uses that value when executing the statement. Therefore, an arithmetic expression must be reducible to a value. If either operand of an arithmetic expression is a null value, the resulting value is also null. arith-expr = ─┬─> numeric-value ─┬──┬──> typebox (+) ──┬──┬─> numeric-value ─┬───> ├─> numeric-host-var ─┤ ├──> - ──┤ ├─> numeric-host-var ─┤ └─> numeric-db-field ─┘ ├──> typebox (*) ──┤ └─> numeric-db-field ─┘ └──> typebox (/) ──┘
first from
The FIRST FROM expression works in two steps:
o It forms the record stream as specified by the record selection
expression.
o If at least one record matches the RSE, Rdb/VMS uses the values
stored in the first record of the record stream to evaluate the
value expression.
Format
first-from-expr
───>
F
I
R
S
T ───> value-expr ───>
F
R
O
M ───> rse ───>
concatenated expression
A value expression that combines two other value expressions by joining the second to the end of the first. Concatenated expressions uses the concatenate operator (|). You can combine value expressions of any kind, including numeric expressions, string expressions, and literals. You can use concatenated expressions to simulate group fields and edit strings. Format concat-expr = ───> value-expr ───> | ───> value-expr ───>
Additional information available:
Examples
Example 1
Use a concatenated expression as a field in a view:
DEFINE VIEW MAIL OF
E IN EMPLOYEES.
NAME COMPUTED BY
E.FIRST_NAME | ' ' | E.MIDDLE_INITIAL | ' ' | E.LAST_NAME.
E.ADDRESS_DATA_1.
E.CITY.
E.POSTAL_CODE.
END MAIL VIEW.
This statement creates a field for the view by combining the three
name fields from the EMPLOYEES relation.
Example 2
Use a concatenated expression to simulate an edit string:
DEFINE VIEW BUCKS OF S IN SALARY_HISTORY.
EMPLOYEE_ID.
SALARY_START.
SALARY_END.
SAL COMPUTED BY "$"|S.SALARY_AMOUNT.
END.
When you display the fields of BUCKS, a dollar sign appears in front
of the salary amount.
database key
A pointer that indicates a specific record in the database. You can
use the database key to retrieve a record in a FETCH statement or in
a record selection expression. Database keys are intended primarily
for use in host language programs.
db-key =
───> context-var ──> . ───>
R
D
B
$
D
B
K
E
Y ───>