1 :Info: restructure_mrds_db: rmdb: 1986-01-10 restructure_mrds_db, rmdb
2
3 Syntax as a command: rmdb db_path -control_args
4
5
6 Function: This command is used to enter the MRDS Restructuring
7 Subsystem to restructure a given data base see Notes below. If the
8 data base does not exist it can be created. If the data base exists,
9 and is not already quiesced, then it is quiesced.
10
11
12 Arguments:
13 db_path
14 is a relative or absolute path to the data base to be restructured.
15
16
17 Control arguments:
18 -abbrev, -ab
19 enables abbreviation expansion and editing of request lines.
20 -force, -fc
21 specifies that the data base be created if it does not already exist
22 without querying the user.
23 -no_abbrev, -nab
24 suppresses the abbreviation expansion and editing of request lines.
25 Default
26 -no_force, nfc
27 queries the user if the data base does not exist, to determine if
28 the data base should be created. This argument overrides the -force
29 control argument. Default
30 -no_prompt, -npmt
31 suppresses the prompt in the request loop.
32
33
34 -pathname db_path, -pn db_path
35 specifies the path of the data base used for restructuring. The
36 indicated data base is quiesced. This overrides any previously
37 indicated data bases given via the optional db_path argument
38 above, or another -pathname control argument.
39 -profile path, -pf path
40 specifies the pathname of the profile used for abbreviation
41 expansion. The profile suffix is added if necessary. This control
42 argument implies -abbrev.
43 -prompt STR, -pmt STR
44 sets the request loop prompt to STR. Default is "rmdb:"
45 -quiesce_wait_time N, -qwt N
46 sets the number of seconds that an attempt to quiesce waits for
47 conflicting data base users to depart before failing. Default is
48 0 that is no waiting before failing.
49
50
51 -relation_type type modes, -rt type modes
52 specifies the type of relation to create if the data base does NOT
53 already exist. The supported types are vfile or
54 data_management_file dmf. The mode argument is only valid for dmf
55 relations, and the supported modes are any combination of protected,
56 concurrency, or rollback separated by commas. Any mode may be
57 preceded with a NOT sign ^ to negate it. Also see Notes below.
58 -request STR, -rq STR
59 executes STR as an rmdb request line before entering the request
60 loop.
61
62
63 -temp_dir path, -td path
64 provides the path of a directory that has more quota than the
65 default of the process directory when more temporary storage is
66 needed to restructure a large data base. If the user gets a record
67 quota overflow in the process directory during an rmdb invocation,
68 then a new_proc is required. A retry of the rmdb invocation with
69 the -temp_dir argument, giving a pathname of a directory with more
70 quota than the process directory, can then be done.
71
72
73 Notes: This command can only be used against a Version 4 or later data
74 base and only by the DBA. In addition, this command cannot be used
75 against a data base that is already open by any process. The data base
76 can be opened only by the process invoking this subsystem after the
77 subsystem is entered by invoking linus or the mrds_call command via the
78 ".." or execute request.
79
80 If a new data base is to be created, and the -relation_type control
81 argument is not specified, then the default relation type is vfile.
82
83
84 List of requests:
85 The following list summarizes all of the restructuring requests.
86
87 .
88 identifies rmdb with the version number and the pathname of the data
89 base being restructured.
90 ?
91 lists the available rmdb requests and active requests.
92
93
94 abbrev, ab
95 turns abbreviation processing ON or OFF and changes profile
96 segments.
97 answer
98 supplies an answer to a question asked by a request.
99 create_attribute, cra
100 creates a new attribute based upon a previously defined domain. The
101 attribute is unreferenced until it is used in a relation.
102
103
104 create_domain, crd
105 creates a new domain. A newly created domain is considered
106 unreferenced although it has a corresponding attribute of the same
107 name defined upon itself.
108 create_index, cri
109 makes the indicated attribute a secondary index into the relation.
110 create_relation, crr
111 creates a new relation. An unpopulated relation can be specified by
112 listing the attributes that make up the relation; each attribute
113 must already be defined.
114 delete_attribute, dla
115 deletes the indicated attribute from the data base. The attribute
116 is removed from all relations in which it is referenced.
117
118
119 delete_domain, dld
120 deletes the indicated domain from the data base. All attributes
121 based upon the domain are also deleted causing restructuring of
122 relations referencing those attributes.
123 delete_index, dli
124 deletes the secondary index over the indicated attribute in the
125 relation.
126 delete_relation, dlr
127 deletes the indicated relation from the data base.
128 display_data_model, ddm, dmdm
129 displays details of the data base model.
130
131
132 do
133 substitutes args into the request_line and passes the result to the
134 rmdb request processor.
135 exec_com, ec
136 executes the rmdb exec_com indicated by ec_path. The ec_path
137 arguments are passed to the exec_com processor.
138 execute, e
139 executes a Multics command line after evaluating rmdb active
140 requests.
141 free_db, fdb
142 unquiesces the data base.
143 help
144 displays information about request names or topics. A list of
145 available topics is produced by the list_help request.
146
147
148 if
149 conditionally executes a request.
150 list_help, lh
151 displays a list of available info segments whose names include a
152 topic string.
153 list_requests, lr
154 displays information about rmdb requests.
155 quit, q
156 restores the current data base to a non-quiescent state if the
157 current data base was quiesced by the rmdb subsystem and leaves
158 rmdb.
159
160
161 ready_db, rdb
162 quiesces the indicated data base and makes it available for
163 restructuring. Note that only one data base can be restructured at
164 any given time. If the data base does NOT exist, a query is made to
165 determine if an empty data base is to be created.
166
167
168 rename_attribute, rna
169 renames the indicated attribute.
170 rename_domain, rnd
171 renames the indicated domain and its corresponding attributes.
172 rename_relation, rnr
173 renames the indicated relation.
174 subsystem_name
175 displays the name of the subsystem, "rmdb".
176 subsystem_version
177 displays the current version of rmdb.
178
179
180 List of active requests:
181 ab control_args
182 returns "true" if abbreviation expansion of request lines is
183 currently enabled within the subsystem and "false" otherwise.
184 do request_STR args
185 returns expanded request STR.
186 exec_com ec_path ec_args, ec ec_path ec_args
187 executes the rmdb exec_com indicated by ec_path. The suffix of
188 .rmdb is assumed if not given. The ec_path arguments are passed to
189 the exec_com processor. The value returned by the exec_com is
190 substituted into the rmdb request line.
191 execute STRs, e STRs
192 invokes Multics active function within rmdb request line.
193
194
195 if expr -then line1 -else line2
196 returns one of two character strings to the subsystem request
197 processor depending on the value of an active string.
198 subsystem_name
199 returns the name of the subsystem "rmdb".
200 subsystem_version
201 returns the current version of rmdb.
202
203
204 :hcom:
205
206
207
208 /****^ HISTORY COMMENTS:
209 1) change2020-12-16GDixon, approve2021-02-22MCR10088,
210 audit2021-05-27Swenson, install2021-05-27MR12.6g-0056:
211 A) Change "Syntax:" to "Syntax as a command:" in command info seg
212 last changed after 1984.
213 END HISTORY COMMENTS */
214
215
216