RDB/VMS Relational Database Operator CHANGE_STORAGE_MAP — VMS CDD+_4.1A
Changes the storage map definition for a relation. You can also change which index Rdb/VMS uses when it stores new records and whether records will be stored in a compressed format.
Additional information available:
Format
CHANGE STORAGE MAP ───────────> map-name ────────────────────┐ ┌─────────────────────────────<──────────────────────────────┘ └────────────> change-relation-map-clause ──────>────────────┐ │ ┌───────────────────────────────<───────────────────────────┘ └──>
E
N
D ─────┬────────>──────┬─────> typebox (S)typebox (T)typebox (O)typebox (R)typebox (A)typebox (G)typebox (E) typebox (M)typebox (A)typebox (P) ────> . └─> map-name ───┘
Additional information available:
map-namechange-relation-map-clause
map-name
The name of the storage map you want to modify.
change-relation-map-clause
change-relation-map-clause =
───────┬──┬─> store-clause ─────────────────────────┬─┬─────────>
│ ├─>
P
L
A
C
E
M
E
N
T
V
I
A
I
N
D
E
X ──> index-name ──┤ │
│ └────┬──>
D
I
S
A
B
L
E ──┬─>
C
O
M
P
R
E
S
S
I
O
N ──────┘ │
│ └──>
E
N
A
B
L
E ───┘ │
│ │
└──────────────────────<───────────────────────┘
Additional information available:
store-clauseCOMPRESSION clause
store-clause
store-clause = STORE ─┬──>
W
I
T
H
I
N ─┬──> storage-area-name ────┬─────>──────────┬──> ┌──────┘ └─────── typebox (;) <──────────────┘ │ │ │ └─────>
U
S
I
N
G ───┬────> field-name ───┬──
W
I
T
H
I
N ────>──────┐ │ └────────── , ───────┘ │ │ ┌───────────────────────────────<───────────────────────────┘ │ └─┬─>storage-area-name ──>
W
I
T
H
L
I
M
I
T typebox (O)F─┬> literal ─┬─ typebox (;) ──┬─┐ │ │ └──── , <───┘ │ │ │ └──────────────────────────<─────────────────────────────┘ │ │ ┌────────────────────────────<───────────────────────────────┘ │ │ │ └────────────────────> storage-area-name ─────────>─────────────┘
Additional information available:
field-name
The names of the fields in the relation which are to be treated as keys for determining in which storage areas Rdb/VMS will initially store a record.
storage-area-name
The name of the storage area you want records stored in. You must define this storage area with the DEFINE DATABASE statement before you refer to it in the store clause.
WITH_LIMIT_OF
The maximum value the key defined in the USING clause can have when it is initially stored in the specified storage area. The number of literals specified must match the number of fields specified in the USING clause. If you change the limits for a storage area, records that were already stored in the area are not moved according to the new limit clause. However, new records will be stored into the relation according to the new limits you specify.
PLACEMENT_VIA_INDEX
Indicates that Rdb/VMS should attempt to store a record in a way that optimizes access to that record via the indicated path. Rdb/VMS chooses a target page for any record being stored by rules that take into account the type of index defined (sorted or hashed), the type of storage areas involved (uniform or mixed), and how indexes and relations are assigned to each other.
COMPRESSION clause
Specifies whether data compression will be enabled or disabled for the records when they are stored. ENABLE COMPRESSION is the default.
Example
Example 1 The following example disables compression for the CANDIDATES_MAP storage map: RDO> CHANGE STORAGE MAP CANDIDATES_MAP cont> DISABLE COMPRESSION cont> END CANDIDATES_MAP STORAGE MAP. Example 2 The following example assigns new limits for storage areas: RDO> CHANGE STORAGE MAP EMPLOYEES_MAP cont> STORE USING EMPLOYEE_ID cont> WITHIN EMPIDS_LOW WITH LIMIT OF "00300"; cont> EMPIDS_MID WITH LIMIT OF "00600"; cont> EMPIDS_OVER cont> END EMPLOYEES_MAP STORAGE MAP. Current data will not be moved according to the new limits. However, when new data is stored, it will be stored according to the new limits in the storage map.