RDB/VMS Relational Database Operator — VMS RDB_4.1_M
Additional information available:
$@ANALYZEAT_ENDBACKUPCHANGECHANGE_DATABASE
CHANGE_FIELDCHANGE_INDEXCHANGE_PROTECTION
CHANGE_RELATIONCHANGE_STORAGE_MAPCOMMITCONVERT
CREATE_SEGMENTDATABASEDECLARE_STREAMDEFINEDEFINE_COLLATING
DEFINE_CONSTRAINTDEFINE_DATABASEDEFINE_FIELDDEFINE_INDEX
DEFINE_PROTECTIONDEFINE_RELATIONDEFINE_STORAGE_MAP
DEFINE_TRIGGERDEFINE_VIEWDELETEDELETE_COLLATING
DELETE_CONSTRAINTDELETE_DATABASEDELETE_FIELDDELETE_INDEX
DELETE_PATHNAMEDELETE_PROTECTIONDELETE_RELATIONDELETE_STORAGE_MAP
DELETE_TRIGGERDELETE_VIEWEDITEND_SEGMENT
END_STREAMERASEEXITEXPORTFETCHFINISH
FORGETHELPIMPORTINTEGRATEINVOKE
MODIFYNEW_FEATURES_V4.1ON_ERRORPLACEPRINTRDOINI
READYROLLBACKRSESETSHOWSTART_SEGMENT
START_STREAMSTART_TRANSACTIONSTORE
Access rightsCommand RecallCond exprDatatypesData DistribDCL invoke
DemoErrorsExecuteField attrLogical NamesPreprocessors
RDO Foreign CmdRelease NotesRel operatorsSegment strValue 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.
o If you want to grant all access rights, you can do so by
specifying the keyword "ALL" instead of listing all the access
rights.
o If you want to deny all access rights, you can do so by
specifying the keyword "NONE".
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 | +----------------+-------------+----------------+ | | | | | 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 | +---------------------------+---------------+------------------+ | | | | | Define global field, | DEFINE | NODEFINE | | relation, or storage map | | | | | | | | Change global field | CHANGE | NOCHANGE | | | | | | Delete global field | DELETE | NODELETE | | | | | | Run two-phase commit | DISTRIBTRAN | NODISTRIBTRAN | | transaction on database | | | | | | | | Define, change, delete | CONTROL | NOCONTROL | | database protection | | | | | | | | [future versions] | REFERENCES | NOREFERENCES | | | | | | Specify, show, and review | SECURITY | NOSECURITY | | the security audit trail | | | | | | | | [future versions] | SHOW | NOSHOW | | | | | | Open or close a database | ADMINISTRATOR | NOADMINISTRATOR | | | | | | Any CHANGE DATABASE | ADMINISTRATOR | NOADMINISTRATOR | | option | | | | | | | | Delete a database | ADMINISTRATOR | NOADMINISTRATOR | +---------------------------+---------------+------------------+ This table lists the access rights that control access to relation definitions. +---------------------------+---------------+------------------+ | | | | | Access Right | To Grant | To Deny | +---------------------------+---------------+------------------+ | | | | | Define index or storage | DEFINE | NODEFINE | | map | | | | | | | | Define trigger | READ,DEFINE | NOREAD,NODEFINE | | | | | | Define view or constraint | READ,DEFINE | NOREAD,NODEFINE | | | | | | 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] | | | | | | | | [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. The AND, OR, and NOT operators are called logical operators.
Additional information available:
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 ───────────────────────────────────┘
Additional information available:
ANYBETWEENCONTAININGMATCHINGMISSINGSTARTING_WITH
UNIQUE
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.
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 uppercase 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.
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 uppercase and lowercase forms of the same letter to be a match. If either of the expressions 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.
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 uppercase 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.
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 stream or the record stream is empty.
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 byte 8 bits -128 to n = scale
BYTE integer 127 factor
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 0.29 x 10**(-38) None
Single to 1.7 x 10**38
precision Approximately
floating seven decimal
point number digits
G_FLOATING G_floating 64 bits 0.56 x 10**(-308) None
Extended to 0.9 x 10**308
precision Approximately
floating 15 decimal
point number digits
DATE Absolute date 64 bits Not None
and time applicable
TEXT ASCII text n bytes 0 to 32767 n = number
of
characters characters
(unsigned
integer)
VARYING Varying Varies 0 to 32765 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 Segment_str.
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:DDAL021.RELEASE_NOTES
Error msg doc
Errors returned by Data Distributor are documented online 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:
More
You must have the Rdb/VMS READ privilege for a database to use the SHOW TRANSFER statement.
Format
SHOW TRANSFER ────> transfer-attribute ───┐ ┌──────────────────────────────────────┘ └──────>
F
O
R ───┬───>
A
L
L ────────────┬───> └───> transfer-name ──┘
Additional information available:
transfer-attributetransfer-name
transfer-attribute
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 ────────────┘ The type of information you want displayed about the selected transfer or all transfers.
Additional information available:
DEFINITION
Displays transfer definition information for the specified transfer or for all transfers.
SCHEDULE
Displays schedule definition information for the specified transfer or for all transfers.
STATUS
Displays the following status information for the specified transfer
or for all transfers:
o Transfer name
o State of the current transfer (unscheduled, scheduled, active,
waiting-to-retry, retrying, suspended)
o Time the transfer entered its current transfer state
o Last transfer status
o Time the last successful transfer completed
o Next scheduled transfer time (for transfers in the scheduled or
waiting-to-retry state)
o Number of the currently executing retry (for transfers in the
retrying state)
o Number of the next retry (for transfers in the waiting-to-retry
state)
ALL
Displays all information about the definition, schedule, and status for the specified transfer or for all transfers.
ALL
Specifies that you want Data Distributor to display information about all transfers associated with your UIC. For transfers belonging to other UICs, Data Distributor displays only the transfer name. To display information about transfers belonging to other UICs, you must have VMS BYPASS or READALL privilege.
transfer-name
The transfer about which you want Data Distributor to display information.
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 have the Rdb/VMS ERASE privilege to the transfer relation to use the DELETE TRANSFER statement. 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 ──┘
Additional information available:
REPLICATIONEXTRACTIONEXTRACTION_ROLLUPRSE
transfer-nametextfile-spectarget-db-param-clausemove relations clause
move-views-clausemove-relations-rollup-clausetransfer-file-options-clause
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 reaad/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.
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.
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.
target-db-param-clause
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) ───┘ │
└──────────────────<──────────────────────────<────────────┘
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.
Additional information available:
ENABLED_IMMEDIATEENABLED_DEFERREDDISABLED
number-pagespage-blocksnumber-buffersnumber-usersbuffer-blocks
ext-pagessnp-pagesmulti-vol-ext-clause
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. Specify an unsigned integer between 2 and 32768. 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 2032, and the fewest number of users 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.
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.
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.
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 ────>
Additional information available:
min-pages
The minimum number of pages of each target database extent. The default is 99 pages.
max-pages
The maximum number of pages of each target database extent. The default is 9,999 pages.
growth
The percent of growth for each target database extent. The default is 20 percent growth.
move relations clause
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 (;) <───────────────────┘ 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.
Additional information available:
MOVE_RELATIONS_ALLSELECT_FIELDS_ALL
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.
text
A text string that allows you to associate a comment with the MOVE RELATION clause. The DESCRIPTION IS clause is optional.
rse
For more information on record selection expression, select the subtopic RSE under the DEFINE_TRANSFER Format subtopic.
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.
select-field-name
select-field-name =
────────> context-variable ──> . ───> 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.
move-views-clause
move-views-clause = ────>
M
O
V
E
V
I
E
W
S ──┬──>
A
L
L ───────────┬───> └┬─> view-name ──┬──┘ └────── , <──────┘ 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.
Additional information available:
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
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 (;) <───────────────────────┘ 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.
Additional information available:
rse
For more information on record selection expression, select the subtopic RSE under the DEFINE_TRANSFER Format subtopic.
select-field-name
select-field-name =
────────> context-variable ──> . ───> 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.
transfer-file-options-clause
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)
I
S ─────────> log-file-spec ────────────┤
│ └──>
N
O
L
O
G ───────────────>───────────────────────────┤
└───────────────────────────<───────────────────────────┘
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.
Additional information available:
prologue-file-specepilogue-file-speclog-file-spec
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.
RSE
rse = ──┬────────>────────┬──> relation-clause ──>────────────────────┐ └─> first-clause ─┘ │ ┌───────────────────────────────────────────────────────────────┘ └┬───────>────────┬─┬────────>──────────┬──┬────────>────────┬───> └─> with-clause ─┘ └─> reduce-clause ──┘ └─> sort-clause ──┘ 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.
Additional information available:
first-clauserelation-clausewith-clausereduce-clausesort-clause
first-clause
first-clause =
────>
F
I
R
S
T ──────> value-expr ───────────>
value-expr =
───────┬────> database-field ──────┬──>
├────> quoted-string ───────┤
├────> numeric-literal ─────┤
├────> arithmetic-expr ─────┤
├────> missing-value ───────┤
├────> concat-expr ─────────┤
├────> ( value-expr ) ──────┤
└────> ─ ──> value-expr ───┘
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
relation-clause =
─> context-variable ─>
I
N ┬────────>────────┬─> relation-name ─>
└> db-handle ─> . ┘
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.
The 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.
The db-handle is 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
with-clause = ─────────────>
W
I
T
H ──────────> conditional-expr ───────────> 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 ──────────────────────────────────┘ The 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.
reduce-clause
reduce-clause = ──────────────>
R
E
D
U
C
E
D
T
O ───┬─────> value-expr ───┬─────> └──────── , <─────────┘ value-expr = ───────┬────> database-field ──────┬──> ├────> quoted-string ───────┤ ├────> numeric-literal ─────┤ ├────> arithmetic-expr ─────┤ ├────> missing-value ───────┤ ├────> concat-expr ─────────┤ ├────> ( value-expr ) ──────┤ └────> ─ ──> value-expr ───┘ 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
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 ───┘ │ └────────────────────── , <───────────────┘ value-expr = ───────┬────> database-field ──────┬──> ├────> quoted-string ───────┤ ├────> numeric-literal ─────┤ ├────> arithmetic-expr ─────┤ ├────> missing-value ───────┤ ├────> concat-expr ─────────┤ ├────> ( value-expr ) ──────┤ └────> ─ ──> value-expr ───┘ 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. Specifying ASCENDING (the default) causes the records to be sorted in ascending order. Specifying DESCENDING causes Rdb/VMS to sort the records in descending order. The value expression specifies the sort value. This value is called the sort key.
More
You need the Rdb/VMS WRITE privilege for the transfer relation to use
the DEFINE TRANSFER statement.
You must have the Rdb/VMS 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 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 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) ─┘
Additional information available:
transfer-namestart-date-timeevery-delta-timeevery-absolute-time
countdelta-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
every-absolute-time = ─────┬──────>
D
A
Y ──────┬──┬───────────>─────────┬─┬───> ├──────>
W
E
E
K ─────┤ └──>
A
T ──> at-time ──┘ │ ├──────>
M
O
N
T
H ────┘ │ └──┬───> weekday ───┬──────────>────────┬──┬──┘ │ └─>
A
T ──>at-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.
Additional information available:
DAY
The transfer executes on a daily basis.
WEEK
The transfer occurs every week on the same day of the week as the initial transfer.
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.
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
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. 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.
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
If you want to reinitialize a particular transfer, the transfer definition must be associated with your UIC. 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.
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:
More
You need no special Rdb/VMS privileges to use this statement.
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.
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:
ACCVIOACENOTFNDACTQUERYACTUPDREQAIJACTIVE
AIJALLDONEAIJBADAREAAIJBCKACTAIJBCKFAIL
AIJBCKSEQAIJCONFIRMAIJCURSEQAIJDEVDIRAIJDISABLED
AIJENABLEDAIJFILEGONEAIJFNLSEQAIJGOODAREA
AIJMODSEQAIJMOREWORKAIJNOACTIVEAIJNOENABLED
AIJNXTFILAIJNXTSEQAIJONEDONEAIJOPTSUCAIJPREPARE
AIJQUIETPTAIJRECOBSAIJRECTRMAIJROOSEQAIJSEQAFT
AIJSEQPRIAIJVNOSYNCALLMINALROPEANAEXTOBS
AREABUSYAREA_CORRUPTAREA_DELETEDAREA_INCONSIST
AREA_NAMEAREA_RESTRUCTARITHBADAIJBCK
BADAIJFILEBADAIJSEQBADAIJUNTILBADAIJVER
BADASCTOIDBADBNDPRMBADBOUNDSBADBUFSIZ
BADDATDEFBADDBNAMEBADFILTYPBADHANDLE
BADPARAMBADROOTMATCHBADSEGSTROPTBADSPAMINT
BAD_AREA_NAMEBAD_CODEBAD_DATATYPEBAD_NAME
BAD_SYMBAD_XPRBDDATRANGBKUPEMPTYAIJBOUND
BPPMAXBPPMINBUFLIMEXCBUFSMLPAGBUFTOOSML
BUGCHECKBUGCHKDMPCANTASSMBXCANTBINDRT
CANTCLOSEDBCANTCREDBRCANTCREGBLCANTCREMBX
CANTCREMONCANTDELETECANTLCKTRMCANTMAPTROOT
CANTOPENDBCANTOPENINCANTQIOMBXCANTREADDB
CANTREADDBSCANTSNAPCANTSPAWNCANTWRITEDBS
CATALOGEXISTSCATALOGINUSECATNOTFOUNDCDDDICTALONE
CDDISREQDCDDREQALONECHECKSUMCHGIDXNOADDMAP
CMTCONNOTDELCNVNUMDATCOLEXTSCOLINVFLDTYP
COLLFAILURECOLLFMTUNKCOLNOEXTSCOLNOTDEF
COLRESERVEDCOLUSEDDBCOLUSEDFLDCOLUSEDREL
COMPLEXCOMPNOTENACOMPNOTNUMCOMPNOTTEXT
CONDELVIARELCONEXICONEXTSCONFTXNOPTIONCONNOEXI
CONNOTDEFCONNOTDELCONVERRCONVWCSETBADASSIGN
CSETBADCOMPARECSETBADCONCATCSETBADESCAPECSETBADOPER
CSETNOASCIICSETNOTFOUNDDATCNVERRDBACTIVE
DBBUSYDBCRUPTDBNOTACTIVEDBNOTEXTENDBNOTINTRAN
DBNOTMULTSCHEMDBNOTOPENDBRABORTEDDBSHUTDOWN
DB_CORRECT_VERDEADLOCKDEFLISTWORMDOFULLBCK
DT_FRACMBZDT_PRECMBZDUPLANAMEDUPLFNAME
DUPLTRGTYPEDUPNOTALLEMPTYAIJEMPTYFILE
ENDERRFOREIGNERROPENINERROPENOUT
ERRWRITEEXQUOTAEXTDBONLYEXT_LENGTH_CHEXT_NEED_DT
EXT_WEEKDAY_TSFCJOUDISFIEUSETRAFILACCERRFLDEXFLDINCOM
FLDINCOMRELFLDINCONFLDINSTOFLDINTRGFLDINUSEFLDINVIEW
FLDLSTCONDUPSFLDNOEXFLDNOEXIFLDNOTCHGFLDNOTDEL
FLDNOTINRELFLDVALIDIFGETTXNOPTIONGFLDEXTS
GFLDNOEXGOODAIJSEQHASHEDMIXIDXCOMPLENERR
IDXMAPLIMIDXMAPLMTIDXMAPLMTERRIDXNOTDEF
IDXNOTDELILLNCHARINDEXTSINDEX_S_MAXINDEX_S_MIN
INDINMAPINDLIMITBADINDNEEDSLIMITINDNOTEXIINDNOTREL
INDTOOBIGINFUNKINVACE_LENGTHINVCATALOGID
INVDATOPRINVDBSFILINVDB_NAMEINVDB_TYPE
INVDTYPINDXINVDTYPKEYINVFORUPDATEINVHEADER
INVIDENTINVMAXROWSINVMAXTIMEINVNAMEINVOPTPREF
INVSCHEMAIDINVSUBSTRLENINVTBL_NAMEINVTRGACT_STMT
INV_DATE_CHGINV_DIGITSINV_PCT_FILLINV_PRECISION
INV_RATORINV_ROOTINV_SCALEINV_SUB_TYPE
JOIN_CTX_UPDLASTARENOLIMITLBMAXLBMINLCKCNFLCT
LOGAIJBCKLOGCREOPTLOGMODSPMLOGMODSTO
LOGRECOVRLOGRECSTATLOGRESOLVELOGSUMMARY
MAPAREAINUSEMAPBLRMISSINGMAPNMINUSEMAPREFAREA
MAXRECLIMMAXRELVERMAXTIMLIMMAX_CCTX
MISMMORDDMISSINGINVMIXCLUSTMONALSTART
MONFLRMSGMONMBXOPNMONSTOPPEDMULTCHGAREA
MULTPLACEVIAMULTSCHEMALONEMULTSCHEMNODISMULTSCHEMNOW
MUSTRECDBNBMAXNBMINNDXPMTDUPSNOACCSEGSTR
NOAIJDEFNOCATALOGNOCHARNOCHGRDBSYSNOCHGVW
NOCREMBXNOCRESYNONYMNODBKNODELPRIVANSI
NODELSEGSTRNODEVDIRNODMAXNODMINNODROPSYNONYM
NODUPSANSINOGRPANSINOIDENTANSINOINTERUNI
NOLOCKSOUTNOMAPONVIEWNOMETAUPDNOMETSYSREL
NOMONITORNOMOREGBNONODENOOPTCURNOOPTNOQUIET
NOOPTOPTNOOPTPRVNOQUIETNOOPTUNRESNOPLACEANSI
NOPRIVNORTUPBNOSCHEMANOSIPNOSNAPSNOSTAREAEXT
NOSTATSNOSTRTUPNOSYNONYMNOTBOOLNOTDSKFIL
NOTHRESUNINOTIMPLYETNOTIPNOTOPENOTRANAPP
NOTROOTNOTSYSCONCEALNOT_BOUNDNOT_LARDY
NOT_LICENSEDNOT_READYNOT_RESERVNOT_UPDATE
NOT_VALID_FRNOVIEWINDNOWILDNOWORMSPT
OBSVEROK_NO_ACEOPCLOOBSOPERCLOSEOPERSHUTDN
OPTINCONSISOPTNOAREARECOPTNOUNTILRECOVERFLOW
PARTDTXNERRPARTOPERBADPLACEVIA1STPREMEOF
PRI_RELCONEXTSQIOXFRLENQUIETPTREADONLYREAD_ONLY
RECMAXEXCREFINGFLDMSMTCHRELALRDYMPRELCONEXTS
RELCONNOEXIRELEXIRELEXTSRELFLDEXRELFLDNOC
RELFLDNODRELINCOMRELNEXTSRELNOEXIRELNOTCHG
RELNOTDELRELNOTEMPTYRELUSETRAREQPBLCANSI
REQUNIFORMRESTARTRLCREFDBYRLCROOMAJVER
ROOTMAJVERRUJDEVDIRSCHEMAEXISTSSCHEMAINUSE
SCHNOTFOUNDSEGALRDYMPSEGMAPONWORMSEGSTR_AREA_INC
SEGSTR_NO_CHGSEGTOOBIGSETWIDTHSIPSNAPFULL
SNPDISCJSORTKEYEXTSORTOPERRSPAMNOTDIS
SPAMNOTRDONLYSPAMNOTWRMSPIMAXSPIMINSSAREANOTEMPTY
SSNOTINROOTSTALLSTAREAFULSTOMAPNOEXI
SYMTOOBIGSYNERRSYSRDONLYTABIDNOTDEF
TABNOTDEFTADMISMATCHTERMINATETHRESHAREEXI
THRESHUNIFTIMEOUTTRANSFDEFTRAN_IN_PROG
TRGEXITRGEXTSTRGINUPDREQTRGNOEXITRGNOSUBJCTX
TRGVWTRIGNODELTRIG_ERRORTRNNOTDEF
TRNNOTDELTRUETRUNCATIONTRUNRGTSTR
UNDERFLOWUNI_RELCONNOEXIUNLIKECOLLUNSARITH
UNSCATALOGUNSCOMPUNSCONVUNSSCHEMAUNSSYNONYM
UNS_DTYPEUPDINSNAPUPDRECURSTRIGUSEUNOPTAIJ
USRMAXUSRMINVCO_NOFIRSTNVIEWEXIVIEWINVIEW
VIEWNOEXIVIEWNORETVIEWNOTDELVIEWNOUP
VIEW_NO_ANAWASBOOLWISH_LISTWRMNOTMIXWRMRDONLY
WRNG_RELXPR_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.
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.
ACTQUERY
there are queries compiled that reference relation <str> Explanation: You tried to change metadata associated with the specified relation but a compiled query (request) exists that depends on the current relation metadata. User Action: Finish using the referencing request and release it, then retry the metadata update.
ACTUPDREQ
there are active update requests that reference relation <str> Explanation: You tried to change metadata associated with the specified relation but a request is active that depends on the current relation metadata for some update action. User Action: Finish using the referencing request and release it, then try the metadata update again.
AIJACTIVE
<num> active transaction(s) not yet committed or aborted Explanation: Upon completion of the roll-forward operations for the current AIJ file, more than 1 transactions remain active. That is, the commit or roll-back information resides in the next AIJ file to be processed. It is also possible that one or more of these active transactions are prepared transactions, which may be committed or aborted by the recovery operation using DECdtm information; in this case, a separate message indicating the number of prepared transactions will be displayed. User Action: No user action is required. This message is informational only.
AIJALLDONE
AIJ roll-forward operations completed Explanation: The AIJ roll-forward operation has completed. User Action: No user action is required. This message is informational only.
AIJBADAREA
inconsistent storage area <str> needs AIJ sequence number <num> Explanation: The indicated storage area has been marked inconsistent with the rest of the database. The AIJ file with the indicated sequence number is required to commence recovery of the area. If the sequence number of the AIJ file is different than the indicated sequence number, recovery of the area will not be performed. User Action: No user action is required. This message is informational only.
AIJBCKACT
AIJ modify operation not allowed; AIJ backup in progress Explanation: An AIJ backup is currently in progress. While an AIJ backup is in progress, AIJ modify operations, such as disabling AIJ journalled or changing the default AIJ filename, are not permitted. If the AIJ backup was prematurely terminated by the user, another AIJ backup must complete before AIJ modifications are permitted. User Action: Allow the AIJ backup to finish before attempting the AIJ modify operation. If the AIJ backup was prematurely terminated by the user, start another AIJ backup and allow it to complete; the AIJ modify operation will then be possible.
AIJBCKFAIL
the AIJ backup that created the AIJ file did not complete Explanation: It appears that the AIJ backup process, that created the AIJ file currently being recovered, failed or was prematurely terminated. When this occurs, it is possible that one or more transactions active at the time of the backup failure may not have been recovered completely. User Action: Roll-forward the next AIJ file, which should contain the commit information for any transactions that were not completely recovered. If there are no more AIJ files to be rolled-forward, then all transactions have been completely recovered.
AIJBCKSEQ
backing up current AIJ file sequence number <num> Explanation: The created AIJ backup file will be internally identified with the indicated sequence number. When AIJ files are rolled-forward, the roll-forward utility will prompt for specific AIJ sequence numbers. The AIJ file sequence number should be included as a component of any external file identification information, such as magtape labels. User Action: No user action is required. This message is informational only.
AIJCONFIRM
do you wish to continue the roll-forward operation [<char>]: Explanation: Prompt the user to continue or terminate the AIJ roll-forward operation. User Action: Enter 'YES' to continue the roll-forward operation. Enter 'NO' to terminate the roll-forward operation. Any other response will also result in the termination of the roll-forward operation.
AIJCURSEQ
specified AIJ file contains sequence number <num> Explanation: The specified AIJ file contains the indicated sequence number. This sequence number must exactly match that expected by the roll-forward utility User Action: No user action is required. This message is informational only.
AIJDEVDIR
AIJ filename does not include device and directory Explanation: The AIJ filename 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.
AIJFILEGONE
continuing with AIJ modification operation Explanation: While attempting to disable AIJ journaling, or attempting to change the default AIJ filename, the active AIJ file could not be opened. This condition typically only occurs for catastrophic reasons; therefore, the AIJ file is assumed to have contained some data records, which are presumed to have been lost. User Action: No user action is required. This message is informational only.
AIJFNLSEQ
to start another AIJ file recovery, the sequence number needed will be <num> Explanation: This message informs the user what the next AIJ file sequence number will be. AIJ file sequence numbers are modified for a variety of reasons, such as performing an AIJ backup, enabling or disabling AIJ logging, etc. User Action: No user action is required. This message is informational only.
AIJGOODAREA
storage area <str> is now consistent Explanation: The indicated storage area has been marked consistent with the rest of the database. User Action: No user action is required. This message is informational only.
AIJMODSEQ
next AIJ file sequence number will be <num> Explanation: This message informs the user what the next AIJ file sequence number will be. AIJ file sequence numbers are modified for a variety of reasons, such as performing an AIJ backup, enabling or disabling AIJ logging, etc. User Action: No user action is required. This message is informational only.
AIJMOREWORK
active transactions will be aborted if you terminate recovery Explanation: This message indicates that one or more active transactions will be aborted if AIJ recovery is terminated. User Action: No user action is required. This message is informational only. This message supplements the AIJNXTSEQ message.
AIJNOACTIVE
there are no active transactions Explanation: Upon completion of the roll-forward operations for the current AIJ file, no transactions remain active. The AIJ recovery process can be terminated without the loss of transaction data. User Action: No user action is required. This message is informational only.
AIJNOENABLED
AIJ journaling has not yet been enabled Explanation: The AIJ roll-forward operation has completed, but AIJ logging has not yet been enabled. This message is a reminder to the user to enable AIJ logging, if desired. User Action: If AIJ logging is desired, AIJ logging should be enabled. Otherwise, no user action is required. This message is informational only.
AIJNXTFIL
enter the next AIJ file name, or return to terminate: Explanation: Prompt the user to enter the name of another AIJ file to be rolled-forward. If no AIJ file name is entered, the roll-forward operation is terminated. User Action: Enter the name of the next AIJ file to be rolled-forward. If you wish to terminate the roll-forward operation, simply hit return <CR>.
AIJNXTSEQ
to continue this AIJ file recovery, the sequence number needed will be <num> Explanation: This message informs the user what the next AIJ file sequence number will be. AIJ file sequence numbers are modified for a variety of reasons, such as performing an AIJ backup, enabling or disabling AIJ logging, etc. User Action: No user action is required. This message is informational only.
AIJONEDONE
AIJ file sequence <num> roll-forward operations completed Explanation: This message indicates that the roll-forward operations for the AIJ file with the indicated sequence number have been successfully completed. Note that in some cases, no transactions may have been applied; this is normal. User Action: No user action is required. This message is informational only.
AIJOPTSUC
AIJ optimization completed successfully Explanation: This is an informational message indicating that an AIJ optimization has completed successfully. User Action: No user action.
AIJPREPARE
<num> of the active transaction(s) prepared but not yet committed or aborted Explanation: Upon completion of the roll-forward operations for the current AIJ file, more than 1 transaction remains active AND prepared. That is, the commit or roll-back information either resides in the next AIJ file to be processed, or the action can be determined using DECdtm upon completion of the recovery operation. User Action: No user action is required. This message is informational only.
AIJQUIETPT
AIJ quiet-point backup required when commit-to-journal enabled Explanation: You attempted to perform a no-quiet-point back up of an after-image journal file when the commit-to-journal feature was enabled. User Action: Either disable the commit-to-journal feature, or use the quiet-point AIJ backup mechanism.
AIJRECOBS
RDO RECOVER command for AIJ is obsolete, please use RMU/RECOVER Explanation: You requested that an RDO RECOVER statement be executed, perhaps with an older version of RDO. The RDO RECOVER statement is no longer supported. User Action: Use the RMU/RECOVER command instead.
AIJRECTRM
AIJ roll-forward operations terminated at user request Explanation: Instead of specifying another AIJ file to be rolled-forward, the user specified that AIJ roll-forward operations should be prematurely terminated. In this case, it is possible that one or more active transactions were aborted by the system. User Action: No user action is required. This message is informational only.
AIJROOSEQ
starting AIJ sequence number required is <num> Explanation: The AIJ sequence number indicated corresponds to the first AIJ file that can be rolled-forward. If the sequence number of the AIJ file to be rolled-forward does not exactly match the indicated sequence number, no transactions will be applied. User Action: No user action is required. This message is informational only.
AIJSEQAFT
incorrect AIJ file sequence <num> when <num> was expected Explanation: The AIJ file supplied was created subsequent to the expected AIJ file. Usually, this condition occurs for the following reasons: 1) an incorrect AIJ file or VMS file "version" was specified, 2) the supplied AIJ file was not created for this database, or 3) AIJ logging was disabled and then later enabled. User Action: The utility will prompt for confirmation that the supplied AIJ file is valid. If AIJ logging was disabled and then later enabled without any intervening database transaction activity, then confirming the AIJ file will permit the roll-forward operation to continue applying all transactions contained in the AIJ file. Otherwise, the AIJ file should be rejected and the correct AIJ file specified. Should confirmation be given for an incorrect AIJ file, no transactions will be applied.
AIJSEQPRI
AIJ file sequence number <num> created prior to expected sequence <num> Explanation: The AIJ file supplied was created prior to the expected AIJ file. Usually, this condition occurs for the following reasons: 1) an incorrect AIJ file or VMS file "version" was specified, 2) the supplied AIJ file was not created for this database, or 3) a database backup was performed subsequent to the AIJ backup. User Action: No user action is required. This message is informational only. The AIJ roll-forward operation will continue to completion, although no transactions will be applied from the AIJ file.
AIJVNOSYNC
AIJ file <str> synchronized with database Explanation: When recovering a database for which AIJ journaling was enabled, it may be necessary to synchronize information in the AIJ file with information in the database root file. This is necessary to ensure that subsequent AIJ recovery operations are successful. User Action: No user action is required. This message is informational only.
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_DELETED
area <str> was previously deleted Explanation: An attempt was made to ready an area which was previously deleted.
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.
AREA_RESTRUCT
storage area <str> is under restructure Explanation: An attempt was made to ready an area that is either presently being or in the recent past has been restructured. User Action: See your DBA to have the areas released.
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.
BADAIJBCK
previous AIJ backup did not complete Explanation: It appears that the previous AIJ file backup process, which was started on the indicated date/time, either failed or was prematurely terminated by the user. The AIJ backup file created by the failed backup utility is not complete and should not rolled-forward. User Action: No user action required. The current AIJ backup will backup the complete AIJ file to ensure there is no loss of transactions. The AIJ file created by the failed backup utility MUST be preserved; DO NOT discard the AIJ backup file. Even though the AIJ backup failed, the AIJ backup file must be used for successful roll-forward operations.
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.
BADAIJSEQ
AIJ file is incorrect for roll-forward operations Explanation: The specified AIJ file is not the correct file to be rolled-forward. Usually, this condition occurs for the following reasons: 1) an incorrect AIJ file or VMS file "version" was specified, 2) the supplied AIJ file was not created for this database, or 3) AIJ logging was disabled and then later enabled. User Action: No user action is required. This message is informational only.
BADAIJUNTIL
date specified by /UNTIL (<time>) has not yet been reached Explanation: The date and time specified by the /UNTIL command qualifier had not yet been reached when AIJ roll-forward operations were completed. User Action: Another AIJ file, if any, might have to be rolled-forward to ensure that all transactions have been applied up to the specified date and time. If no more AIJ files are available, the AIJ roll-forward operations are complete.
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.
BADBUFSIZ
buffer size (<num>) is too small for largest page size (<num>) Explanation: Specified buffer size is too small to hold even one page from the storage area with the largest page size.
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 non-database 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.
BADPARAM
<str> (<num>) is out of valid range (<num>..<num>) Explanation: An illegal parameter was specified when creating or modifying the database. User Action: Examine your command line for illegal parameter values.
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.
BADSEGSTROPT
option specified is incompatible with segmented string storage maps Explanation: You defined a storage map for segmented strings and included an option which is not supported or meaningless. User Action: Review the documentation and correct the syntax.
BADSPAMINT
spam interval (<num>) is too large for page size (<num> block(s)) Explanation: The SPAM interval is too large for the specified page size. User Action: Reduce the SPAM interval or increase the page size.
BAD_AREA_NAME
area named <str> does not exist 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: Re-enter 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 sub-process Explanation: An error occurred while you attempted to spawn a sub-process. 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.
CATALOGEXISTS
catalog <str> already exists Explanation: The named catalog already exists. User Action: Use a different name for the catalog.
CATALOGINUSE
catalog <str> currently in use Explanation: You attempted to drop a catalog which still contains a schema. User Action: Drop all the schemas from the catalog before attempting to drop the catalog.
CATNOTFOUND
catalog with id <num> not found in this database Explanation: The catalog id referenced by the CREATE SCHEMA statement does not exist. User Action: Please select another catalog.
CDDDICTALONE
the CDD dictionary flag must occur alone in RDB$CHANGE_DATABASE buffer Explanation: You attempted to change the CDD DICTIONARY flag along with other parameters in the same call to RDB$CHANGE_DATABASE. User Action: Break down your request into two separate calls.
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 Action: 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.
CHGIDXNOADDMAP
INDEX may not be altered/changed to have map Explanation: A CHANGE or ALTER INDEX command cannot add a storage map to an index that was not previously mapped. User Action: Review the index's use. If you want to move it to another area, the index must be deleted and defined again.
CMTCONNOTDEL
cannot delete constraint <str> queued for COMMIT evaluation Explanation: The specified constraint was not deleted because an update action has caused the constraint to be queued for evaluation on a COMMIT. User Action: COMMIT or ROLLBACK the current transaction and try the metadata update again.
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: Re-enter the DATE data item in the correct format.
COLEXTS
there is another collating sequence named <str> in this database Explanation: The collating sequence name you tried to define already exists. User Action: Try another collating sequence name.
COLINVFLDTYP
collating sequence invalid for data type Explanation: An attempt was made to create or change a domain or column such that the result is a non-text data type with a collating sequence. User Action: Ensure that collating sequences are not used on non-text data types.
COLLFAILURE
could not reformat the collating sequence Explanation: Rdb/VMS translates an NCS collating sequence into an internal format for use in building indices, comparisons and matching. The translation could not be performed. User Action: Submit an SPR including the files SPR.MAR and SPR.NCS obtained from the command: NCS/MAC=SPR/OUT=SPR/EXT=<collating_name> <library> where <collating_name> is the name of the collating sequence that you selected from the library indicated by <library> or from NCS.NLB if you did not specify a library.
COLLFMTUNK
collating format unknown Explanation: Rdb/VMS understands the internal format of the collating sequences defined in NCS.NLB. Apparently there is a new format in use that Rdb/VMS does not know about. Perhaps you are using an obsolete version of Rdb. User Action: Contact your support center. If the problem is not that an obsolete version of Rdb is in use, then you should submit an SPR including the files SPR.MAR and SPR.NCS obtained from the command: NCS/MAC=SPR/OUT=SPR/EXT=<collating_name> <library> where <collating_name> is the name of the collating sequence that you selected from the library indicated by <library> or from NCS.NLB if you did not specify a library.
COLNOEXTS
there is no collating sequence named <str> in this database Explanation: The collating sequence name you tried to delete does not exist. User Action: You may have typed the collating sequence name incorrectly, or you did not define the collating sequence name.
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.
COLRESERVED
the collating sequence name <str> is reserved and my not be defined Explanation: The collating sequence name you tried to use is predefined. User Action: Use another name.
COLUSEDDB
the collating sequence named <str> is used by the database Explanation: The collating sequence name you tried to delete was defined as the collating sequence for the database. User Action: Investigate.
COLUSEDFLD
the collating sequence named <str> is used in field <str> Explanation: The collating sequence name you tried to delete is in use. User Action: Investigate.
COLUSEDREL
the collating sequence named <str> is used in field <str> of relation <str> Explanation: The collating sequence name you tried to delete is in use. User Action: Investigate.
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.
COMPNOTENA
index compression has not been enabled Explanation: You attempted to remap index values without enabling compression for the index. User Action: Review the command you typed, and issue a corrected command if appropriate.
COMPNOTNUM
index mapping applies to BYTE, WORD and LONGWORD fields only Explanation: You attempted to remap index values but the fields must be of a BYTE, WORD or LONGWORD data type. User Action: Review the command you typed, and issue it again specifying a BYTE, WORD or LONGWORD data type if appropriate.
COMPNOTTEXT
only text and varying text fields may be shortened in indices Explanation: You attempted to specify a shortened size for an index field, but specified a data type other than text or varying text. Only fields with a text or varying text data type can be shortened in an index. User Action: Review the command you typed, and issue it again specifying a text or varying text field if appropriate.
CONDELVIAREL
constraint <str> can only be deleted by changing or deleting relation <str> Explanation: The constraint specified was defined as a relation-specific constraint, and can only be deleted by using the CHANGE RELATION or DELETE RELATION statement on the relation declaring the constraint. User Action: First, review the database design; then, if desired, delete the relation-specific constraint.
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.
CONFTXNOPTION
Do you really want to <str> this transaction? [<char>]: Explanation: Confirm that the user actually wants to take the action.
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.
CONNOTDEF
constraint <str> has not been defined Explanation: The specified constraint was not defined. User Action: Correct the problem and try the metadata update 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.
CSETBADASSIGN
incompatible character sets prohibits the requested assignment Explanation: An attempt was made to assign one string to another but the character sets of the two string were incompatible. User Action: Ensure that character sets are compatible before assignment.
CSETBADCOMPARE
incompatible character sets prohibits the requested comparison Explanation: An attempt was made to compare one string to another but the character sets of the two string were incompatible. User Action: Ensure that character sets are compatible before trying comparison.
CSETBADCONCAT
incompatible character sets prohibits concatenation Explanation: An attempt was made to concatenate strings together but the character sets of the two string were incompatible. User Action: Ensure that character sets are compatible before trying concatenation.
CSETBADESCAPE
character set of ESCAPE character must match that of source Explanation: An escape character was used that did not have the same character set as the source value expression. User Action: Ensure that the correct character set is used with the ESCAPE character.
CSETBADOPER
character set prohibits the requested operation Explanation: An attempt was made to carry out a string operation but the character set of the string prevented the operation. User Action: Ensure that operation is valid on the character set before trying the operation again.
CSETNOASCII
character set must contain ASCII Explanation: An attempt was made to assign or compare a numeric or date with a text string that had a character set that did not contain ASCII. User Action: Ensure that destination character string character set contains ASCII.
CSETNOTFOUND
invalid or undefined character set Explanation: The character set specified is not known to Rdb. User Action: Check the character set name and/or identifier to ensure that they are valid.
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: Re-enter 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 Action: 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.
DBNOTMULTSCHEM
multischema support is not enabled in this Rdb/VMS database Explanation: Multischema support is an option feature. User Action: Use the SQL ALTER RDB DATABASE ENABLED MULTISCHEMA statement to enable this feature and then repeat your command.
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.
DB_CORRECT_VER
the database is already the correct version Explanation: The database is already accessible by the current version of the software. This message is used only by special versions of the software and is referenced in RMU/CONVERT. User Action: None.
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.
DEFLISTWORM
default list (segmented string) storage area can not be a WRITE ONCE area Explanation: An attempt was made to create a database with a default list (segmented string) storage area on a WORM (write one read many) device. This is not supported by Rdb/VMS as the format of the lists written by the system relations is not compatible with the WORM drive characteristics. User Action: Create the default list storage area on read/write media and create a storage map to assign the lists to particular storage areas.
DOFULLBCK
full database backup should be done to ensure future recovery Explanation: After enabling AIJ journaling, it is often necessary to perform a full (i.e. not incremental) database backup. Failure to backup the database may result in the AIJ file NOT being recoverable. User Action: IT IS HIGHLY RECOMMENDED that a full database backup be performed AS SOON AS POSSIBLE.
DT_FRACMBZ
fractional seconds precision must be zero for this sub type Explanation: The date/time data type supplied a sub-type which does not allow a fractional seconds precision to be supplied. User Action: This appears to be an error in the code generated by VAX SQL please submit an SPR to Digital showing the definition or query which generated this error.
DT_PRECMBZ
interval leading field precision must be zero for this sub type Explanation: The date/time data type supplied a sub-type which does not allow a leading interval field precision to be supplied. User Action: This appears to be an error in the code generated by VAX SQL please submit an SPR to Digital showing the definition or query which generated this error.
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.
DUPLTRGTYPE
trigger <str> already defined for specified relation and trigger type Explanation: There can be only one trigger of each update time and type defined for a particular relation, with the exception that multiple BEFORE MODIFY or AFTER MODIFY triggers can be defined as long as they all have exclusive (non-intersecting) field lists. The trigger being defined conflicts with the specified trigger for either update time and type, or in one of the modify field names. User Action: First, review the database design and defined triggers; then, if desired, try the operation again with non-conflicting types and fields.
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 journalled 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.
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.
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.
ERRWRITE
error writing file Explanation: An error occurred while writing 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 or use a non-default specification for the snapshot file. User Action: If you want to create a multifile database from a single-file database, use the EXPORT and IMPORT statements.
EXT_LENGTH_CH
invalid type for EXTRACT LENGTH, must be CHAR or VARCHAR Explanation: The EXTRACT WEEKDAY requires that the result of the value expression be a CHAR or a VARCHAR. User Action: Correct the query to use a valid data type for EXTRACT.
EXT_NEED_DT
invalid option for EXTRACT, source must be a datetime type Explanation: The EXTRACT option requires that the result of the value expression be a datetime type. User Action: Correct the query to use a valid option for EXTRACT.
EXT_WEEKDAY_TS
invalid type for EXTRACT WEEKDAY, must be DATE or TIMESTAMP Explanation: The EXTRACT WEEKDAY requires that the result of the value expression be a DATE or a TIMESTAMP. User Action: Correct the query to use a valid data type for EXTRACT.
FCJOUDIS
fast commit cannot be enabled if journaling is disabled Explanation: An attempt was made to enable fast commit while journaling is turned off. User Action: enable journaling for the database before enabling fast commit
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
error <str> file <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.
FLDINTRG
field <str> is referenced in trigger <str> Explanation: You attempted to delete a field from a relation, but the field is used in a trigger. User Action: First, review the database design; then, if desired, delete the trigger 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.
FLDLSTCONDUPS
modify field name list contains duplicates of a field name Explanation: The list of field names supplied for a MODIFY type trigger contains multiple instances of a particular field name. User Action: Choose a different set of field names for the modify list.
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.
FLDVALIDIF
in VALID IF definition for global field !AF Explanation: During processing of the VALID IF a BLR syntax problem was detected. User Action: Correct the definition so that the VALID IF is legal for Rdb/VMS.
GETTXNOPTION
Do you wish to COMMIT/ABORT/IGNORE this transaction: Explanation: Ask the user whether to COMMIT/ABORT/IGNORE this blocked transaction.
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.
GOODAIJSEQ
AIJ file is correct for roll-forward operations Explanation: The specified AIJ file is the correct file to be rolled-forward. User Action: No user action is required. This message is informational only.
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.
IDXCOMPLENERR
index compression length exceeds field length Explanation: You attempted to specify a shortened size for an index field that is greater than the field size. User Action: Specify a shortened size that is not larger than the field size.
IDXMAPLIM
value exceeds bounds specified for mapping of index <str> Explanation: The data stored in a field exceeds the bounds specified for mapping the field. User Action: Determine the cause of the problem and correct either the record or the index.
IDXMAPLMT
range of mapped index limited to HIGH - LOW = 214748644 Explanation: You attempted to define an index using mapping ranges on variables such that the resulting key requires 32 or more bits. The maximum permitted is 2**31-4 User Action: Try to define the index again without using the relation-map-clause.
IDXMAPLMTERR
index map limit exceeds value limit for field Explanation: You attempted to define an index using mapping ranges on variables that is bigger than the data type. User Action: Try to define the index again using accepted limits.
IDXNOTDEF
index <str> has not been defined Explanation: The specified index was not defined. User Action: Correct the problem and try the metadata update again.
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 non-numeric 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_MAX
user requested node size of <num> bytes exceeds limit Explanation: The index node size you specified is greater than that supported by the implementation. User Action: Refer to the documentation and supply another value.
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: Specify the command again 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 INDEX 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.
INVCATALOGID
invalid catalog identification <num>, must be negative Explanation: Catalog id's are always negative numbers. User Action: Correct the MBLR generation and try again.
INVDATOPR
invalid date arithmetic operation Explanation: The operation requested is not legal. The operands, operator or the result is not valid for date/time arithmetic. User Action: Correct the operation to one that is valid.
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 re-used 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.
INVDB_TYPE
invalid database type for attach Explanation: You attempted to attach to an SERdb database from Rdb/VMS. User Action: Use only Rdb/VMS to attach to an Rdb/VMS database and use only SERdb to attach to an SERdb database.
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.
INVDTYPKEY
key <str> cannot be a computed by or segmented string field Explanation: You attempted to define a UNIQUE, PRIMARY KEY, or FOREIGN KEY REFERENCES relation-specific constraint with a key field having either a computed by or segmented string datatype. User Action: Select another field for the key.
INVFORUPDATE
invalid FOR UPDATE option (<num>), must be a Boolean value Explanation: The value passed to compile request was outside the legal range. Please specify a valid option. User Action: Please correct the item-list to RDB$COMPILE_REQUEST.
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.
INVIDENT
invalid rights identifier found Explanation: In a protection statement that refers to an existing access control entry, there was no entry in the rights database. User Action: Make sure that any identifiers and/or UIC you specify are defined in the system rights database.
INVMAXROWS
invalid optimizer maximum rows (<num>), must be greater than zero Explanation: The value passed to compile request was outside the legal range. Please specify a valid number of rows which is expressed as positive integer. User Action: Please correct the item-list to RDB$COMPILE_REQUEST.
INVMAXTIME
invalid compile time limit (<num>), must be greater than zero Explanation: The value passed to compile request was outside the legal range. Please specify a valid number of seconds which is expressed as positive integer. User Action: Please correct the item-list to RDB$COMPILE_REQUEST.
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.
INVOPTPREF
invalid optimizer preference (<num>), must be total-time or fast-first Explanation: The value passed to compile request was outside the legal range. Please specify a valid option. User Action: Please correct the item-list to RDB$COMPILE_REQUEST.
INVSCHEMAID
invalid schema identification <num>, must be positive Explanation: Schema id's are always postive numbers. User Action: Correct the MBLR generation and try again.
INVSUBSTRLEN
length specified for substring is invalid Explanation: You specified an invalid length for the substring operator, which cannot be processed. Valid lengths for the substring operator are greater than or equal to 0. User Action: Specify a substring length that is greater than or equal to 0.
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.
INVTRGACT_STMT
invalid trigger action statement BLR Explanation: The BLR specified for a trigger action condition is either improperly constructed or does not represent a valid statement. 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.
INV_DATE_CHG
invalid field datatype change to/from datetime Explanation: An attempt was made to change the data type of a datetime field to a data type which was not compatible. User Action: Consult the documentation for a list of valid conversions to/from datetime fields.
INV_DIGITS
invalid number of digits for packed decimal, must be in range <num>..<num> Explanation: The data definition language requested a PACKED DECIMAL data type that had a precision outside the range 1 through 18. User Action: Correct the definition so that the number of digits requested is within the legal range.
INV_PCT_FILL
percent fill out of valid range of 1 through 100 Explanation: The index percent fill you specified is not a valid value. User Action: Refer to the documentation and supply another value.
INV_PRECISION
invalid interval leading field precision for datetime Explanation: The data definition language requested a interval leading field precision which is outside the supported range. User Action: Correct the definition so that the interval leading field precision is within the legal range.
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.
INV_SCALE
invalid fractional seconds precision for datetime Explanation: The data definition language requested a fractional seconds precision for a TIME, TIMESTAMP or INTERVAL definition which is outside the correct range. User Action: Correct the definition so that the fractional seconds precision is within the legal range.
INV_SUB_TYPE
invalid sub_type in definition Explanation: The data definition language requested a sub-type which was not recognized. User Action: Correct the definition so that the sub-type is within the legal range.
JOIN_CTX_UPD
relation !AC is part of a join, cannot be updated Explanation: You tried to modify or erase records from a relation that is joined with other relations. User Action: Redefine the query so that the relation you are trying to update is not directly joined to other relations.
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 Action: 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.
LOGCREOPT
created optimized after-image journal file <str> Explanation: This message indicates the action taken on a specific file.
LOGMODSPM
modified <num> spam page(s) Explanation:
LOGMODSTO
modifying storage area <str> Explanation: The parameters of a storage area are in the process of being modified.
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 roll-forward, this message is displayed every time a transaction is committed, rolled back, or ignored.
LOGRESOLVE
blocked transaction with TSN <num> <str> Explanation: When a blocked transaction is resolved, this message is displayed every time the transaction is committed, rolled back, or ignored.
LOGSUMMARY
total <num> transaction(s) <str> Explanation: Database recovery was successful. The specified total number of transactions were re-applied to the database, ignored or rolled back. User Action: None.
MAPAREAINUSE
area <str> already specified for map <str> Explanation: You used the area name more than once in the same storage map. User Action: 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 Action: 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 Action: 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.
MAXRECLIM
query governor maximum limit of rows has been reached Explanation: The query governor quota of the maximum number of rows has been reached. User Action: Please refer to the documentation on the setting of query governor limits.
MAXRELVER
exceeded maximum table (relation) identifier Explanation: No more table (relation) identifiers are available. User Action: Unload your database, recreate the database, and reload using the EXPORT/IMPORT utilities or using programs.
MAXTIMLIM
query governor maximum timeout has been reached Explanation: The query governor quota of the maximum number of seconds that a database request can be optimized has been reached. User Action: Please refer to the documentation on the setting of query governor limits.
MAX_CCTX
exceeded maximum allowable context number Explanation: The number of contexts used in a request exceeds 32, where a context is defined as a cursor value source or a query/subquery. (Note that the term "context" is used differently here than elsewhere in Rdb.) A cursor value source consists of a table, aggregate, EXISTS predicate, UNIQUE predicate, quantified predicate or UNION clause in a request. In terms of BLR, a cursor value is any of the following BLR$K_ objects: AGGREGATE, ALL, ANY, ANY2, AVERAGE, COUNT, FROM, MAXIMUM, MERGE, MINIMUM, RELATION, RELATION_ID, TOTAL, UNIQUE, VIA. Cursor values are obtained from a user-generated request; or from the BLR associated with a view, constraint, trigger, or other metadata object. Cursor queries/sub-queries are produced for each record selection expression (RSE) and FETCH statement. User Action: If you called Rdb/VMS, check the query string and simplify if possible. 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: Re-enter the DATE data item having both the month and day fields.
MISSINGINV
existing records in relation <str> would violate VALID IF expression Explanation: When a new field is added to a relation, previously stored records will have the new field's value set to NULL (MISSING). In your relation, the VALID IF constraint defined for the new field is violated by this action. User Action: Modify all the records where the new field is set to NULL (MISSING) to have a non-null value. Or, change the VALID IF clause for the field to allow MISSING values.
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.
MONFLRMSG
failure message received from the monitor Explanation: An error happened in the monitor process. The user process received the error message. User Action: Examine the monitor log on the node where the user program was running to see messages relating to the monitor error.
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.
MULTPLACEVIA
storage map command contains multiple PLACEMENT VIA clauses Explanation: The storage map command contained either multiple PLACEMENT VIA clauses or both a PLACEMENT VIA and NO PLACEMENT VIA clause. User Action: Refer to the documentation on storage map usage for more information on how to use the command.
MULTSCHEMALONE
the multischema flag must occur alone in RDB$CHANGE_DATABASE buffer Explanation: You attempted to change the MULTISCHEMA option along with other parameters in the same call to RDB$CHANGE_DATABASE. User Action: Break down your request into two separate calls.
MULTSCHEMNODIS
the multischema database attribute can not be disabled Explanation: You attempted to change the database to be NO MULTISCHEMA. This is not supported. User Action: Please use EXPORT and IMPORT to effect this change.
MULTSCHEMNOW
the database is already a multischema database Explanation: You attempted to change the database to be MULTISCHEMA when it was already. User Action: No user action required. The database has the multischema attribute.
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.
NDXPMTDUPS
text compressed indices must permit duplicates Explanation: You attempted to create an index with duplicates not allowed using the DUPLICATES NOT ALLOWED clause. However, you cannot use the DUPLICATES NOT ALLOWED clause when defining a text compressed index. User Action: Do not use the DUPLICATES NOT ALLOWED clause when you define a text compressed index.
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.
NOCATALOG
catalog <str> does not exists, alter or drop not possible Explanation: The catalog does not exist. User Action: Repeat the command with a name of a catalog which exists.
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.
NOCRESYNONYM
synonyms can not be created using MBLR$K_SYNONYM_DEF Explanation: Synonyms can not be created using this command. User Action: No user action.
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.
NODELPRIVANSI
privileges may not be deleted in an ANSI database Explanation: You attempted to delete a privilege in an ANSI-style database. User Action: You cannot delete a privilege in an ANSI-style database.
NODELSEGSTR
the segmented string storage area, <str> can not be deleted Explanation: You attempted to delete the segmented string storage area. User Action: Make sure the storage area you wish to delete is not the segmented string storage area.
NODEVDIR
filename 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.
NODROPSYNONYM
synonyms can not be dropped using MBLR$K_SYNONYM_DEF Explanation: Synonyms can not be dropped using this command. User Action: No user action.
NODUPSANSI
no duplicate identifiers allowed in ANSI ACL Explanation: Databases defined as ANSI compliant are restricted to a single instance of a UIC. User Action: Enter a protection command changing the user's protection to what is desired rather than having two entries in the ACL for the same user.
NOGRPANSI
no group UIC's allowed in ANSI db ACL Explanation: Databases defined as ANSI compliant are restricted to single user UIC's in the access control entry except for PUBLIC. User Action: Enter a protection command for each user rather than referring to them as a group, or give privilege to PUBLIC.
NOIDENTANSI
no identifiers allowed in ANSI db ACL Explanation: Databases defined as ANSI compliant are restricted to single user UIC's in the access control entry except for PUBLIC. No system or general identifiers are allowed. User Action: Enter a protection command for each user rather than referring to them as a group, or give privilege to PUBLIC.
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.
NOLOCKSOUT
no locks on this node with the specified qualifiers Explanation: No locks were found on the current node that match the specified command-qualifiers. This usually indicates that either no monitors are active on this node, or no databases are currently being accessed on this node. User Action: If databases are active on the node, trying using a less restrictive set of command-qualifiers.
NOMAPONVIEW
a storage map may not be defined for a view Explanation: You tried to define a storage map for a view User Action: You must define the storage map for a relation not a view
NOMETAUPD
metadata updates are prohibited until CONVERT is COMMITTED Explanation: Metadata updates are not permitted unless the CONVERT operation has been committed or rolled back. User Action: Use RMU/CONVERT to COMMIT or ROLLBACK the last CONVERT operation.
NOMETSYSREL
metadata may not be created/altered on system relations Explanation: You attempted to define, delete, or change an index, constraint, or trigger on one or more Rdb/VMS system relations. Such changes, if permitted, could render the database unusable. User Action: Do not do attempt any of these modifications to the system relations.
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.
NOMOREGB
<num> global buffers not available to bind; <num> free out of <num> Explanation: Your attempt to bind to the database failed because there are not enough global buffers to allow your process to bind to the database. User Action: There are four ways to alleviate this problem. 1)Try to bind to the same database on another node, if you are using a VAXcluster. 2)Wait till another user unbinds from the database and retry the bind. 3)Increase the number of global buffers used for the database. 4)Decrease the maximum number of global buffers any one user can use, in order to allow more users to bind to the database. Please see your DBA for help.
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.
NOOPTCUR
cannot optimize, AIJ file <str> is the current AIJ file Explanation: This message tells the user that the current AIJ file cannot be optimized. This is because the optimized AIJ file would not be equivalent to the current AIJ file if more journaling was done after optimization. User Action: Start a new AIJ file and then optimize the AIJ file in question.
NOOPTNOQUIET
cannot optimize, AIJ file <str> backed-up via a no quiet point backup Explanation: This message tells the user that an AIJ file which was backed up with a no quiet point backup, cannot be optimized. This is because a no quiet point backup can leave incomplete transactions in an AIJ file. AIJ optimization cannot handle incomplete transactions within an AIJ file. User Action: No user action. This AIJ file cannot be optimized.
NOOPTOPT
cannot optimize, AIJ file <str> is already optimized Explanation: This message tells the user that an optimized AIJ file cannot be optimized again. User Action: No user action.
NOOPTPRVNOQUIET
cannot optimize, AIJ file <str> had its previous AIJ file backed up via a no quiet point backup Explanation: This message tells the user that an AIJ file whose previous AIJ file which was backed up with a no quiet point backup, cannot be optimized. This is because a no quiet point backup can leave incomplete transactions in an AIJ file. AIJ optimization cannot handle incomplete transactions within an AIJ file. User Action: No user action. This AIJ file cannot be optimized.
NOOPTUNRES
cannot optimize, AIJ file <str> has unresolved transactions, Explanation: This message tells the user that the AIJ file being optimized has unresolved distributed transactions. AIJ optimization cannot handle unresolved transactions so it must abort. User Action: Use the original, non-optimized AIJ file if needed for recovery.
NOPLACEANSI
no user placement clauses allowed in ANSI ACL Explanation: Placement of ANSI database users' access control entries are controlled by the database facility. User Action: Enter a protection command without specifying either the POSITION or AFTER clause.
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.
NOSCHEMA
schema <str> (<num>) does not exists, alter or drop not possible Explanation: The schema does not exist. User Action: Repeat the command with a name of a schema which exists.
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 <str> 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.
NOSTATS
statistics are not enabled for !AD Explanation: An attempt was made to show statistics for a database that currently has statistics collection disabled. User Action: Enable statistics and try again.
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
NOSYNONYM
no object <str>.<str>.<str> exists, alter or drop not possible Explanation: This synonym could not be found. This may indicate an error in the synonym name, or the schema id. User Action: Please repeat the command using an object which exists, or use the correct schema id.
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
filename does not specify disk device type Explanation: A filename was specified which does not reference a disk oriented device type. User Action: Check the filename for a proper disk device type.
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_LARDY
area for <num>:<num>:<num> not in proper ready mode Explanation: You attempted to access a logical area for which you have not declared your intentions. User Action: Retry ready operation later.
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 readied 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 transaction 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 operation, data that violated the specified validation criteria was found. 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.
NOWORMSPT
WORM areas are not supported in VAX DBMS Explanation: An attempt was made to declare an area as having the WORM attribute. At this time, there is no support for this in VAX DBMS. User Action: Submit a Software Problem Report (SPR).
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.
OPCLOOBS
RDO OPEN and CLOSE commands are obsolete, please use RMU Explanation: You requested that an RDO OPEN or RDO CLOSE statement be executed, perhaps with an older version of RDO. The RDO OPEN and RDO CLOSE statements are no longer supported. User Action: Use the RMU/OPEN or RMU/CLOSE commands instead.
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.
OPTINCONSIS
optimized AIJ file is inconsistent with the database Explanation: This message tells the user that the database and/or some areas within the database are not consistent with the optimized AIJ file. This means the last transaction committed to the database and/or some database areas is not the same as the last transaction committed to the database at the time the optimized AIJ file's original AIJ file was created. To use an optimized AIJ file for recovery, it must be consistent with the database and all areas. User Action: Use the original, non-optimized AIJ file to do the recovery.
OPTNOAREAREC
cannot do by area recovery with an optimized AIJ file Explanation: This message tells the user that a recover by area operation was attempted with an optimized AIJ file. Optimized AIJ files do not support recovery by area so the recovery operation was aborted. User Action: Use the original, non-optimized AIJ file to do the by area recovery.
OPTNOUNTILREC
cannot do a /RECOVER/UNTIL with an optimized AIJ file Explanation: This message tells the user that a recover operation specifying an "until" time is not allowed with an optimized AIJ file. No recovery is performed if this condition is specified. User Action: Use the original, non-optimized AIJ file to do the /RECOVER/UNTIL operation.
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.
PARTDTXNERR
error trying to participate in a distributed transaction Explanation: Unable to participate in the DECdtm distributed transaction due to a DECdtm error. This error is returned in the secondary error message. User Action: Look at the secondary error message and make the necessary correction and retry.
PARTOPERBAD
operator used in partitioning BLR is bad Explanation: The BLR specified for a storage map includes an unsupported operator. The software issuing the invalid command is probably not DIGITAL supplied. User Action: If the utility defining the storage map or index is supplied by DIGITAL, submit an SPR. Otherwise contact the supplier.
PLACEVIA1ST
PLACEMENT VIA must only be on the first vertical partition Explanation: The storage map command contained multiple PLACEMENT VIA INDEX clauses. This clause must only appear on the first vertical partition, and not on subsequent partitions. User Action: Please refer to the documentation on storage map usage for more information on how to use this clause.
PREMEOF
premature end of file encountered in <str> Explanation: A premature end-of-file was encountered while reading the specified file.
PRI_RELCONEXTS
cannot define multiple PRIMARY KEY constraints for a relation Explanation: An attempt has been made to define a second PRIMARY KEY constraint for a relation. Only one is allowed. User Action: First, review the database design and defined relation-specific constraints, then, if desired, try the operation again specifying a constraint of a different type.
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.
READONLY
data in a read-only storage area may not be accessed for update Explanation: Your transaction attempted to access data in a read-only storage area for update. User Action: Explicitly specify the correct access mode for the data, or change the read-only area to a read/write area.
READ_ONLY
Read only area <str> must be readied in RETRIEVAL mode only Explanation: A read only area can be readied in RETRIEVAL mode only. User Action: Ready this area for retrieval or make the area read-write.
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.
REFINGFLDMSMTCH
a FOREIGN KEY referencing field does not correspond to a referenced field
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 Action: Use CHANGE STORAGE MAP if you want to change the storage map for that relation.
RELCONEXTS
there is another Relation constraint named <str> in this database Explanation: The relation-specific constraint specified already exists. User Action: Choose another relation-specific constraint name.
RELCONNOEXI
relation constraint <str> does not exist in this database Explanation: The specified relation-specific constraint was not found in the database. User Action: Check the name of the constraint using the SHOW statement and try again.
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 Action: 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.
REQPBLCANSI
identifier for [*,*] required in ANSI ACL Explanation: Databases defined as ANSI compliant are restricted to always having an identifier [*,*] even if this identifier is not allowed any access to the entity. User Action: Enter a protection command changing the [*,*] protection to none rather than deleting the entry in the ACL.
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.
RLCREFDBYRLC
relation constraint <str> is referenced by relation <str> constraint <str> Explanation: The UNIQUE or PRIMARY KEY relation-specific constraint that you tried to delete with the DELETE RELATION or CHANGE RELATION statement cannot be deleted. You cannot delete the UNIQUE or PRIMARY KEY relation-specific constraint because it is referenced by one or more FOREIGN KEY REFERENCES relation-specific constraints from one or more relation or relations. User Action: First, review the database design; then, if desired, delete the FOREIGN KEY REFERENCES relation-specific constraint (or constraints) and try the operation again.
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 <num>.<num> is not compatible with software version <num>.<num> 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 filename does not include device and directory Explanation: The RUJ filename 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.
SCHEMAEXISTS
schema <str> already exists in this catalog <str> Explanation: The named schema already exists. User Action: Use a different name for the schema.
SCHEMAINUSE
schema <str> currently in use Explanation: You attempted to drop a schema which still contains database object (such as domains, tables, indices, etc). User Action: Drop all the objects from the schema before attempting to drop the schema.
SCHNOTFOUND
schema with id <num> not found in this database Explanation: The schema id referenced by the ALTER statement does not exist. User Action: Please select another schema.
SEGALRDYMP
there already exists a map for segmented strings Explanation: You tried to define a storage map for a relation that already has a storage map defined for it. User Action: Use the CHANGE STORAGE MAP statement if you want to change the storage map for segmented strings or lists.
SEGMAPONWORM
only segmented strings may be stored in a WRITE_ONCE area Explanation: You tried to define a storage map that would allow something other than a segmented string to be stored in a WRITE_ONCE area User Action: You must define the storage map on an area that is not WRITE_ONCE
SEGSTR_AREA_INC
segmented string was stored incorrectly Explanation: The database has a storage map for segmented strings. The database has stored part of the segmented string in the incorrect area. User Action: Currently this is only expected to happen when the RDML or RDBPRE precompilers are in use and the logical name RDMS$BIND_SEGMENTED_STRING_BUFFER has not been specified to a large enough value to permit buffering of the entire segmented string.
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.
SEGTOOBIG
segmented string segment exceeds maximum allowed size Explanation: A segmented string segment has been specified that is larger than the maximum size allowed. Segment size is maintained in a word, which allows 65,535 unsigned bytes of data. The initial (first) segment stored requires 27 bytes of overhead, leaving 65,508 bytes for the user's data. All subsequent segments require only 13 bytes of overhead, leaving 65,522 bytes for the user's data. User Action: Specify a segment size that meets the above criteria for user data.
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.
SNPDISCJ
snapshots must be disabled or enabled deferred with commit to journal optimizaion Explanation: within the alter database, the user tried to turn on commit to journal while snapshots are enabled. User Action: disable snapshots before turning on commit to journal
SORTKEYEXT
sort key is external to RSE context Explanation: A sort key refers to record stream contexts that are totally external to the Record Selection Expression that contains the sort clause. This type of sort key provides an invariant value to the sort, making the sort more costly for no useful purpose, and may indicate an improperly positioned sort clause. User Action: Define the sort key or keys again, or reposition the sort clause to a more external RSE.
SORTOPERR
a VMS SORT/MERGE operation was unsuccessful Explanation: A VMS SORT/MERGE operation completed unsuccessfully. See the secondary message as to what operation failed. User Action: Fix the VMS SORT/MERGE problem and try again.
SPAMNOTDIS
cannot disable SPAMs for uniform area <str> Explanation: Only mixed format areas can have spams enabled/disabled. User Action: Do not enable/disable SPAMs for uniform format areas.
SPAMNOTRDONLY
cannot enable SPAMs for READ_ONLY area <str> Explanation: Read only areas cannot be modified to have spams enabled since this involves rebuilding the SPAM pages. User Action: Change area to be read write.
SPAMNOTWRM
cannot enable SPAMs for WORM area <str> Explanation: Worm areas cannot have spams enabled. User Action: Do not enable SPAMs for WORM areas.
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.
SSAREANOTEMPTY
segmented string area <str> is not empty, it may not be deleted Explanation: You tried to change the storage map for segmented strings and delete an area, but there are segments in the area User Action: You must determine what relations use the data that is in the area and then determine what you want to do about it before issuing the CHANGE STORAGE MAP statement again.
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.
SYSRDONLY
BATCH or EXCLUSIVE UPDATE access is not allowed if RDB$SYSTEM is read-only Explanation: BATCH UPDATE and EXCLUSIVE UPDATE access do not update the snapshot files. The fact that snapshots are not being maintained is recorded in the RDB$SYSTEM area. Hence, RDB$SYSTEM may not be READ_ONLY. User Action: Use another UPDATE access mode, or change RDB$SYSTEM to be READ WRITE.
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.
THRESHAREEXI
illegal thresholds usage - area <str> exists, and cannot have THRESHOLDS respecified Explanation: Cannot redefine thresholds on existing area User Action: Delete and recreate the area with the desired thresholds or create an area with the new thresholds and move the data from the old to the new area.
THRESHUNIF
illegal thresholds usage - area <str> is MIXED format, must be UNIFORM Explanation: Thresholds in storage maps can only be applied to UNIFORM areas. User Action: Reference UNIFORM areas if you wish to use storage map thresholds. Otherwise define MIXED areas thresholds using the CREATE STORAGE AREA or DEFINE STORAGE AREA statements when creating or altering the database.
TIMEOUT
timeout on <str> Explanation: A lock request has been canceled by the database management system because the request could not be granted within the user-specified timeout period. User Action: Execute a ROLLBACK or a COMMIT to release your locks, and try the transaction again.
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.
TRGEXI
relation <str> is referenced in trigger <str> Explanation: Before you can delete a relation, all constraints, triggers, and views based on this relation must be deleted. User Action: Delete the dependent constraints, triggers, and views that refer to this relation.
TRGEXTS
there is another trigger named <str> in this database Explanation: The trigger name you tried to define already exists. User Action: Choose another trigger name.
TRGINUPDREQ
there are active update requests that reference trigger <str> Explanation: You tried to delete the specified trigger while there are one or more active update requests that reference the trigger. The specified trigger was not deleted. User Action: Allow the update request or requests to finish, and try the trigger deletion again.
TRGNOEXI
trigger <str> does not exist in this database Explanation: The name specified for the trigger was not found in the database. User Action: Check the name of the trigger using the SHOW TRIGGERS statement and try the operation again.
TRGNOSUBJCTX
trigger may not reference the subject relation context Explanation: A BEFORE STORE or AFTER ERASE trigger or a trigger action that does not specify FOR EACH ROW contains an illegal reference to the subject relation current or NEW/OLD context (row values or dbkey). User Action: Define the trigger to use only the relation contexts declared within the trigger actions.
TRGVW
views cannot be used within a trigger Explanation: You cannot define a trigger on a view and must not reference views in the triggered condition or actions. User Action: Define the trigger to use the relation referred to in the view definition.
TRIGNODEL
trigger <str> cannot delete record being modified or stored Explanation: The trigger specified (possibly invoked by another trigger) attempted to delete a record that was currently being stored or modified (by either a user request or a trigger action). User Action: First, review the database design and defined triggers. Then, define one or more of the triggers again to eliminate the possibilty of deleting a record that is being modified or stored.
TRIG_ERROR
trigger <str> forced an error Explanation: The specified trigger executed an action defined to produce this exception. User Action: This may be an expected occurrence in some situations, but in general determine the conditions that led to the update that caused the triggered error, eliminate those conditions (it may be necessary to discuss a solution with your database manager), and try the operation again.
TRNNOTDEF
transfer <str> has not been defined Explanation: The specified transfer was not defined. User Action: Correct the problem and try the metadata update again.
TRNNOTDEL
transfer <str> has not been deleted Explanation: The specified transfer was not deleted. User Action: Correct the problem and try the metadata update again.
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.
TRUNRGTSTR
truncation of right hand side string for assignment has occurred 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 length of the right hand side must fit in the location where the value is being stored. Specify a string which fits into the target location.
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.
UNI_RELCONNOEXI
unique Relation constraint <str> does not exist in this database Explanation: The relation-specific constraint specified either was not found in the database or does not reference a UNIQUE or PRIMARY KEY constraint. This relation-specific constraint is referenced by the definition of a FOREIGN KEY REFERENCES relation-specific constraint and must represent either a UNIQUE or PRIMARY KEY for the referenced relation and any referenced fields. User Action: If the utility defining the FOREIGN KEY REFERENCES relation-specific constraint is supplied by DIGITAL, submit an SPR, otherwise contact the supplier.
UNLIKECOLL
fields of unlike collating sequence may not be compared Explanation: Rdb/VMS does not permit comparisons among fields with unlike collating sequences. User Action: Specify fields with the same collating sequence.
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.
UNSCATALOG
catalogs can not be created, altered or dropped Explanation: You must have multischema support enabled to create, alter and drop catalogs. User Action: See action for primary message.
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.
UNSSCHEMA
schemas can not be created, altered or dropped Explanation: You must have multischema support enabled to create, alter and drop schemas. User Action: See action for primary message.
UNSSYNONYM
synonyms can not be created, altered or dropped Explanation: You must have multischema support enabled to create, alter and drop synonyms. User Action: See action for primary message.
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.
UPDRECURSTRIG
update would cause recursive execution of trigger !AC Explanation: The trigger specified and possibly a series of other triggers have been defined such that execution of the update operation which invokes the specified trigger will cause that trigger to be recursively invoked. User Action: First, review the database design and defined triggers; then, redefine one or more of the triggers to eliminate the possibilty of recursive invocation.
USEUNOPTAIJ
please use original unoptimized AIJ file for this recovery operation Explanation: This message tells the user that the requested recovery operation is not compatible with an optimized AIJ file. See the accompanying message for the cause of the incompatability. User Action: Use the original, non-optimized AIJ file to do the recovery.
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.
VCO_NOFIRSTN
CHECK OPTION is not allowed for a view with row limit Explanation: The CHECK OPTION on a view requires that neither that view nor any view nested in it has FIRST N or LIMIT TO n ROWS clause. User Action: Remove either CHECK OPTION or LIMIT TO n ROWS clause from the view.
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.
VIEWNORET
view cannot be retrieved by database key Explanation: A view defined with a Record Selection Expression that references AGGREGATE or MERGE streams cannot be retrieved via database key. User Action: Retrieve the relations to which the view refers.
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.
WRMNOTMIX
cannot add WORM attribute to uniform format area <str> Explanation: WORM areas should only be mixed format areas. User Action: Examine your command line for illegal combination.
WRMRDONLY
cannot add WORM attribute to READ_ONLY area <str> Explanation: WORM areas cannot also have the read-only property. User Action: Examine your command line for illegal combination.
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:
ACCVIOACENOTFNDACLNOTIMPAGGNOTALL
AIJACTIVEAIJALLDONEAIJBADAREAAIJBCKACT
AIJBCKFAILAIJBCKSEQAIJCONFIRMAIJCURSEQAIJDEVDIR
AIJDISABLEDAIJENABLEDAIJFILEGONEAIJFNLSEQ
AIJGOODAREAAIJMODSEQAIJMOREWORKAIJNOACTIVE
AIJNOENABLEDAIJNXTFILAIJNXTSEQAIJONEDONEAIJOPTSUC
AIJPREPAREAIJQUIETPTAIJRECTRMAIJROOSEQ
AIJSEQAFTAIJSEQPRIAIJVNOSYNCAMB_KEYWORDANODBHAND
ANYNOTALLAREABUSYAREA_CORRUPTAREA_DELETED
AREA_INCONSISTAREA_RESTRUCTARIEXPEXPATTMISSING
BACKCONVBADADJLOCKGRANBADAIJBCKBADAIJFILE
BADAIJSEQBADAIJUNTILBADAIJVERBADASCTOID
BADBLOBBADBNDPRMBADBOUNDSBADBUFSIZBADCLUMP
BADCORATTBADDATDEFBADDBNAMEBADDTFMT
BADEPILOGUEBADFILEVERBADFILTYPBADFLDTYP
BADIDXMAPBADINTERVALBADLOGFILEBADLOGNAM
BADMETNAMBADMVIEWFLDBADMVIEWRELBADMVIEWVEW
BADMVRELSBADMVVIEWSBADPAGEFORMATBADPARAM
BADPROLOGUEBADRECBUFBADROLMVFLDBADROOTMATCH
BADSNAPFILENAMEBADSPAMINTBADSPECATRBADTHRESHOLD
BADVAXCLUSNODESBAD_END_NAMEBAD_NAMEBDDATRANG
BKUPEMPTYAIJBOOEXPEXPBOUNDBUFTOOSML
BUGCHECKBUGCHKBUGCHKDMPCABORTCANTASSMBX
CANTBACKUPCANTBINDRTCANTCLOSEDBCANTCONVERT
CANTCREDBRCANTCREGBLCANTCREMBXCANTCREMON
CANTCVRTCANTDELETECANTLCKTRMCANTMAPTROOT
CANTOPENDBCANTOPENINCANTQIOMBXCANTREADDB
CANTREADDBSCANTRESTORECANTSNAPCANTSPAWN
CANTSPOOLCANTWRITEDBSCDDDEFERRCDDERR
CHDBNOPARAMCHECKSUMCHGINDMAPCHGINDMAPSTP
CLOSERRCMDINTRCMPBYINVWCNTSPNSUBCNVNUMDAT
COL_DROPPEDCOMPLEXCOMPNOTRANSCOMTOOLON
CONALREXICONAMBIGCONCHAILLCONFATRSPEC
CONFTXNOPTIONCONNOTDEFCONVARDEFCONVARILL
CONVARUNDCONVERRCONVONLYCS_ERRCVT_PROCEED
DATCNVERRDATCONERRDATNOTSUPDATTYPUNK
DBACTIVEDBBUSYDBHANDUNKDBHDLREQDBKNOTALL
DBNAMEHVDBNOTACTIVEDBNOTOPENDBNOTSPEC
DBRABORTEDDBSHUTDOWNDB_CVT_FAILDB_CVT_SCS
DB_HANDECDB_HANDEC2DB_HANLONDB_NOTCVT
DDALERRDEADLOCKDEGMODSPCDESCTOOBIGDOFULLBCK
DTFMTTOOBIGDTONCEEACHDUPFLDDEFEMPTYAIJ
EMPTYFILEERRDETERRFOREIGNERROPENIN
ERROPENOUTERRWRITEEXPCV_DOTEXQUOTAEXTNOTSUP
EXTRADATAFETNOTDONFIELD_EXISTSFIENOTALL
FIENOTRENFIENOTSEGFILACCERRFLDAMBIGFLDNOTCRS
FLDNOTDEFFLDNOTINRELFLDNOTREFDFLUINPBUF
FOREIGN_NOUNQCONFOREIGN_REFGREFDGARBLEDGETTXNOPTION
GOODAIJSEQHOWCHANOTILLBEGINILLCHARILLNCHAR
IMP_CDD_NODATAIMP_IDXNOTDEFIMP_IDXNOTDELIMP_IDX_CONFLICT
IMP_IDX_TWICEIMP_STANOTDELIMP_STMNOTDEFIMP_STMNOTDEL
IMP_STO_CONFLICTIMP_STO_MAP_CONFLICTIMP_STO_MAP_TWICE
IMP_STO_TWICEINDEXTSINDNOEXIINTEGDBDIFINTEGFRFAIL
INTONOTALWINTSYNERRINVCHAINPINVCHANUMSTR
INVCONSINVDBKREFINVDBSFILINVFLDINVFLDPRO
INVFLDSIZEINVHEADERINVINDEXINVNODESIZE
INVNOTDONINVPERCENTFILLINVPRIVNAMESINVRELVIEW
INVSEGSTRATRINVSTOMAPINVTRGINV_ROOTIOERROR
JUNONLINLANFILEXTLCKCNFLCTLENMISMATLHSNOTDBN
LHSNOTVARLOGAIJBCKLOGCREOPTLOGMODSPM
LOGMODSTOLOGRECOVRLOGRECSTATLOGRESOLVE
LOGSUMMARYLOOK_FORLOOK_FOR_CONLOOK_FOR_FIN
LOOK_FOR_STTLOOK_FOR_UNTERMMAXFLDPRTSTRMAXLINLEN
MAXNESEXCMAXRELEXCMAXVOLLABEXCMISMMORDD
MONFLRMSGMONMBXOPNMONSTOPPEDMULSPECATR
MUSINVPATHMUSTRECDBMVRELABSNTNOAGGALL
NOAIJDEFNOANYALLNOCDDNOCDDUPDATNOCHARNOCMPBYRES
NOCOLRESNOCONGETNOCONRESNOCREMBXNODATRESNODBHALW
NODBHANNODBKNODBKALLNODBNAMENODEVDIRNODISTBATU
NODPRIRESNODUPLIVIEWNOENTRYPTNOFLDRES
NOFPRIRESNOFSTINREPTNOIDXRESNOITEMDEFNOLOCKSOUT
NOMAPRESNOMLTIMVNOMLTIMVIEWNOMONITORNOMOREGB
NOMVRALLNOMVVROLNONODENOOPTCURNOOPTNOQUIET
NOOPTOPTNOOPTPRVNOQUIETNOOPTUNRESNOPARAMETER
NOPRECOMPSELNOPRIVNOPRVMVIEWNOPRVMVREL
NOPRVREPLINOPRVROLMVRNOREDINREPTNORELRES
NOREMVERNOREQHANNORPRIRESNORTUPB
NOSEGSTRAREANOSELALLNOSIPNOSNAPSNOSORTINREPT
NOSTATSNOSUCHDATEFMTNOSUCHLANGNOSUCHTIMEFMT
NOSUPREPLINOTAVIEWNOTBOOLNOTDSKFILNOTENUFHV
NOTEXPSEGNOTFOUNDNOTIMPLYETNOTIPNOTRANAPP
NOTREQSTANOTRGRESNOTROOTNOTSEGSTRNOTSYSCONCEAL
NOT_BOUNDNOT_INSTALLEDNOT_LARDYNOT_READY
NOT_UPDATENOUPDCOMPNOVIERESNOVIEWINREPT
NOWILDNOWORMSPTNO_CROSEGNO_FILFND
NO_FIRSEGNO_MORSEGNO_PERBLONO_REDSEG
NO_SORSEGNO_SUCH_FIELDNO_TXNOUTNO_WITSEG
NULLNOINDONLFIRVARONLONEDBONLONEREDONLONEREQ
ONLONESORONLONETRAONLONETRNONLONEWIT
ONLYONEPSECTOPENERROPERCLOSEOPERSHUTDN
OPRSTK_OVRFLOOPTINCONSISOPTNOAREARECOPTNOUNTILREC
OVERFLOWPARSE_STACK_OVERFLOWPARTDTXNERR
PATHREQCDDPLACENEEDGETPREMATURE_EOFPREMEOF
QIOXFRLENQUIETPTRDORECOBSREAD_ONLY
REANOWRTREFSEGSTRRELAMBIGRELNOTDEF
REL_EXISTSREMNOTALWREORGONLCHSMRESABORT
RESERVED_WORDRESTARTRETMODSPCROOMAJVER
ROOTMAJVERRSENOTSEGRTOCMDILLRUJDEVDIR
SCALEOPSBASICSEGALRSTASEGNOTSTASEGOUTSCO
SEGSTREXPSELMORVALSETWIDTHSEVERRDET
SFDBONLYSHINDCIUSHINDFLDSIZESHINDMAPVALSHINDMAPVAL2
SIPSNAPFULLSORTOPERRSOURCEDISCSPACREQ
SPAMNOTDISSPAMNOTRDONLYSPAMNOTWRMSSNOTINROOT
STALLSTAREAFULSTARNOTALLSTOCONVAR
STOMAPNOEXISTOMAP_LITSSTRALRDECSTRALROPE
STRLITMISQUOSTRNOTDECSTRNOTOPESTROUTSCO
SYM_EXPSYNTAX_ERRSYSRDONLYTADMISMATCH
TERMINATETIMEOUTTOKTOOBIGTOOBIGBLR
TRAACTTRAACT_1TRAACT_2TRAACT_3TRAHDLBVALTRAHDLINV
TRAMODSPCTRANONERR1TRANONERR2TRAN_IN_PROG
TREE_OVRFLOTRGALREXITRUETRUNCATION
UNBTMPFILUNDERFLOWUNLCONVARUNSARITH
UNSCOMPUNSCOMPBYUNSCONVUNSDSCCLAUNSSTRXPR
UNSSUPDATUNTSTRUPDATEJOINUSEUNOPTAIJ
USINGCLSMNGLESSUSINGNOTSPECVEWNOTDEFVWNOFETCH
WAIMODSPCWASBOOLWISH_LISTWRMNOTMIXWRMRDONLY
ZABORT
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.
ACLNOTIMP
ACL not imported for !AS Explanation: The ACL contained in the RBR file could not be imported to the named object (database/relation/field) User Action: If you really want it, you must either obtain the needed privileges (BYPASS) or import the database under the account of the former owner (which may not be sufficient anyway). If you do not care about the restoration of protections you can ignore the message or import the database using the NOACL parameter which will cause all privileges and protections in the RBR file to be ignored.
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.
AIJACTIVE
<num> active transaction(s) not yet committed or aborted Explanation: Upon completion of the roll-forward operations for the current AIJ file, more than 1 transactions remain active. That is, the commit or roll-back information resides in the next AIJ file to be processed. It is also possible that one or more of these active transactions are prepared transactions, which may be committed or aborted by the recovery operation using DECdtm information; in this case, a separate message indicating the number of prepared transactions will be displayed. User Action: No user action is required. This message is informational only.
AIJALLDONE
AIJ roll-forward operations completed Explanation: The AIJ roll-forward operation has completed. User Action: No user action is required. This message is informational only.
AIJBADAREA
inconsistent storage area <str> needs AIJ sequence number <num> Explanation: The indicated storage area has been marked inconsistent with the rest of the database. The AIJ file with the indicated sequence number is required to commence recovery of the area. If the sequence number of the AIJ file is different than the indicated sequence number, recovery of the area will not be performed. User Action: No user action is required. This message is informational only.
AIJBCKACT
AIJ modify operation not allowed; AIJ backup in progress Explanation: An AIJ backup is currently in progress. While an AIJ backup is in progress, AIJ modify operations, such as disabling AIJ journalled or changing the default AIJ filename, are not permitted. If the AIJ backup was prematurely terminated by the user, another AIJ backup must complete before AIJ modifications are permitted. User Action: Allow the AIJ backup to finish before attempting the AIJ modify operation. If the AIJ backup was prematurely terminated by the user, start another AIJ backup and allow it to complete; the AIJ modify operation will then be possible.
AIJBCKFAIL
the AIJ backup that created the AIJ file did not complete Explanation: It appears that the AIJ backup process, that created the AIJ file currently being recovered, failed or was prematurely terminated. When this occurs, it is possible that one or more transactions active at the time of the backup failure may not have been recovered completely. User Action: Roll-forward the next AIJ file, which should contain the commit information for any transactions that were not completely recovered. If there are no more AIJ files to be rolled-forward, then all transactions have been completely recovered.
AIJBCKSEQ
backing up current AIJ file sequence number <num> Explanation: The created AIJ backup file will be internally identified with the indicated sequence number. When AIJ files are rolled-forward, the roll-forward utility will prompt for specific AIJ sequence numbers. The AIJ file sequence number should be included as a component of any external file identification information, such as magtape labels. User Action: No user action is required. This message is informational only.
AIJCONFIRM
do you wish to continue the roll-forward operation [<char>]: Explanation: Prompt the user to continue or terminate the AIJ roll-forward operation. User Action: Enter 'YES' to continue the roll-forward operation. Enter 'NO' to terminate the roll-forward operation. Any other response will also result in the termination of the roll-forward operation.
AIJCURSEQ
specified AIJ file contains sequence number <num> Explanation: The specified AIJ file contains the indicated sequence number. This sequence number must exactly match that expected by the roll-forward utility User Action: No user action is required. This message is informational only.
AIJDEVDIR
AIJ filename does not include device and directory Explanation: The AIJ filename 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.
AIJFILEGONE
continuing with AIJ modification operation Explanation: While attempting to disable AIJ journaling, or attempting to change the default AIJ filename, the active AIJ file could not be opened. This condition typically only occurs for catastrophic reasons; therefore, the AIJ file is assumed to have contained some data records, which are presumed to have been lost. User Action: No user action is required. This message is informational only.
AIJFNLSEQ
to start another AIJ file recovery, the sequence number needed will be <num> Explanation: This message informs the user what the next AIJ file sequence number will be. AIJ file sequence numbers are modified for a variety of reasons, such as performing an AIJ backup, enabling or disabling AIJ logging, etc. User Action: No user action is required. This message is informational only.
AIJGOODAREA
storage area <str> is now consistent Explanation: The indicated storage area has been marked consistent with the rest of the database. User Action: No user action is required. This message is informational only.
AIJMODSEQ
next AIJ file sequence number will be <num> Explanation: This message informs the user what the next AIJ file sequence number will be. AIJ file sequence numbers are modified for a variety of reasons, such as performing an AIJ backup, enabling or disabling AIJ logging, etc. User Action: No user action is required. This message is informational only.
AIJMOREWORK
active transactions will be aborted if you terminate recovery Explanation: This message indicates that one or more active transactions will be aborted if AIJ recovery is terminated. User Action: No user action is required. This message is informational only. This message supplements the AIJNXTSEQ message.
AIJNOACTIVE
there are no active transactions Explanation: Upon completion of the roll-forward operations for the current AIJ file, no transactions remain active. The AIJ recovery process can be terminated without the loss of transaction data. User Action: No user action is required. This message is informational only.
AIJNOENABLED
AIJ journaling has not yet been enabled Explanation: The AIJ roll-forward operation has completed, but AIJ logging has not yet been enabled. This message is a reminder to the user to enable AIJ logging, if desired. User Action: If AIJ logging is desired, AIJ logging should be enabled. Otherwise, no user action is required. This message is informational only.
AIJNXTFIL
enter the next AIJ file name, or return to terminate: Explanation: Prompt the user to enter the name of another AIJ file to be rolled-forward. If no AIJ file name is entered, the roll-forward operation is terminated. User Action: Enter the name of the next AIJ file to be rolled-forward. If you wish to terminate the roll-forward operation, simply hit return <CR>.
AIJNXTSEQ
to continue this AIJ file recovery, the sequence number needed will be <num> Explanation: This message informs the user what the next AIJ file sequence number will be. AIJ file sequence numbers are modified for a variety of reasons, such as performing an AIJ backup, enabling or disabling AIJ logging, etc. User Action: No user action is required. This message is informational only.
AIJONEDONE
AIJ file sequence <num> roll-forward operations completed Explanation: This message indicates that the roll-forward operations for the AIJ file with the indicated sequence number have been successfully completed. Note that in some cases, no transactions may have been applied; this is normal. User Action: No user action is required. This message is informational only.
AIJOPTSUC
AIJ optimization completed successfully Explanation: This is an informational message indicating that an AIJ optimization has completed successfully. User Action: No user action.
AIJPREPARE
<num> of the active transaction(s) prepared but not yet committed or aborted Explanation: Upon completion of the roll-forward operations for the current AIJ file, more than 1 transaction remains active AND prepared. That is, the commit or roll-back information either resides in the next AIJ file to be processed, or the action can be determined using DECdtm upon completion of the recovery operation. User Action: No user action is required. This message is informational only.
AIJQUIETPT
AIJ quiet-point backup required when commit-to-journal enabled Explanation: You attempted to perform a no-quiet-point back up of an after-image journal file when the commit-to-journal feature was enabled. User Action: Either disable the commit-to-journal feature, or use the quiet-point AIJ backup mechanism.
AIJRECTRM
AIJ roll-forward operations terminated at user request Explanation: Instead of specifying another AIJ file to be rolled-forward, the user specified that AIJ roll-forward operations should be prematurely terminated. In this case, it is possible that one or more active transactions were aborted by the system. User Action: No user action is required. This message is informational only.
AIJROOSEQ
starting AIJ sequence number required is <num> Explanation: The AIJ sequence number indicated corresponds to the first AIJ file that can be rolled-forward. If the sequence number of the AIJ file to be rolled-forward does not exactly match the indicated sequence number, no transactions will be applied. User Action: No user action is required. This message is informational only.
AIJSEQAFT
incorrect AIJ file sequence <num> when <num> was expected Explanation: The AIJ file supplied was created subsequent to the expected AIJ file. Usually, this condition occurs for the following reasons: 1) an incorrect AIJ file or VMS file "version" was specified, 2) the supplied AIJ file was not created for this database, or 3) AIJ logging was disabled and then later enabled. User Action: The utility will prompt for confirmation that the supplied AIJ file is valid. If AIJ logging was disabled and then later enabled without any intervening database transaction activity, then confirming the AIJ file will permit the roll-forward operation to continue applying all transactions contained in the AIJ file. Otherwise, the AIJ file should be rejected and the correct AIJ file specified. Should confirmation be given for an incorrect AIJ file, no transactions will be applied.
AIJSEQPRI
AIJ file sequence number <num> created prior to expected sequence <num> Explanation: The AIJ file supplied was created prior to the expected AIJ file. Usually, this condition occurs for the following reasons: 1) an incorrect AIJ file or VMS file "version" was specified, 2) the supplied AIJ file was not created for this database, or 3) a database backup was performed subsequent to the AIJ backup. User Action: No user action is required. This message is informational only. The AIJ roll-forward operation will continue to completion, although no transactions will be applied from the AIJ file.
AIJVNOSYNC
AIJ file <str> synchronized with database Explanation: When recovering a database for which AIJ journaling was enabled, it may be necessary to synchronize information in the AIJ file with information in the database root file. This is necessary to ensure that subsequent AIJ recovery operations are successful. User Action: No user action is required. This message is informational only.
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_DELETED
area <str> was previously deleted Explanation: An attempt was made to ready an area which was previously deleted.
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_RESTRUCT
storage area <str> is under restructure Explanation: An attempt was made to ready an area that is either presently being or in the recent past has been restructured. User Action: See your DBA to have the areas released.
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.
BADAIJBCK
previous AIJ backup did not complete Explanation: It appears that the previous AIJ file backup process, which was started on the indicated date/time, either failed or was prematurely terminated by the user. The AIJ backup file created by the failed backup utility is not complete and should not rolled-forward. User Action: No user action required. The current AIJ backup will backup the complete AIJ file to ensure there is no loss of transactions. The AIJ file created by the failed backup utility MUST be preserved; DO NOT discard the AIJ backup file. Even though the AIJ backup failed, the AIJ backup file must be used for successful roll-forward operations.
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.
BADAIJSEQ
AIJ file is incorrect for roll-forward operations Explanation: The specified AIJ file is not the correct file to be rolled-forward. Usually, this condition occurs for the following reasons: 1) an incorrect AIJ file or VMS file "version" was specified, 2) the supplied AIJ file was not created for this database, or 3) AIJ logging was disabled and then later enabled. User Action: No user action is required. This message is informational only.
BADAIJUNTIL
date specified by /UNTIL (<time>) has not yet been reached Explanation: The date and time specified by the /UNTIL command qualifier had not yet been reached when AIJ roll-forward operations were completed. User Action: Another AIJ file, if any, might have to be rolled-forward to ensure that all transactions have been applied up to the specified date and time. If no more AIJ files are available, the AIJ roll-forward operations are complete.
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.
BADBUFSIZ
buffer size (<num>) is too small for largest page size (<num>) Explanation: Specified buffer size is too small to hold even one page from the storage area with the largest page size.
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.
BADDTFMT
date or time format is not set up correctly Explanation: You entered a SHOW DATE_FORMAT command, but LIB$DT_FORMAT is not properly defined. User Action: Check the definition of LIB$DT_FORMAT. If it is a process logical, it should be changed. If it is a group or system logical, contact your system manager to change it.
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 non-database file. If not, rename or copy the database file to have the proper type.
BADFLDTYP
field <str> of target relation <str> has different field types Explanation: In a DEFINE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have entered MOVE RELATION clauses with the same target relation name and specified fields with the same names but of different data types in the source databases. User Action: Reenter the DEFINE TRANSFER statement by specifying fields of the same datatype in all the MOVE RELATION clauses with the same target relation.
BADIDXMAP
fields specified for partitioning index do not agree with fields for index Explanation: The user named fields to partition an index but in an incorrect order, or specified too many fields. User Action: Review the DML statement and specify it again.
BADINTERVAL
INTERVAL clause is not allowed in the DEFINE TRANSFER statement. Explanation: You have specified an INTERVAL clause as an attribute for the target database 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.
BADPARAM
<str> (<num>) is out of valid range (<num>..<num>) Explanation: An illegal parameter was specified when creating or modifying the database. User Action: Examine your command line for illegal parameter values.
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 an EXTRACTION ROLLUP transfer, you have entered a MOVE RELATION clauses with the same target relation name but specified a different set of fields in each 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.
BADSPAMINT
spam interval (<num>) is too large for page size (<num> block(s)) Explanation: The SPAM interval is too large for the specified page size. User Action: Reduce the SPAM interval or increase the page size.
BADSPECATR
attribute is incorrectly specified Explanation: You specified a field attribute that does not make sense. User Action: Check the documentation and specify the data definition statement again.
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: Re-enter 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.
CANTBACKUP
BACKUP command may not be issued, use RDO EXPORT Explanation: The BACKUP command is no longer available in RDO. User Action: Use the RDO EXPORT command, which provides the same functionality.
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 not be issued, use RMU/CONVERT Explanation: The CONVERT command is no longer available in RDO. User Action: Use the RMU/CONVERT command which provides the same functionality.
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.
CANTRESTORE
RESTORE command may not be issued, use RDO IMPORT Explanation: The RESTORE command is no longer available in RDO. User Action: Use the RDO IMPORT command, which provides the same functionality.
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 sub-process Explanation: An error occurred while you attempted to spawn a sub-process. User Action: Examine the secondary message for more information.
CANTSPOOL
SPOOL command may not be issued, use RMU/BACKUP/AFTER_JOURNAL Explanation: The SPOOL command is no longer available in RDO. User Action: Use the RMU/BACKUP/AFTER_JOURNAL command, which provides the same functionality.
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.
CHGINDMAP
This index was previously specified with a STORE clause, continue? [N] Explanation: You are specifying a CHANGE INDEX statement without a STORE clause, which places the index into the RDB$SYSTEM storage area. The index was previously specified as being stored in a different area. RDO is confirming that you want the index placed in the RDB$SYSTEM storage area. User Action: An affirmative reply (Y or YES) causes the operation to continue. A negative reply (a carriage return, N, or NO) terminates the operation.
CHGINDMAPSTP
terminating operation at user's request Explanation: See above. 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: Re-enter the DATE data item in the correct format.
COL_DROPPED
collating sequence dropped for non-text field <str> Explanation: A collating sequence was defined on a non-text field. This collating sequence is dropped from the field. User Action: None.
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.
CONFTXNOPTION
Do you really want to <str> this transaction? [<char>]: Explanation: Confirm that the user actually wants to take the action.
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:
CS_ERR
error retrieving collating sequence <str> Explanation: The collating sequence could not be retrieved -- see the message that follows. User Action: Correct the problem and try the operation again.
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: Re-enter 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 an EXTRACTION 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 each of the move-relation-clauses.
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.
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.
DOFULLBCK
full database backup should be done to ensure future recovery Explanation: After enabling AIJ journaling, it is often necessary to perform a full (i.e. not incremental) database backup. Failure to backup the database may result in the AIJ file NOT being recoverable. User Action: IT IS HIGHLY RECOMMENDED that a full database backup be performed AS SOON AS POSSIBLE.
DTFMTTOOBIG
date or time format must be in the range 1 to 999 Explanation: You entered a DATE or TIME value outside the range 1 to 999 in the SET DATE_FORMAT statement. User Action: Enter a value greater than or equal to 1 and less than or equal to 999.
DTONCEEACH
you can specify DATE or TIME only once each Explanation: You entered DATE date-number twice or TIME time-number twice in the SET DATE_FORMAT statement. User Action: Enter nothing, or enter DATE, TIME, or one of each with SET DATE FORMAT.
DUPFLDDEF
field <str> has different definitions in relations <str> and <str> Explanation: In a DEFINE TRANSFER statement of an EXTRACTION ROLLUP transfer, you are attempting to move a field which does not have the same definition in all the source databases. Since we cannot have two definitions of a field in the target database, the DEFINE TRANSFER command is invalid. User Action: Reenter the DEFINE TRANSFER statement by including only one definition of the field mentioned above or by changing all the definitions of this field into the 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 journalled 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.
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.
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.
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.
ERRWRITE
error writing file Explanation: An error occurred while writing 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
error <str> file <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.
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.
FOREIGN_NOUNQCON
no Primary/Unique constraint matching foreign constraint <str> Explanation: The foreign relation constraint must have a primary or unique constraint (with its key matching the foreign relation constraint's referenced key) defined and stored or defined in the same relation with the foreign relation constraint. User Action: Correct the problem and try the operation again.
FOREIGN_REFGREFD
referencing/referenced fields number mismatch in foreign constraint <str> Explanation: The number of referencing and referenced fields must be equal in the foreign relation constraint. User Action: Correct the problem and try the operation again.
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.
GETTXNOPTION
Do you wish to COMMIT/ABORT/IGNORE this transaction: Explanation: Ask the user whether to COMMIT/ABORT/IGNORE this blocked transaction.
GOODAIJSEQ
AIJ file is correct for roll-forward operations Explanation: The specified AIJ file is the correct file to be rolled-forward. User Action: No user action is required. This message is informational only.
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 non-numeric character. User Action: Correct the error and try again.
IMP_CDD_NODATA
importing a CDD dictionary with NODATA is not allowed Explanation: You used the NODATA option when importing a CDD/Plus dictionary database. User Action: You cannot use the NODATA option when importing CDD/Plus dictionaries. The resulting database is not usable by CDD/Plus. Use the DATA option and try again.
IMP_IDXNOTDEF
index <str> not defined - check spelling of the relation name Explanation: The IMPORT operation could not process a DEFINE INDEX clause because the named relation was not defined in the database. User Action: Check that the relation name was spelled correctly.
IMP_IDXNOTDEL
index <str> not deleted - check spelling of the index name Explanation: The IMPORT operation could not process a DELETE INDEX clause because the named index was not defined in the database. User Action: Check that the index name was spelled correctly.
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 or DELETE INDEX <str> specified twice Explanation: You specified a DEFINE or DELETE INDEX twice using the same name. User Action: Specify a INDEX name only once.
IMP_STANOTDEL
storage area <str> not deleted - check spelling of the storage area name Explanation: The IMPORT operation could not process a DELETE STORAGE AREA clause because the named storage area was not defined in the database. User Action: Check that the storage area name was spelled correctly.
IMP_STMNOTDEF
storage map <str> not defined - check spelling of the relation name Explanation: The IMPORT operation could not process a DEFINE STORAGE MAP clause because the named relation was not defined in the database. User Action: Check that the relation name was spelled correctly.
IMP_STMNOTDEL
storage map <str> not deleted - check spelling of the storage map name Explanation: The IMPORT operation could not process a DELETE STORAGE MAP clause because the named storage map was not defined in the database. User Action: Check that the storage map name was spelled correctly.
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 or DELETE STORAGE MAP <str> specified twice Explanation: You specified a DEFINE or DELETE STORAGE MAP twice using the same name. User Action: Specify a STORAGE MAP name only once.
IMP_STO_TWICE
DEFINE or DELETE STORAGE AREA <str> specified twice Explanation: You specified a DEFINE or DELETE 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. This message is also printed during an IMPORT operation if the backup file contains multiple definitions of an index. Duplicate definitions may indicate corruption of the .RBR file, or improper operation during the EXPORT operation. User Action: Try another index name. If this message arose during an IMPORT operation, submit an SPR with a copy of the Rdb/VMS interchange file (.RBR) that caused the error.
INDNOEXI
index <str> does not exist in this database Explanation: The index you attempted to change was not found. User Action: Check the name of the storage map using the SHOW command and try again to change it.
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 an EXTRACTION or REPLICATION transfer, you have specified an INTO RELATION clause. User Action: Reenter the DEFINE TRANSFER statement by not specifying an 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.
INVDBKREF
invalid use of a database key Explanation: Dbkeys cannot be used in an RSE except to check for equality or non-equality with a dbkey fetched from the database. User Action: Correct the problem and try the operation again.
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 re-used 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.
INVFLDPRO
invalid protection defined for field, only MODIFY allowed Explanation: Only MODIFY may be specified for field protection. User Action: Do not specify field privileges other than MODIFY.
INVFLDSIZE
specified invalid field size Explanation: You specified an illegal field size. User Action: Please specify a field size between 0 and 32768 exclusive.
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.
INVNODESIZE
invalid node size parameter specified Explanation: The command specified a number for a node size which was invalid. It was either less than or equal to zero or greater than 32768. User Action: Review the command and respecify using a node size within the above range (but big enough to meet the implementation requirements).
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.
INVPERCENTFILL
invalid percent fill parameter specified Explanation: The command specified a number for a percent fill which was invalid. It was either less than or equal to zero or greater than 100. User Action: Review the command and respecify using a percent fill within the above range.
INVPRIVNAMES
invalid privilege names specified in message file Explanation: The names specified in PRIV_NAMES0 and PRIV_NAMES1 were incorrect in some way. User Action: Submit an SPR or contact your support center.
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.
INVSTOMAP
storage map is invalid as specified Explanation: You specified an invalid storage map. User Action: Review the command and issue it correctly.
INVTRG
unable to IMPORT trigger <str> Explanation: Internal error - the named trigger 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 trigger explicitly.
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.
LOGCREOPT
created optimized after-image journal file <str> Explanation: This message indicates the action taken on a specific file.
LOGMODSPM
modified <num> spam page(s) Explanation:
LOGMODSTO
modifying storage area <str> Explanation: The parameters of a storage area are in the process of being modified.
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 roll-forward, this message is displayed every time a transaction is committed, rolled back, or ignored.
LOGRESOLVE
blocked transaction with TSN <num> <str> Explanation: When a blocked transaction is resolved, this message is displayed every time the transaction is committed, rolled back, or ignored.
LOGSUMMARY
total <num> transaction(s) <str> Explanation: Database recovery was successful. The specified total number of transactions were re-applied to the database, ignored or rolled back. User Action: None.
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.
MAXLINLEN
maximum allowed line_length is <num> bytes Explanation: You entered a line length that exceeds the limit. User Action: Choose a smaller length.
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: Re-enter the DATE data item having both the month and day fields.
MONFLRMSG
failure message received from the monitor Explanation: An error happened in the monitor process. The user process received the error message. User Action: Examine the monitor log on the node where the user program was running to see messages relating to the monitor error.
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 an EXTRACTION ROLLUP transfer, you have not specified any MOVE RELATION clause. User Action: Since a 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.
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.
NOCOLRES
unable to IMPORT collating sequence <str> Explanation: This collating sequence could not be imported -- see the message that follows. User Action: Correct the problem and try the operation again.
NOCONGET
the concatenate operator cannot be used within a GET statement Explanation: The concatenate operator may not be used within a GET statement. User Action: You must do the concatenation outside of Rdb/VMS statements.
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 either does not or can 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
filename 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.
NODISTBATU
attempt to start a distributed transaction with BATCH_UPDATE Explanation: You specified attributes which cannot be used together, for example, batch update and distributed transaction. User Action: Specify the START_TRANSACTION statement again without the conflicting clauses.
NODPRIRES
Unable to import database ANSI privileges for <str> Explanation: RDO could not import these ANSI privileges; see the message that follows. User Action: Correct the problem and try the operation again.
NODUPLIVIEW
view <str> cannot be specified more than once in a transfer definition Explanation: You have specified a view name in both a move-relations-clause and in a move-views-clause. User Action: Reenter the DEFINE TRANSFER statement by specifying the view either in a move-relations-clause or in a move-views-clause but not in both.
NOENTRYPT
no entry point Explanation: There is no entry point for the routine in the shareable image. User Action: Make sure you are in the right Rdb/VMS environment.
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.
NOFPRIRES
Unable to import ANSI privileges on field <str>.<str> for <str> Explanation: RDO could not import these ANSI privileges -- see the message that follows. User Action: Correct the problem and try the operation again.
NOFSTINREPT
FIRST clause is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATION 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 RELATION 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.
NOLOCKSOUT
no locks on this node with the specified qualifiers Explanation: No locks were found on the current node that match the specified command-qualifiers. This usually indicates that either no monitors are active on this node, or no databases are currently being accessed on this node. User Action: If databases are active on the node, trying using a less restrictive set of command-qualifiers.
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.
NOMOREGB
<num> global buffers not available to bind; <num> free out of <num> Explanation: Your attempt to bind to the database failed because there are not enough global buffers to allow your process to bind to the database. User Action: There are four ways to alleviate this problem. 1)Try to bind to the same database on another node, if you are using a VAXcluster. 2)Wait till another user unbinds from the database and retry the bind. 3)Increase the number of global buffers used for the database. 4)Decrease the maximum number of global buffers any one user can use, in order to allow more users to bind to the database. Please see your DBA for help.
NOMVRALL
MOVE RELATIONS ALL clause is not allowed in an EXTRACTION ROLLUP transfer Explanation: In a DEFINE TRANSFER statement of an EXTRACTION ROLLUP transfer, you have specified a 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 an 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.
NOOPTCUR
cannot optimize, AIJ file <str> is the current AIJ file Explanation: This message tells the user that the current AIJ file cannot be optimized. This is because the optimized AIJ file would not be equivalent to the current AIJ file if more journaling was done after optimization. User Action: Start a new AIJ file and then optimize the AIJ file in question.
NOOPTNOQUIET
cannot optimize, AIJ file <str> backed-up via a no quiet point backup Explanation: This message tells the user that an AIJ file which was backed up with a no quiet point backup, cannot be optimized. This is because a no quiet point backup can leave incomplete transactions in an AIJ file. AIJ optimization cannot handle incomplete transactions within an AIJ file. User Action: No user action. This AIJ file cannot be optimized.
NOOPTOPT
cannot optimize, AIJ file <str> is already optimized Explanation: This message tells the user that an optimized AIJ file cannot be optimized again. User Action: No user action.
NOOPTPRVNOQUIET
cannot optimize, AIJ file <str> had its previous AIJ file backed up via a no quiet point backup Explanation: This message tells the user that an AIJ file whose previous AIJ file which was backed up with a no quiet point backup, cannot be optimized. This is because a no quiet point backup can leave incomplete transactions in an AIJ file. AIJ optimization cannot handle incomplete transactions within an AIJ file. User Action: No user action. This AIJ file cannot be optimized.
NOOPTUNRES
cannot optimize, AIJ file <str> has unresolved transactions, Explanation: This message tells the user that the AIJ file being optimized has unresolved distributed transactions. AIJ optimization cannot handle unresolved transactions so it must abort. User Action: Use the original, non-optimized AIJ file if needed for recovery.
NOPARAMETER
SHOW command permits no parameters Explanation: The collating sequence could not be retrieved -- see the message that follows. User Action: Correct the problem and try the operation again.
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 RELATION 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 RELATION 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.
NORPRIRES
Unable to import ANSI privileges on relation <str> for <str> Explanation: RDO could not import these ANSI privileges -- see the message that follows. User Action: Correct the problem and try the operation again.
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 an EXTRACTION ROLLUP transfer, you have specified a 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 RELATION 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 RELATION clause.
NOSTATS
statistics are not enabled for !AD Explanation: An attempt was made to show statistics for a database that currently has statistics collection disabled. User Action: Enable statistics and try again.
NOSUCHDATEFMT
format DATE <num> does not exist Explanation: You entered DATE date-number where the logical LIB$DATE_FORMAT_nnn does not exist. User Action: Contact the system manager to install the date formats.
NOSUCHLANG
specified language not defined on this system Explanation: You entered the SET LANGUAGE statement, but the logical name table LNM$LANGUAGE_xxx does not exist. User Action: Contact your system manager to make sure everything has been set up properly; the language may not be supported, or the language may have been spelled incorrectly. The language name cannot be abbreviated.
NOSUCHTIMEFMT
format TIME <num> does not exist Explanation: You entered TIME time-number where the logical LIB$TIME_FORMAT_nnn does not exist. User Action: Contact the system manager to install the date/time formats.
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
filename does not specify disk device type Explanation: A filename was specified which does not reference a disk oriented device type. User Action: Check the filename for a proper disk device type.
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.
NOTRGRES
unable to IMPORT trigger <str> Explanation: This trigger could not be imported -- see the message that follows. User Action: Correct the problem and try the operation again.
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_LARDY
area for <num>:<num>:<num> not in proper ready mode Explanation: You attempted to access a logical area for which you have not declared your intentions. User Action: Retry ready operation later.
NOT_READY
storage area <str> not readied 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 transaction 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.
NOVIEWINREPT
view <str> is not allowed in MOVE RELATION clause of a REPLICATION transfer Explanation: In the MOVE RELATION clause of a REPLICATION TRANSFER definition you have specified a view. User Action: Reenter the DEFINE TRANSFER statement without the view in the MOVE RELATION clause. The view definition can be moved by specifying the view in the 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.
NOWORMSPT
WORM areas are not supported in VAX DBMS Explanation: An attempt was made to declare an area as having the WORM attribute. At this time, there is no support for this in VAX DBMS. User Action: Submit a Software Problem Report (SPR).
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.
OPTINCONSIS
optimized AIJ file is inconsistent with the database Explanation: This message tells the user that the database and/or some areas within the database are not consistent with the optimized AIJ file. This means the last transaction committed to the database and/or some database areas is not the same as the last transaction committed to the database at the time the optimized AIJ file's original AIJ file was created. To use an optimized AIJ file for recovery, it must be consistent with the database and all areas. User Action: Use the original, non-optimized AIJ file to do the recovery.
OPTNOAREAREC
cannot do by area recovery with an optimized AIJ file Explanation: This message tells the user that a recover by area operation was attempted with an optimized AIJ file. Optimized AIJ files do not support recovery by area so the recovery operation was aborted. User Action: Use the original, non-optimized AIJ file to do the by area recovery.
OPTNOUNTILREC
cannot do a /RECOVER/UNTIL with an optimized AIJ file Explanation: This message tells the user that a recover operation specifying an "until" time is not allowed with an optimized AIJ file. No recovery is performed if this condition is specified. User Action: Use the original, non-optimized AIJ file to do the /RECOVER/UNTIL operation.
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.
PARTDTXNERR
error trying to participate in a distributed transaction Explanation: Unable to participate in the DECdtm distributed transaction due to a DECdtm error. This error is returned in the secondary error message. User Action: Look at the secondary error message and make the necessary correction and retry.
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.
PLACENEEDGET
PLACE operator must fetch data Explanation: A PLACE statement has been used without a GET or PRINT statement. PLACE must retrieve something from the database, usually a dbkey. User Action: Use the GET or PRINT statement to retrive the appropriate dbkey.
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.
RDORECOBS
RECOVER command is obsolete, please use RMU/RECOVER Explanation: You requested that an RDO RECOVER statement be executed. This statement is no longer supported in RDO. User Action: Use the RMU/RECOVER command instead.
READ_ONLY
Read only area <str> must be readied in RETRIEVAL mode only Explanation: A read only area can be readied in RETRIEVAL mode only. User Action: Ready this area for retrieval or make the area read-write.
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.
REORGONLCHSM
REORGANIZE may only be used in CHANGE STORAGE MAP Explanation: You specified the REORGANIZE keyword in a statement other than the CHANGE STORE MAP statement. User Action: Specify the REORGANIZE keyword only in the CHANGE STORAGE MAP statement. There is no REORGANIZE keyword in the DEFINE STORAGE MAP statement.
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 <num>.<num> is not compatible with software version <num>.<num> 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 filename does not include device and directory Explanation: The RUJ filename 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 singleton 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 cannot be used with multifile databases. User Action: Use the corresponding RMU function for a multifile database.
SHINDCIU
Compression in use Explanation: Used for SHOW INDICES. User Action: None.
SHINDFLDSIZE
size of index key is Explanation: Used to display the number of characters used in the key for an index. The field used for the key must be at least of this length. User Action: None.
SHINDMAPVAL
mapping values Explanation: Uses values from <low> to <high> for minimizing space needed for index node. User Action: None.
SHINDMAPVAL2
to Explanation: Uses values from <low> to <high> for minimizing space needed for index node. User Action: None.
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.
SORTOPERR
a VMS SORT/MERGE operation was unsuccessful Explanation: A VMS SORT/MERGE operation completed unsuccessfully. See the secondary message as to what operation failed. User Action: Fix the VMS SORT/MERGE problem and try again.
SOURCEDISC
source code after END statement ignored Explanation: There may have been source code after an end statement. User Action: Review the program and if there was meaningful source code after the end statement in a precompiled module, separate it into another module.
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.
SPAMNOTDIS
cannot disable SPAMs for uniform area <str> Explanation: Only mixed format areas can have spams enabled/disabled. User Action: Do not enable/disable SPAMs for uniform format areas.
SPAMNOTRDONLY
cannot enable SPAMs for READ_ONLY area <str> Explanation: Read only areas cannot be modified to have spams enabled since this involves rebuilding the SPAM pages. User Action: Change area to be read write.
SPAMNOTWRM
cannot enable SPAMs for WORM area <str> Explanation: Worm areas cannot have spams enabled. User Action: Do not enable SPAMs for WORM areas.
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.
STOMAPNOEXI
storage map <str> does not exist in this database Explanation: The storage map you attempted to change was not found. User Action: Check the name of the storage map using the SHOW command and try again to change it.
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.
SYSRDONLY
BATCH or EXCLUSIVE UPDATE access is not allowed if RDB$SYSTEM is read-only Explanation: BATCH UPDATE and EXCLUSIVE UPDATE access do not update the snapshot files. The fact that snapshots are not being maintained is recorded in the RDB$SYSTEM area. Hence, RDB$SYSTEM may not be READ_ONLY. User Action: Use another UPDATE access mode, or change RDB$SYSTEM to be READ WRITE.
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.
TIMEOUT
timeout on <str> Explanation: A lock request has been canceled by the database management system because the request could not be granted within the user-specified timeout period. User Action: Execute a ROLLBACK or a COMMIT to release your locks, and try the transaction again.
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: Your 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.
TRGALREXI
trigger <str> already exists in this database Explanation: The trigger name you requested is already the name of an existing trigger. User Action: Choose a different name.
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.
UPDATEJOIN
relation <str> is part of join cannot be updated Explanation: You tried to modify or erase records from a relation that is joined with other relations. User Action: Redefine the query so that the relation you are trying to update is not directly joined to other relations.
USEUNOPTAIJ
please use original unoptimized AIJ file for this recovery operation Explanation: This message tells the user that the requested recovery operation is not compatible with an optimized AIJ file. See the accompanying message for the cause of the incompatability. User Action: Use the original, non-optimized AIJ file to do the recovery.
USINGCLSMNGLESS
USING clause present with no WITH LIMIT clause Explanation: You specified a STORE USING clause, but no WITH LIMIT clause. User Action: The STORE USING clause is meaningless without the WITH LIMIT clause.
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.
VWNOFETCH
view <str> cannot be fetched within a stream Explanation: Records from the specified view cannot be retrieved in a stream. This indicates that the view was defined as an AGGREGATE (SQL GROUP BY) or MERGE (SQL UNION) stream. User Action: Retrieve the records using a FOR statement.
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.
WRMNOTMIX
cannot add WORM attribute to uniform format area <str> Explanation: WORM areas should only be mixed format areas. User Action: Examine your command line for illegal combination.
WRMRDONLY
cannot add WORM attribute to READ_ONLY area <str> Explanation: WORM areas cannot also have the read-only property. User Action: Examine your command line for illegal combination.
ZABORT
user entered Control-Z to abort command Explanation: You entered a CTRL/Z to abort the current command. User Action: None.
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.
More
You do not need any special Rdb/VMS privileges to use the EXECUTE statement. You can use the SET VERIFY statement to have the commands in the file displayed on the screen as they execute. RDO recognizes a special RDO command file called RDOINI.RDO, which contains RDO statements to be issued before RDO displays the RDO> prompt. If this file exists, RDO executes the commands in that file first, before displaying the prompt and accepting your input. If you have defined the logical name RDOINI to point to a general initialization file, RDO uses this file. Otherwise, it looks for RDOINI.RDO in the current default directory.
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.
!
INVOKE DATABASE FILENAME 'DISK2:[DEPT32]MF_PERSONNEL.RDB'
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
$ 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 MF_PERSONNEL database.
!
SET NOVERIFY
SET OUTPUT COUNT.LOG
INVOKE DATABASE FILENAME 'DISK2:[DEPT3]MF_PERSONNEL.RDB'
PRINT " "
PRINT "Statistics for the MF_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 " "
$ !
$ RDO:== $RDO
$ RDO
RDO> @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
RDO>
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────────────────────────────┤ │ │ ├──>
C
O
L
L
A
T
I
N
G
S
E
Q
U
E
N
C
E typebox (I)typebox (S) sequence-name───┤ │ │ └──>
N
O
C
O
L
L
A
T
I
N
G
S
E
Q
U
E
N
C
E ────────────────┘ │ └─────────────────<────────────────────────────┘
Additional information available:
data-typevalidity-clausemissing-value-clausedtr-clause
data-type
Describes the characteristics of data stored in fields. Request the top-level HELP topic "Datatypes" 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 ─┬─> └─>
N
O
V
A
L
I
D
I
F ────────────────────┘ 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.
Additional information available:
Example
In the following example, the SHOW FIELD statement shows the SEX
field, which contains a VALID IF clause. The CHANGE FIELD statement
removes the VALID_IF clause from the SEX field:
RDO> DATA FILE DB$:PERSONNEL
RDO> SHOW FIELD SEX
SEX text size is 1
Description: M, F
Missing value: "?"
Valid: IF SEX = 'M' OR SEX = 'F' OR
SEX MISSING
RDO> CHANGE FIELD SEX NO VALID IF.
RDO> SHOW FIELD SEX
SEX text size is 1
Description: M, F
Missing value: "?"
RDO> ROLLBACK
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
F
O
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
F
O
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) ──┘ │ ├─>
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.
COLLATING
The COLLATING_SEQUENCE clause specifies the collating sequence to be used in the field you are defining. The NO COLLATING_SEQUENCE clause specifies that the field will use the standard default collating sequence (the ASCII collating sequence).
Logical Names
This section describes new Rdb/VMS logical names and changes to other Rdb/VMS logical names. For complete information on Rdb/VMS logical names, see the VAX Rdb/VMS Guide to Database Performance and Tuning.
Additional information available:
RDMS$BIND_QG_TIMEOUTRDMS$BIND_QG_REC_LIMITRDM$BIND_CKPT_TRANS_LIMIT
RDMS$USE_OLD_UPDATE_RULES
RDMS$BIND VM SEGMENT ChangedRDMS$BIND WORK FILE Changed
RDMS$BIND VM SEGMENT Changed
The logical names RDMS$BIND_VM_SEGMENT changed to
RDM$BIND_VM_SEGMENT, that is, without the S. This logical name
prevents memory fragmentation and allows certain applications which
would otherwise run out of virtual memory to execute correctly.
NOTE
The RDM$BIND_VM_SEGMENT logical name is not for
general use, as preserving larger block sizes (by
preventing fragmentation) may cause problems for some
applications.
To use this logical name use the DCL command as follows:
$ DEFINE RDM$BIND_VM_SEGMENT 1
Use this logical name either on the system experiencing the problem
or in some other appropriate place such as in the LOGIN.COM file of
the users experiencing the difficulty.
RDMS$BIND_QG_TIMEOUT
The RDMS$BIND_QG_TIMEOUT logical name is used to set the query optimizer elapsed time limit. The elapsed time that the query optimizer spends compiling a query can now be limited by defining the logical name RDMS$BIND_QG_TIMEOUT and specifying a value in seconds. A timer is established which will cause the query compilation to be aborted if too much elapsed time has passed. This logical name is translated at attach time and supersedes all options specified in the application. The following DCL command is used to define the RDMS$BIND_QG_TIMEOUT logical name and set a value of 120 seconds. $ DEFINE RDMS$BIND_QG_TIMEOUT 120 In this example, the query optimizer will abort the query compilation after 120 seconds have elapsed. See the RDMS$BIND_QG_REC_LIMIT help topic at this level for information on how to limit the number of records delivered during query processing.
RDMS$BIND_QG_REC_LIMIT
The RDMS$BIND_QG_REC_LIMIT logical name is used to set the query optimizer row number delivery limit. The number of rows delivered during query processing can now be limited by defining the logical name RDMS$BIND_QG_REC_LIMIT and specifying a value of n records. Defining this logical name is useful for any query that returns large quantities of rows and is likely to do large numbers of I/O operations. This limit counts the rows being returned by the query. Note that this value is independent of the number of records read by the application, for example intermediate records for a join, or component records for an aggregate. It is very similar to the LIMIT TO clause in SQL. However, if this limit is exceeded, an error message is returned. This logical name is translated at attach time and supersedes all options specified in the application. The following DCL command is used to define the RDMS$BIND_QG_REC_LIMIT logical name and set a value of 20 records: $ DEFINE RDMS$BIND_QG_REC_LIMIT 20 In this example, the query optimizer will terminate processing the query after 20 records are returned. See the RDMS$BIND_QG_TIMEOUT help topic at this level for information on how to limit the elapsed time that the query optimizer can spend compiling a query.
RDM$BIND_CKPT_TRANS_LIMIT
You can use the RDM$BIND_CKPT_TRANS_LIMIT logical name to define a process-specific checkpoint interval value when undo/redo recovery processing is enabled. By default, a process checkpoints when the AIJ block size limit is reached or the time interval limit is exceeded, whichever occurs first. The RDM$BIND_CKPT_TRANS_LIMIT logical name uses the number of transactions as the checkpoint trigger. For example, if you define RDM$BIND_CKPT_TRANS_LIMIT to be 10, the process on which the logical is defined checkpoints after committing ten transactions IF the transaction limit is reached before the block size or time limits are exceeded.
RDMS$USE_OLD_UPDATE_RULES
This section discusses use of the RDMS$USE_OLD_UPDATE_RULES logical
name to preserve update behavior. With the release of Rdb/VMS
Version 4.1, you cannot modify or erase records in a relation if the
relation is joined with other relations.
NOTE
This restriction applies to RDO, RDBPRE, and RDML
only. SQL syntax does not allow this type of update.
However, updates to a relation are allowed if you join the relation
with other relations in a subquery.
This update restriction can cause applications that depend on the
previous update behavior to fail unless update queries are modified.
Because this may not be possible before upgrading to Version 4.1, you
can use the RDMS$USE_OLD_UPDATE_RULES logical name to retain the
previous update behavior, then modify your applications.
Define the RDMS$USE_OLD_UPDATE_RULES logical name to be 1, as shown
below, to enforce the old update rules.
$ DEFINE RDMS$USE_OLD_UPDATE_RULES 1
Support for this logical name will be removed in a future release of
Rdb/VMS.
RDMS$BIND WORK FILE Changed
The RDMS$BIND_WORK_FILE logical name is used to redirect the location of temporary files that Rdb/VMS sometimes creates for use in matching operations. Rdb/VMS creates the file when the process running the query runs out of virtual memory, and deletes the file once the query is completed. For Rdb/VMS Version 4.1, you can define RDMS$BIND_WORK_FILE and specify a device name and directory. This enables the file to use resource identifiers for disk quota allocation. The following example shows how to assign the location of temporary files to a specific device and directory. $ DEFINE RDMS$BIND_WORK_FILE WORK$DISK:[RDB.WORK]
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 define a symbol to invoke RDBPRE. Once you are in the RDBPRE environment, you can specify the programming language and the input file specification. For example: $ RDBPRE :== $RDBPRE $ 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
Additional information available:
/BASIC/COBOL/FORTRAN/INITIALIZE_HANDLES
/BASIC
Specifies that the input file is a BASIC source file. Following successful RDBPRE preprocessing, the resulting file is submitted automatically to the BASIC compiler.
/COBOL
Specifies that the input file is a COBOL source file. Following successful RDBPRE preprocessing, the resulting file is submitted automatically to the COBOL compiler.
/FORTRAN
Specifies that the input file is a FORTRAN source file. Following successful RDBPRE preprocessing, the resulting file is submitted automatically to the FORTRAN compiler.
/INITIALIZE_HANDLES
The /[NO]INITIALIZE_HANDLES qualifier allow you to control whether
RDBPRE will initialize RDBPRE-supplied database, transaction, and
request handles. Use of the /NOINITIALIZE_HANDLES qualifier allows
you to link a main image against a shareable image and share handles
between the two.
Format:
/INITIALIZE_HANDLES (Default)
/NOINITIALIZE_HANDLES
These qualifiers have no effect on whether or when handles are
cleared in the generated code; they only control initialization of
handles in declarations. Furthermore, they only affect database,
transaction and request handles that RDBPRE declares. User-specified
transaction and request handles will not be initialized when you use
the /INITIALIZE_HANDLES qualifier.
In RDBPRE when you use the /NOINITIALIZE_HANDLES qualifier, any
handle you specify in your application program must also be specified
in the shareable image.
RDML
You can define a symbol to invoke the Relational Data Manipulation Language (RDML) preprocessor. For example: $ RDML :== $RDML $ 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:RDBVMS041.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.
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.
Additional information available:
arithmetic expressionconcatenated expressiondatabase fielddatabase key
first fromhost variableliteralstatistical expression
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 (/) ──┘
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 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 example:
FOR E IN EMPLOYEES PRINT E.LAST_NAME
| | | |
| | +------+-----+
| | |
context relation database
variable name field
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 ───>
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 ───>
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.
literal
A character string literal, numeric literal, or date 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
FOR S IN SALARY_HISTORY WITH S.SALARY_START = "9-APR-1980"
PRINT S.EMPLOYEE_ID ----------
END_FOR |
date 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 ─────────────────────┘
Additional information available:
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
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.