home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / msdos / decus / RB122 / helptxt.dat < prev    next >
Text File  |  1995-05-28  |  74KB  |  2,053 lines

  1. HEL
  2. HELP
  3. HELP Command
  4. ---- -------
  5. The HELP command provides the capability to obtain a description
  6. of the available RIM commands, a discussion of the general command
  7. syntax, a summary of all available commands, and general news
  8. about the RIM system.  HELP is available at any time during
  9. execution except when in the interactive dialog (menu) mode.
  10. To receive help when in the command mode enter:
  11. .        HELP [{command name}]
  12. .                  RIM
  13. .                  WHERE
  14. .                  SORT
  15. .                  SYNTAX
  16. .                  INPUT FORMAT
  17. .                  SUMMARY
  18. .                  NEWS
  19. 1
  20. HELP Command
  21. ---- -------
  22. You will then enter the HELP submodule and receive explanation
  23. of the selected option as:
  24. .      OPTION                 EXPLANATION
  25. .      ------                 -----------
  26. .      HELP                   previous command and syntax or, if first
  27. .                             command identical to HELP RIM
  28. .      HELP command name      indicated command and syntax
  29. .      HELP RIM               list of commands for which help is
  30. .                             available
  31. .      HELP SYNTAX            description of the RIM command input
  32. .                             format, basic syntax and data
  33. .                             genration facilities
  34. .      HELP INPUT FORMAT      an in-depth description of free-field
  35. .                             input format and data generation
  36. .                             facilities available in RIM
  37. .      HELP WHERE             the RIM where clauses
  38. .      HELP SORT              the RIM sort clause
  39. .      HELP SUMMARY           summary of all available RIM commands
  40. .      HELP NEWS              general news about the RIM system
  41. 1
  42. HELP Command
  43. ---- -------
  44. You will remain in the HELP submodule until you enter an END
  45. command which will return you to the command mode.  The commands
  46. available inside the HELP submodule are identical to the HELP
  47. commands except that the keyword HELP is omitted.  The HELP
  48. submodule displays information one screen at a time.  After each
  49. screen you will have the option to continue displaying the text or
  50. to return to the HELP submodule by entering QUIT.
  51. ENDC
  52. OPE
  53. OPEN
  54. OPEN Command
  55. ---- -------
  56. The OPEN command is required whenever an existing data base is to
  57. be used.  You specify the name of the data base.  RIM uses the
  58. name of the data base to form the names of the three local files
  59. which contain the data base.
  60. .           OPEN dbname
  61. Only one RIM data base may be open at one time (if you don't
  62. CLOSE the present data base before opening a new one, RIM
  63. will automatically close the present data base).  The OPEN command
  64. must be issued before any commands that require data from the data
  65. base can be processed.
  66. ENDC
  67. CLO
  68. CLOSE
  69. CLOSE Command
  70. ----- -------
  71. The CLOSE command permits you to close a RIM data base without
  72. leaving RIM.  The reason for doing this is to close one data base,
  73. then open or define a different one all within one RIM session.
  74. This command is not needed if only one RIM data base is accessed
  75. during a RIM session.  This command results in data needed by the
  76. data base being copied from its incore working areas to the local
  77. data base files.
  78. .               CLOSE
  79. Note:  the current data base will be closed for you when you leave
  80. RIM by issuing an EXIT command
  81. ENDC
  82. USE
  83. USER
  84. USER Command
  85. ---- -------
  86. This command is used to identify your password to RIM.  Your
  87. password is used to check against read and modify passwords
  88. specified for the relations.  Each time this command is issued,
  89. the new password replaces the current password.  The default
  90. password is the word NONE.
  91. .               USER password
  92. ENDC
  93. INP
  94. INPUT
  95. INPUT Command
  96. ----- -------
  97. This command causes RIM to read subsequent commands and/or
  98. data from a specified file. When RIM detects an end-of-file mark
  99. on the indicated file, RIM will return to the terminal
  100. or batch input file, as apppropriate, and continue to read
  101. input and/or data. The use of this command allows the
  102. user to define command procedures on file and then have RIM
  103. execute a set of commands without user interaction.
  104. .               INPUT filename
  105. A more explicit way to control return of input to your ter-
  106. minal or batch input file is to use INPUT INPUT as the last com-
  107. mand which returns input, as appropriate, to the batch input file
  108. or user terminal. As an alternative, INPUT TERMINAL may be used.
  109. 1
  110. INPUT Command
  111. ----- -------
  112. A more general use of this command is possible by causing
  113. a second alternate input file to be used from the first alter-
  114. nate file by use of the INPUT command. This nesting of alter-
  115. nate input files can be done to any depth. It should be noted
  116. that you must provide explicit returns on these alternate
  117. files using the INPUT command since the default is to return
  118. to your input file (terminal if applicable).
  119. ENDC
  120. OUT
  121. OUTPUT
  122. OUTPUT Command
  123. ------ -------
  124. This command is used to specify the name of the output file.
  125. Specifying a file other than OUTPUT will result in the output from
  126. the RIM commands to be placed on a local file with the specified
  127. file name.  The output file name may be changed as often as
  128. desired.  The use of this command allows the user to get offline
  129. hardcopy output from RIM.
  130. .               OUTPUT filename
  131. OUTPUT TERMINAL will return the output to the user's terminal.
  132. ENDC
  133. ECH
  134. ECHO
  135. ECHO Command
  136. ---- -------
  137. This command is used to control printing of your input commands
  138. on the output file.  The default is for echo to be off in
  139. interactive execution and on in batch.  To activate echo
  140. print you enter:
  141. .               ECHO
  142. ENDC
  143. NOE
  144. NOECHO
  145. NOECHO Command
  146. ------ -------
  147. The NOECHO command turns off the echo printing.
  148. .               NOECHO
  149. ENDC
  150. TOL
  151. TOLERANCE
  152. TOLERANCE Command
  153. --------- -------
  154. For real and double precision attributes and for real and double
  155. precision vectors and matrices as well as for individual
  156. elements of such vectors and matrices, you may want to use a
  157. tolerance in qualifying equality, non equality and order.  The
  158. tolerance applies to any real or double precision number you use
  159. in a WHERE clause.  If A is an attribute with value a and r is a
  160. user specified number used in a WHERE clause and t a tolerance
  161. (positive, zero or negative), the following are true conditions:
  162. .               A EQ r if and only if r-t le a le r+t
  163. .               A NE r if and only if a lt r-t or a gt r+t
  164. .               A GT r if and only if a gt r-t
  165. .               A GE r if and only if a ge r-t
  166. .               A LT r if and only if a lt r+t
  167. .               A LE r if and only if a le r+t
  168. For real and double precision attributes of length greater than 1
  169. and for real and double precision vectors and matrices, the
  170. above formulas are applied to the comparison of each element.
  171. 1
  172. TOLERANCE Command
  173. --------- -------
  174. If t is a percentage tolerance, t is to be replaced with t x r/100
  175. in the above expressions to define true conditions for percentage
  176. tolerances.
  177. TOLERANCE tol [PERCENT]
  178. where tol is the tolerance and the presence or absence of the
  179. keyword PERCENT indicates whether tol is a percentage tolerance or
  180. or not.  The TOLERANCE command can be used as many
  181. times as desired to reset the tolerance.  A tolerance stays in
  182. effect for a session until a new tolerance is specified.  The
  183. default value for tolerance is 0.
  184. ENDC
  185. NOC
  186. NOCHECK
  187. NOCHECK Command
  188. ------- -------
  189. Rule checking applies to the CHANGE command and LOAD command to
  190. load or modify data.  The default is that rules, if defined, are
  191. enforced.  The NOCHECK command suppresses the rule checking.
  192. .              NOCHECK [RULES]
  193. ENDC
  194. CHE
  195. CHECK
  196. CHECK Command
  197. ----- -------
  198. The CHECK command turns on rule checking.  The CHECK and NOCHECK
  199. commands may be issued as many times as required anywhere in the
  200. input stream while in command mode.
  201. CHECK [RULES]
  202. ENDC
  203. EXI
  204. EXIT
  205. EXIT Command
  206. ---- -------
  207. To leave the RIM system you issue the command:
  208. .              {EXIT}
  209. .               QUIT
  210. This command closes your current data base. Data needed by
  211. your data bases are copied from the incore working areas to
  212. the files whose names were determined by the OPEN command or
  213. by the schema name designated in the DEFINE submodule.
  214. ENDC
  215. QUI
  216. QUIT
  217. QUIT Command
  218. ---- -------
  219. To leave the RIM system you issue the command:
  220. .              {QUIT}
  221. .               EXIT
  222. This command closes your current data base. Data needed by
  223. your data bases are copied from the incore working areas to
  224. the files whose names were determined by the OPEN command or
  225. by the schema name designated in the DEFINE submodule.
  226. ENDC
  227. REL
  228. RELOAD
  229. RELOAD Command
  230. ------ -------
  231. The RELOAD command is used whenever you want to rebuild the data
  232. files of your data base to recover unused space created by row
  233. deletions, certain attribute changes and relation removals.
  234. When a row is deleted, one of its variable length attributes
  235. changed so that it length increases, or when a relation is
  236. removed, the vacated space is not reused until you issue this
  237. command.  If your data base has any KEY attributes, then the
  238. access pointer files maintainted for those attributes are also
  239. rebuilt.  The syntax for this command is:
  240. .               RELOAD
  241. ENDC
  242. DEF
  243. DEFINE
  244. DEFINE Command
  245. ------ -------
  246. The define submodule commands are used for defining the structure
  247. of the data base.  The definition of the data base is called the
  248. schema and the schema name is the name of the data base and forms
  249. the essential part of the names of the local files used for the
  250. data base.  Attributes, relations, passwords, and constraints
  251. (rules) are defined using this submodule.  To access this
  252. submodule you enter:
  253. .               DEFINE dbname
  254. You must identify the name of the data base whose definition you
  255. are going to create or expand by specifying the schema name.  This
  256. name is used to form the name of the local files used to store the
  257. data base tables and must when augmented with a single number be a
  258. legal local filename.  For an example, see help for DEFINE EXAMPLE.
  259. ENDC
  260. OWN
  261. OWNER
  262. OWNER Command
  263. ----- -------
  264. The OWNER command specifies the owner of the data base.  The OWNER
  265. has permision to read or modify all data and the schema.
  266. .               OWNER password
  267. If the data base already exists and you want to define additional
  268. attributes or relations, password is checked against the
  269. existing owner password.
  270. ENDC
  271. ATT
  272. ATTRIBUTES
  273. ATTRIBUTES Command
  274. ---------- -------
  275. .        ATTRIBUTES
  276. .        attname type1 [{length}] [KEY]
  277. .                         VAR
  278. .        attname type2 [{row, col}] [KEY]
  279. .                        row, VAR
  280. .                        VAR, VAR
  281. .           .
  282. .           .
  283. .           .
  284. The attribute definitions are ended when you specify one of the
  285. keywords RELATIONS, PASSWORDS or RULES which start the other
  286. sections in the DEFINE submodule.
  287. 1
  288. ATTRIBUTES Command
  289. ---------- -------
  290. Type1 attributes:
  291. RIM supports seven data types of type1: floating point (real),
  292. integer, text, double precision, real vectors, integer vectors and
  293. double precision vectors.  You must enter REAL, INT, TEXT, DOUB,
  294. RVEC, IVEC or DVEC for type1.  The default length is one value
  295. except for TEXT for which it is 8 characters.  The length is
  296. specified in number of values and characters respectively.  VAR
  297. indicates variable length.  The optional KEY specification causes
  298. an index file to be built for the attribute which is used by RIM to
  299. find qualifying rows for retrievals and updates.  Under certain
  300. conditions, such an index file will make retrievals and updates
  301. considerably faster than if no index file is used. See WHERE
  302. clause definitions for a specific discussion. The default is
  303. that such an index file is not built (non-key attribute).  You
  304. should consider the cost of building and storing index file data
  305. versus the benefits you will obtain from quicker retrievals when
  306. deciding if a KEY declaration should be used or not.  No specific
  307. rules can be given here, experience should be used to judge.  An
  308. 1
  309. ATTRIBUTES Command
  310. ---------- -------
  311. attribute can be changed from KEY to non-key or vice-versa later
  312. using the BUILD KEY and DELETE KEY commands.
  313. .  For larger data bases (more than 1, 000 rows), experience
  314. has shown that it is most efficient not to specify a KEY in the
  315. define submodule but rather to load the data without keys and to
  316. later cause index files to be built using the BUILD KEY command.
  317. The greater the number of keys the more efficient this method is.
  318. Type2 attributes:
  319. .  RIM supports three data types of type2: real matrices, integer
  320. matrices or double precision matrices.  You must enter RMAT, IMAT
  321. or DMAT for type2.  The matrices can be of fixed size, have
  322. variable column dimension or variable row and column dimensions.
  323. You enter the row dimension first, followed by the column
  324. dimension.  Default dimension is 1, 1 .  The key-word KEY has the
  325. same meaning as for type1 attributes.
  326. ENDC
  327. REL
  328. RELATIONS
  329. RELATIONS Command
  330. --------- -------
  331. To define relations enter:
  332. .               RELATIONS
  333. .               relname WITH attname1 [attname2 ...]
  334. .                  .
  335. .                  .
  336. .                  .
  337. The relation definitions are ended by specifying one of the
  338. keywords ATTRIBUTES, PASSWORDS, RULES, or END which start the
  339. other sections of the DEFINE submodule or finishes the schema
  340. definition.  The attributes must be listed in the order in which
  341. they are to appear in the relation.  No attributes can be used
  342. which have not been previously defined, either in the current
  343. DEFINE submodule execution or in previous definition of this
  344. data base.  Attributes which are defined but not included in
  345. a relation will not become part of the RIM schema.
  346. A RIM data base must have attributes and relations defined.
  347. Passwords and constraint rules are optional.
  348. ENDC
  349. PAS
  350. PASSWORDS
  351. PASSWORDS Command
  352. --------- -------
  353. .  If read or modify passwords are desired, you enter:
  354. .               PASSWORDS
  355. .               {READ PASSWORD} FOR relname IS password
  356. .                RPW
  357. .               {MODIFY PASSWORD} FOR relname IS password
  358. .                MPW
  359. .                  .
  360. .                  .
  361. The password definitions are ended by specifying one of the
  362. keywords ATTRIBUTES, RELATIONS, RULES, or END which start the
  363. other sections of the DEFINE submodule or finishes the data base
  364. definition.  Passwords can be any string of characters up to 8
  365. characters long.  When you are doing queries, loads, or
  366. modifications, the current password is specified by the USER
  367. command.  If this password does not match one of the read,
  368. modify or owner passwords for a relation you cannot query that
  369. relation.  If this password does not match one of the modify or
  370. owner passwords, you cannot load or modify the given relation.
  371. ENDC
  372. RUL
  373. RULES
  374. RULES Command
  375. ----- -------
  376. Constraint rules are another optional section of the DEFINE
  377. submodule.  If rules are specified, they are used during the
  378. loading process or during CHANGE commands to screen out rows which
  379. do not meet the constraint rules.  Rules are specified by relation.
  380. At most 10 rules may be specified for a single relation.  There are
  381. several options available in the rule definition section.  To define
  382. constraint rules you enter:
  383. .        RULES
  384. .        attname [IN relname] {EQ} value [{AND} attname ... ]
  385. .                              NE          OR
  386. .                              GT
  387. .                              GE
  388. .                              LT
  389. .                              LE
  390. 1
  391. RULES Command
  392. ----- -------
  393. .        or
  394. .        attname1 IN relname {EQA} attname2 IN relname [{AND} ... ]
  395. .                             NEA                        OR
  396. .                             GTA
  397. .                             GEA
  398. .                             LTA
  399. .                             LEA
  400. where:          EQ  = Equals
  401. .                NE  = Not equal to
  402. .                GT  = Greater than
  403. .                GE  = Greater than or equal to
  404. .                LT  = Less than
  405. .                LE  = Less than or equal to
  406. .                EQA = Equals attribute
  407. .                NEA = Not equal to attribute
  408. .                GTA = Greater than attribute
  409. .                LTA = Less than attribute
  410. .                LEA = Less than or equal to attribute
  411. 1
  412. RULES Command
  413. ----- -------
  414. The rule definitions are ended by specifying one of the keywords
  415. ATTRIBUTES, RELATIONS, PASSWORDS, or END which start the other
  416. sections of the DEFINE submodule or finishes the schema
  417. definition.  Attributes referenced in the rule definitions must
  418. have been previously defined.  By specifying rules, you can
  419. restrict an attribute to a range of values or require that the
  420. value of an attribute in one relation have a specified relationship
  421. to the values of an attribute in the same or a different relation.
  422. The compare operators ending in A (EQA etc.) are used when the
  423. comparison is to existing attribute values rather than to a
  424. specified constant.  A rule expression may contain no more
  425. than 10 compare operators (9 Boolean operators).
  426. The method used for constraint checking is that the first
  427. attribute mentioned in the rule is taken from the input (LOAD or
  428. CHANGE command) data and checked against the remainder of the rule
  429. expression using existing values in the database.
  430. ENDC
  431. END
  432. END
  433. END Command
  434. --- -------
  435. To finish the schema definition you enter the following keyword
  436. and leave the DEFINE submodule:
  437. .               END
  438. The END command also terminates the LOAD process.
  439. ENDC
  440. DEX
  441. DEFINE EXAMPLE
  442. DEFINE EXAMPLE
  443. ------ -------
  444. Example of define submodule commands:
  445. .                DEFINE RIMDB
  446. .                OWNER ME
  447. .                 ATTRIBUTES
  448. .                  MODEL TEXT KEY
  449. .                  WEIGHT REAL
  450. .                  NUMPASS INT
  451. .                  CARRIER TEXT 16
  452. .                  FLIGHTNO INT
  453. .                  NAME TEXT KEY
  454. .                  AGE INT
  455. .                 RELATIONS
  456. .                  AIRPLANE WITH MODEL WEIGHT NUMPASS
  457. .                  FLIGHTS WITH CARRIER FLIGHTNO MODEL
  458. .                  PEOPLE WITH NAME AGE
  459. 1
  460. DEFINE EXAMPLE
  461. ------ -------
  462. .                 PASSWORDS
  463. .                  MPW FOR AIRLINES IS AGENT
  464. .                    RPW FOR PEOPLE IS BLUE
  465. .                   RULES
  466. .                    MODEL IN FLIGHTS EQA MODEL IN AIRPLANE
  467. .                    AGE GT 21 AND AGE LT 65
  468. .                    NUMPASS IN AIRPLANE LE 350
  469. .                  END
  470. ENDC
  471. LOA
  472. LOAD
  473. LOAD Command
  474. ---- -------
  475. The load submodule commands are used to add data to a newly
  476. defined relation or to add data to a relation which already
  477. contains data.  To access this submodule enter:
  478. .               LOAD relname
  479. You may now load data in the relation, one row per command, by
  480. entering data values in a one to one correspondence with the
  481. attributes:
  482. .               value1 value2 ... valuen
  483. Valuei takes the form described in the following table:
  484. 1
  485. LOAD Command
  486. ---- -------
  487. .   Attribute
  488. .Type       Length or           Valuei                 Remark
  489. .           Dimension
  490. REAL, INT    n n.gt.1     (val1 ... valn)         Parentheses optional
  491. DOUB, RVEC
  492. IVEC, DVEC
  493. REAL, INT     VAR         (val1 val2 ...)         Parentheses required
  494. DOUB, RVEC
  495. IVEC, DVEC
  496. TEXT         any          "text string"          In special cases
  497. .                                                  "  " is optional
  498. .                                                 (see INPUT FORMAT)
  499. RMAT, IMAT     m, n    ((r1c1...rmc1)(r1c2...) +   Columnwise
  500. DMAT                   ...rmcn))                 Parentheses optional
  501. RMAT, IMAT    m, VAR   ((r1c1...)(r1c2...)...))    Columnwise
  502. DMAT          or                                 Parentheses required
  503. .            VAR, VAR
  504. 1
  505. LOAD Command
  506. ---- -------
  507. To finish data loading you enter:
  508. .               END
  509. Multiple relations may be loaded from within the load submodule by
  510. re-entering the LOAD command instead of the END command.  For an
  511. example of data loading, see LOAD EXAMPLE.
  512. ENDC
  513. LOX
  514. LOAD EXAMPLE
  515. LOAD EXAMPLE
  516. ---- -------
  517. Example of load submodule commands:
  518. .                LOAD AIRPLANE
  519. .                DC9 87000. 110
  520. .                747SP 200000. 350
  521. .                LOAD PEOPLE
  522. .                BOB 30
  523. .                JOE 32
  524. .                ALICE 29
  525. .                END
  526. If the value for an attribute is missing, you enter the characters
  527. -0- for the missing value or use two successive commas.
  528. .        L1011 -0- 250
  529. .        L1011, , 250
  530. These two records have identical meaning.
  531. ENDC
  532. SEL
  533. SELECT
  534. SELECT Command
  535. ------ -------
  536. The SELECT command is used for displaying or printing data from
  537. one relation.  It has many options.  To print all data from a
  538. relation:
  539. .               SELECT ALL FROM relname
  540. To print selected attribute values from all rows in a relation:
  541. .               SELECT attname1 [ attname2 ... attnamen ] FROM relname
  542. The above form will print up to 20 attributes in any order.
  543. However the number of attributes is limited by space available in
  544. the line. As a rule of thumb, 7 attributes may be selected when
  545. running at an interactive terminal and 11 when running in batch
  546. mode or at an 132 character terminal.
  547. For variable length attributes or for attributes of fixed length
  548. that would otherwise not fit on a line alone or together with
  549. other attributes, you may format the output using the optional
  550. field width control:
  551. 1
  552. SELECT Command
  553. ------ -------
  554. .               SELECT attname1 [ =fw1 ] [ attname2 [ =fw2 ] ... ] +
  555. .               FROM relname
  556. fwi is the output field width for attnamei.  For a text type
  557. attribute, fwi is the width of the output paragraph in number of
  558. characters, for other attribute types it is the number of values.
  559. When the field width option is used, RIM will use for each row as
  560. many output lines as required by the most critical attribute.
  561. Defaults are rather complex.  For a fixed length attribute, no
  562. paragraphing is attempted.  The system will use the field width
  563. required to display the value(s) of the attribute.  For a variable
  564. length attribute of type TEXT, the default is display of a maximum
  565. of 40 characters with truncation of remaining text, if any.  For
  566. variable length attributes of types REAL, INT, DOUB, the default
  567. is 4 values with truncation.  For variable length vector type
  568. attributes, the default is 4 values with paragraphing (no
  569. truncation).  For variable length matrix attributes the default is
  570. 4 values with paragraphing (no truncation).  A row starts on a new
  571. line.
  572. 1
  573. SELECT Command
  574. ------ -------
  575. Whether field width is specified or not, the system will display
  576. the dimension of variable length vectors and matrices using one of
  577. the output value positions.  However, should the user specify a
  578. width of only one value for such an attribute, the row and column
  579. dimensions will not be displayed.
  580. Further information about line width, no of lines per page,
  581. defaults and user specification is given under the WIDTH and
  582. LINES commands.
  583. .  When paragraphing TEXT type attributes, RIM will identify con-
  584. sequtive substrings of text separated by blanks and place such a
  585. substring on the line, if there is space available, or if the current
  586. current line contains less than four characters in which case the
  587. number of characters that fit on the line are removed from (the front
  588. of) the substring and put on the line (without hyphen).  If there is
  589. not room on a line filled with more than four characters, the
  590. (first part of the) substring will be placed on the next line.
  591. 1
  592. SELECT Command
  593. ------ -------
  594. Examples of SELECT command:
  595. SELECT ivecvar FROM rel1
  596. .   DIM      IVECVAR
  597. .   ----------------------------
  598. .    7          1       2      3
  599. .               4       5      6
  600. .               7
  601. .    1         10
  602. SELECT imatvv FROM rel1
  603. .  ROW  COL   IMATVV
  604. .  -----------------------------
  605. .  2     5     11      12     13
  606. .              14      15
  607. .              21      22     23
  608. .              24      25
  609. .  1     1     11
  610. 1
  611. SELECT Command
  612. ------ -------
  613. SELECT textv=9 FROM rel1
  614. TEXTV
  615. ---------
  616. THIS IS
  617. AN EXAMPL
  618. E OF
  619. WRAPAROUN
  620. D OF TEXT
  621. THIS IS
  622. ANOTHER
  623. EXAMPLE
  624. OF TEXT
  625. 1
  626. SELECT Command
  627. ------ -------
  628. The attribute name (attnamei) may be replaced by an attribute
  629. number (attnumi).  It may also be a specific element of a vector
  630. or a mtrix.  Thus the general form of the unconditional SELECT
  631. command is:
  632. .SELECT {attname1 [ =fw1 ] } [attname2 [=fw2] ... ] +
  633. .        attnum1 [ =fw1 ]
  634. .        attname1(i)
  635. .        attname1(i, j)
  636. .        ALL
  637. FROM  relname
  638. To print all attributes from a relation where certain conditions
  639. are met:
  640. .      SELECT ALL FROM relname WHERE condition1 [{AND} condition2 ... ]
  641. .                                                 OR
  642. For help for the where clause, see the WHERE entry.
  643. For help for the sorted by clause, see the SORT entry.
  644. For examples, see SELECT EXAMPLES.
  645. ENDC
  646. WHE
  647. WHERE
  648. WHERE Clause
  649. ----- ------
  650. Up to ten conditions may be combined using the Boolean operators
  651. of AND and OR.  The conditions are combined from left to right.
  652. Each condition may be one of the following forms:
  653. .        attname EXISTS
  654. .        attname FAILS
  655. .        attname EQ MAX
  656. .        attname EQ MIN
  657. .        attname EQ value
  658. .        attname EQS value
  659. .        attname NE value
  660. .        attname GT value
  661. .        attname GE value
  662. .        attname LT value
  663. .        attname LE value
  664. .        attname EQ list
  665. .        attname NE list
  666. .        attname1 EQA attname2
  667. .        attname1 NEA attname2
  668. .        attname1 GTA attname2
  669. .        attname1 GEA attname2
  670. .        attname1 LTA attname2
  671. .        attname1 LEA attname2
  672. 1
  673. WHERE Clause
  674. ----- ------
  675. .        ROWS EQ rownumber
  676. .        ROWS NE rownumber
  677. .        ROWS LT rownumber
  678. .        ROWS LE rownumber
  679. .        ROWS GE rownumber
  680. .        ROWS GT rownumber
  681. .        ROWS EQ list
  682. .        ROWS NE list
  683. .        LIMIT EQ number
  684. .        where:          EQ  = Equals
  685. .                        EQS = Contains the text string
  686. .                        NE  = Not equals
  687. .                        GT  = Greater than
  688. .                        GE  = Greater than or equal to
  689. .                        LT  = Less than
  690. .                        LE  = Less than or equal to
  691. 1
  692. WHERE Clause
  693. ----- ------
  694. .                        EQA = Equals attribute
  695. .                        NEA = Not equals attribute
  696. .                        GTA = Greater than attribute
  697. .                        GEA = Greater than or equal to attribute
  698. .                        LTA = Less than attribute
  699. .                        LEA = Less than or equal to attribute
  700. .                        MAX = Maximum value
  701. .                        MIN = Minimum value
  702. Attname, attname1, attname2 may refer to an element of a vector or
  703. a matrix.
  704. When an attribute has been assigned a value, then EXISTS will
  705. qualify those attributes.  If an attribute has not been assigned a
  706. value, but was loaded with -0-, then FAILS will qualify those
  707. attributes.
  708. 1
  709. WHERE Clause
  710. ----- ------
  711. MAX and MIN comparison can only be made for integer, real and
  712. double precision attributes of fixed length equal to 1.
  713. Value in comparison statement must follow the rules of the LOAD
  714. command for vectors and matrices, i.e. if the attribute is of
  715. variable length or dimension, parentheses must be used to input a
  716. vector or a matrix value or a list of vector and matrix values.
  717. EQS applies to text strings only.   In such a comparison, value is
  718. a text string and the comparison is true if value is found as a
  719. substring anywhere within the attribute for which comparison is
  720. requested.
  721. NE comparison when applied to matrices or vectors is true if the
  722. length or dimension is different from the length or dimension of
  723. the user specified comparison vector or matrix or if any vector or
  724. matrix elements differs.
  725. 1
  726. WHERE Clause
  727. ----- ------
  728. GT and LT comparisons for vector and matrix attributes are
  729. lexicographical, i.e. a comparison is made element by element
  730. (columnwise for matrices) and continued until a true or false
  731. condition is detected.  If no such condition is detected after the
  732. last element is checked, a false condition is assumed.  Comparison
  733. is made only for vectors and matrices of the same size as
  734. comparison data.
  735. GE and LE comparisons for vector and matrix attributes are similar
  736. to GT and LT comparisons except it continues if an equal condition
  737. is detected and if no condition is detected after the last element
  738. is checked, a true condition is assumed.
  739. Comparison rules for vector attributes apply also to real, integer
  740. and double precision attributes of fixed or variable length.
  741. A list is a simple list a1, a2, a3, ..., an of values where a value
  742. may be a vector or matrix.
  743. 1
  744. WHERE Clause
  745. ----- ------
  746. The comparison key words ending in A are used when comparing the
  747. value of one attribute to the value of another attribute in the
  748. same row of the relation.
  749. ROWS refer to row numbers in a relation.  Note that a relation is
  750. loaded in input row order but that subsequent operations (changes)
  751. to the data base may cause the order of the rows to change.
  752. When the LIMIT clause is used, only the first LIMIT number of the
  753. rows that otherwise would qualify will actually qualify.
  754. Processing the WHERE condition can be speeded up greatly if index
  755. processing is used.  Index processing involves using the indices
  756. created for KEY attributes rather than looking at each row of a
  757. relation to find the rows qualified by the WHERE conditions.
  758. Index processing will be used when the following are all true:
  759. .               1) The last condition uses an attribute which is KEY
  760. .               2) The last condition uses EQ
  761. .               3) The last condition is not combined by OR with the other
  762. .                  conditions.
  763. ENDC
  764. SOR
  765. SORT
  766. SORTED BY
  767. ------ --
  768. The output can be sorted by specifying sorting attributes.  The
  769. sorting order is user specified with default low to high.
  770. .        SELECT ... FROM relname                             +
  771. .        SORTED BY attname1 [{=A} ] [ attname2 [={A} ] ... ] +
  772. .                              D                  D
  773. .        [ WHERE ... ]
  774. A and D stands for ascending and descending order respectively.
  775. If a sort on more than one attribute is requested, the output will
  776. first be ordered according to the first mentioned attribute.  In
  777. case there are duplicates for the first sort attribute, these will
  778. be ordered by the second sort attribute, duplicates within this by
  779. the third and so on. A maximum of 5 sort attributes may be
  780. specified. When multiple attributes are used, ascending
  781. and descending order may be used in any combination.  A maximum
  782. of five sort attributes may be specified.  Variable
  783. length attributes may not be used as sort attributes.  When fixed
  784. length attributes are used as sort attributes, only the first 20
  785. characters and the first value is used for sort.
  786. ENDC
  787. TAL
  788. TALLY
  789. TALLY Command
  790. ----- -------
  791. The TALLY command prints a tally for an attribute giving each
  792. unique value and the number of times it occurs in a relation.  The
  793. tally is ordered ascending or descending per user input.  Default
  794. is ascending.  The WHERE clause is optional.  For a description
  795. of the WHERE clause see HELP WHERE.
  796. .TALLY attname [{=A}] FROM relname [ WHERE ... ]
  797. .                 D
  798. For examples of SELECT and TALLY, see SELECT EXAMPLES.
  799. ENDC
  800. SEL
  801. SELECT EXAMPLES
  802. SELECT EXAMPLES
  803. ------ --------
  804. Examples of SELECT and TALLY commands:
  805. .        SELECT ALL FROM AIRPLANE
  806. .        SELECT MODEL FROM AIRPLANE
  807. .        SELECT ALL FROM AIRPLANE WHERE WEIGHT GT 100000.
  808. .        *8 AND NUMPASS LT 200
  809. .        SELECT AGE FROM PEOPLE WHERE NAME EQ BOB
  810. .        SELECT ALL FROM AIRPLANE SORTED BY MODEL=D
  811. .        TALLY MODEL FROM FLIGHTS
  812. .        TALLY MODEL FROM FLIGHTS WHERE CARRIER EQ UNITED
  813. .        SELECT ALL FROM DIMENS WHERE HEIGHT GTA WIDTH
  814. .        SELECT FILE TITLE=4 OWNER FROM PFDATA
  815. ENDC
  816. LIS
  817. LISTREL
  818. LISTREL Command
  819. ------- -------
  820. The purpose of LISTREL is to provide you with information about
  821. the relations in your data base.
  822. There are three formats for the LISTREL command.  The first
  823. consists of simply entering:
  824. .        LISTREL
  825. Using LISTREL in this fashion provides you with a list of all
  826. relations currently defined in your data base. If you wish to
  827. display the definition of a specific relation, then the syntax is:
  828. .        LISTREL relname
  829. The use of LISTREL in this manner also provides a count of the
  830. number of defined rows for the specified relation.
  831. .        LISTREL ALL
  832. This command will display the definitions of all relations in the
  833. data base, including counts of number of defined rows in each
  834. relation.
  835. ENDC
  836. EXH
  837. EXHIBIT
  838. EXHIBIT Command
  839. ------- -------
  840. The purpose of the EXHIBIT command is to allow you to query the
  841. RIM dictionary to obtain the names of all relations having a
  842. specific set of attributes.  For example, if you want to know
  843. which relations contain the attribute attname you would enter:
  844. .        EXHIBIT attname
  845. You would then obtain either a list of the relations having this
  846. attribute, or a message indicating that this attribute was not
  847. found in any relations in the data base.
  848. In other cases, you may wish to know which relations contain a
  849. list of attributes.  This request is handled in a similar manner.
  850. Suppose that you wanted to know which relations contain both
  851. attname1 and attname2.  The command would than be:
  852. .        EXHIBIT attname1 attname2
  853. In general, the syntax of this command is:
  854. .        EXHIBIT attname1 [attname2 ... attnamen]
  855. ENDC
  856. PRI
  857. PRINT RULES
  858. PRINT RULES Command
  859. ----- ----- -------
  860. This command can be used by the person whose current password
  861. matches the owner of the data base definition to obtain a complete
  862. list of all constraint rules.
  863. .        PRINT RULES
  864. ENDC
  865. COM
  866. COMPUTE
  867. COMPUTE Command
  868. ------- -------
  869. The COMPUTE command is used to compute simple functional values
  870. for an attribute.  A WHERE clause is optional and uses the same
  871. syntax as is used in the SELECT command.
  872. .        COMPUTE {COUNT} attname FROM relname [WHERE ... ]
  873. .                 MIN
  874. .                 MAX
  875. .                 AVE
  876. .                 SUM
  877. There are some restrictions as to the type and word length of the
  878. attribute when using these computed functions.  All of these
  879. functions exclude any -0- values when making their computations.
  880. 1
  881. COMPUTE Command
  882. ------- -------
  883. The following table describes the attribute type and length
  884. restrictions for each function:
  885. .    FUNCTION   ATTRIBUTE TYPE     ATTRIBUTE LENGTH
  886. .    --------   --------------     ----------------
  887. .    COUNT      any                any
  888. .    MIN        any                1 (20 chars for text)
  889. .    MAX        any                1 (20 chars for text)
  890. .    AVE        any except TEXT    1
  891. .    SUM        any except TEXT    1
  892. .Examples of COMPUTE command:
  893. .                COMPUTE AVE NUMPASS FROM FLIGHTS
  894. .                COMPUTE MAX WEIGHT FROM FLIGHTS WHERE NUMPASS LT 100
  895. .                COMPUTE COUNT NAME FROM PEOPLE WHERE AGE GT 30
  896. ENDC
  897. CHA
  898. CHANGE
  899. CHANGE Command
  900. ------ -------
  901. The CHANGE command is used to change the value of an attribute in
  902. a relation where certain conditions are met.
  903. .        CHANGE {attname1}    TO attname2 [IN relname] WHERE ...
  904. .                attname(i)
  905. .                attname(i, j)
  906. Value has the same form as descried in the LOAD command.  The WHERE
  907. clause is required and and is described in the WHERE entry.
  908. If the relation name is not specified, the attribute is
  909. changed in all relations where the attribute is found and the
  910. conditions are met. For relations in which the change attribute is
  911. is present but in which one or more of the attributes used
  912. in the where clause are missing, an error message will be
  913. issued.
  914. ENDC
  915. DEL
  916. DELETE
  917. DELETE Command
  918. ------ -------
  919. The delete command removes data from the data base.  For a
  920. more precise description see:
  921. .         DELETE DUPLICATES
  922. .         DELETE ROW
  923. .         DELETE KEY
  924. ENDC
  925. DER
  926. DELETE ROW
  927. DELETE ROW Command
  928. ------ --- -------
  929. The DELETE ROW command is used to delete selected rows in a
  930. relation.
  931. .        DELETE ROW FROM relname WHERE ...
  932. The name of the relation must be specified as well as a WHERE
  933. clause.  The syntax for the WHERE clause is described in the
  934. WHERE entry.
  935. ENDC
  936. DED
  937. DELETE DUPLICATES
  938. DELETE DUPLICATES Command
  939. ------ ---------- -------
  940. This command is used to remove any duplicate rows from a relation.
  941. It is useful to use on new relations which have been created by
  942. any of the relational algebra commands (JOIN, INTERSECT, SUBTRACT,
  943. or PROJECT).  The syntax for this command is:
  944. .        DELETE DUPLICATES [attname1, attname2, ...] from relname
  945. Duplicates are checked only for the specified (combination of)
  946. attribute(s).  Default is to check for complete row (all
  947. attributes).
  948. ENDC
  949. REM
  950. REMOVE
  951. REMOVE Command
  952. ------ -------
  953. The REMOVE command is used to remove a relation definition and its
  954. data from the data base.
  955. .        REMOVE relname
  956. ENDC
  957. CHA
  958. CHANGE OWNER
  959. CHANGE OWNER Command
  960. ------ ----- -------
  961. The CHANGE OWNER command is used to change the name of the data
  962. base owner password. Only a person whose password
  963. matches the curent owner password may use this command.
  964. priviledge.
  965. .        CHANGE OWNER TO newowner
  966. ENDC
  967. REN
  968. RENAME
  969. RENAME Command
  970. ------ -------
  971. For detailed information on the RENAME command see:
  972. .      RENAME ATTRIBUTE
  973. .      RENAME RELATIONS
  974. ENDC
  975. REA
  976. RENAME ATTRIBUTE
  977. RENAME ATTRIBUTE Command
  978. ------ --------- -------
  979. The RENAME attribute command is used to change the name of an
  980. attribute in the definition (schema) of the data base.
  981. .        RENAME [ATTRIBUTE] attname1 TO attname2 [ IN relname ]
  982. The old name is attname1 and the new name is attname2.  If the
  983. name of the relation is not specified, the name change takes
  984. place in every relation that contains the old name.  If relname is
  985. specified and attname1 is duplicate (or more), the first occurance
  986. will be changed.
  987. RULES and KEY defined for attname1 will automatically be redefined
  988. to apply for attname2.
  989. Examples of RENAME command:
  990. .        RENAME MODEL TO VERSION IN AIRPLANES
  991. .        RENAME NUMPASS TO CAPACITY
  992. ENDC
  993. BUI
  994. BUILD KEY
  995. BUILD KEY Command
  996. ----- --- -------
  997. This command is used to change an attribute from non-key to KEY.  An
  998. index is built from existing data values by making a pass through
  999. current rows of the specified relation.  This index is then used
  1000. and maintained just as if the attribute had been declared to be
  1001. KEY in the original data base definition.
  1002. .        BUILD KEY FOR attname IN relname
  1003. ENDC
  1004. DEK
  1005. DELETE KEY
  1006. DELETE KEY Command
  1007. ------ --- -------
  1008. This command is used to change an attribute from KEY to non-key.
  1009. The index file for that attribute is inactivated and no longer
  1010. maintained or used once the attribute has been changed to non-key
  1011. with this command.
  1012. .        DELETE KEY FOR attname IN relname
  1013. ENDC
  1014. CHP
  1015. CHANGE PASSWORD
  1016. CHANGE PASSWORD Command
  1017. ------ -------- -------
  1018. If you are the data base owner, you may change the read or modify
  1019. passwords by the following command
  1020. .        CHANGE {RPW} TO newpass FOR relname
  1021. .                MPW
  1022. ENDC
  1023. RER
  1024. RENAME RELATION
  1025. RENAME RELATION Command
  1026. ------ -------- -------
  1027. You may change the name of a relation by the following command
  1028. .           RENAME RELATION relname TO newname
  1029. Note:  RULES and KEYs applying to relname will aumatically apply
  1030. to newname.
  1031. ENDC
  1032. INT
  1033. INTERSECT
  1034. INTERSECT Command
  1035. --------- -------
  1036. The INTERSECT command allows you to combine the rows of two rela-
  1037. tions into a third relation based on equality of values within
  1038. a common set of attributes identified from a set of specified
  1039. attributes. The syntax of the INTERSECT command is:
  1040. .        INTERSECT relname1 WITH relname2 FORMING relname3 +
  1041. .        [USING attname1 [attname2 ... attnamen]]
  1042. The USING clause identifies which attributes that are included
  1043. in the resulting relation. Common attributes used in the
  1044. intersect process are identified within these.
  1045. As an example, assume that you have the following two relations
  1046. defined:
  1047. .                REL-1                    REL-2
  1048. .         NAME     DEPT      JOB       DEPT    JOB      PAY
  1049. .         ----------------------       --------------------
  1050. .          BOB      A       ENGR         A    ENGR      800
  1051. .          JIM      C       SUPR         B    ENGR      450
  1052. .          BOB      B       ENGR         C    ENGR      750
  1053. .          RAY      C       ENGR
  1054. 1
  1055. INTERSECT Command
  1056. --------- -------
  1057. .  You may INTERSECT two relations restricted to specific sets of
  1058. attributes (the USING clause) or use all attributes of both
  1059. relations.  In either case RIM will identify the common
  1060. attributes.
  1061. In the first case, suppose you wish to INTERSECT the two relations
  1062. using attributes DEPT, NAME and JOB.  The command for this would be:
  1063. .      INTERSECT REL-1 WITH REL-2 FORMING REL-3 USING DEPT NAME JOB
  1064. The result would be the new relation REL-3 shown below:
  1065. .                               REL-3
  1066. .                       DEPT    NAME     JOB
  1067. .                     -----------------------
  1068. .                       A       BOB      ENGR
  1069. .                       B       BOB      ENGR
  1070. .                       C       RAY      ENGR
  1071. 1
  1072. INTERSECT Command
  1073. --------- -------
  1074. In this example there are no duplicate rows in REL-3. It is
  1075. possible that the INTERSECT command will create duplicate rows.
  1076. In general duplicate rows are not desired in a relation.  Duplicates
  1077. are not removed by the INTERSECT command but can be removed with
  1078. the DELETE DUPLICATES command.  Note also that by specifying which
  1079. attributes the INTERSECT is using, you restrict the number of
  1080. attributes in the resulting relation to only those specified in
  1081. the USING clause.
  1082. In another case, you may want RIM to use all the attributes in the
  1083. two relations.  In this instance, you would enter:
  1084. .        INTERSECT REL-1 WITH REL-2 FORMING REL-4
  1085. The result would be REL-4 consisting of the attributes NAME, DEPT,
  1086. JOB, and PAY, shown below with the resulting rows:
  1087. .                              REL-4
  1088. .                     NAME      DEPT      JOB      PAY
  1089. .                     ----------------------------------
  1090. .                     BOB        A       ENGR      800
  1091. .                     BOB        B       ENGR      450
  1092. .                     RAY        C       ENGR      750
  1093. ENDC
  1094. JOI
  1095. JOIN
  1096. JOIN Command
  1097. ---- -------
  1098. The JOIN command is a function operating on two relations to form
  1099. a third relation.  The purpose of the JOIN is to juxtapose two
  1100. relations based on a specified attribute from each.
  1101. The result is a third relation containing all the attributes
  1102. from both relations.  Rows are generated into the new relation
  1103. based upon a specified comparison between the two JOIN
  1104. attributes.  In general a row from the first relation may
  1105. generate zero, one or more rows depending upon how many
  1106. rows in the second relation have the desired match.  The
  1107. syntax of the JOIN command is:
  1108. .        JOIN relname1 USING attname1 WITH relname2 USING attname2 +
  1109. .        FORMING relname3 [WHERE {EQ}]
  1110. .                                 NE
  1111. .                                 GT
  1112. .                                 GE
  1113. .                                 LT
  1114. .                                 LE
  1115. 1
  1116. JOIN Command
  1117. ---- -------
  1118. The conditional clause is different from the WHERE clause of
  1119. select.  In JOIN it applies only to the comparison of the two
  1120. attributes upon which JOIN is based.  If the WHERE clause is
  1121. omitted (default), EQ is used.  The comparisons involving
  1122. order (GT etc.) refer to attname1 GT attname2 etc..  The
  1123. comparison of the two single attributes follow the
  1124. (lexicographical) rules of the where clause of select.
  1125. 1
  1126. JOIN Command
  1127. ---- -------
  1128. As an example, consider the relations REL1 and REL2:
  1129. .          REL1                              REL2
  1130. .   A       B         C             D          E
  1131. .-----------------------------   ------------------------
  1132. .   1       2         3             3          1
  1133. .   4       5         6             6          2
  1134. .   7       8         9
  1135. The following JOIN command
  1136. .        JOIN REL1 USING B WITH REL2 USING D +
  1137. .        FORMING REL3 WHERE B LT D
  1138. would produce:
  1139. .                               REL3
  1140. .          A          B           C       D            E
  1141. .        --------------------------------------------------------
  1142. .          1          2           3       3            1
  1143. .          1          2           3       6            2
  1144. .          4          5           6       6            2
  1145. 1
  1146. JOIN Command
  1147. ---- -------
  1148. The JOIN will function correctly on any comparison providing that
  1149. you compare attributes of the same data type.  All attribute names
  1150. in the resultant relation must be unique for you to obtain
  1151. accurate results when using SELECT or CHANGE commands on the
  1152. relation.  Any duplicate attribute names should be changed using
  1153. the RENAME command before doing queries or updates to the new
  1154. relation.  In the case of duplicate attribute names, RENAME when
  1155. applied to a specific relation will change the first attribute
  1156. name.
  1157. Note that if the constituient relations have no duplicate
  1158. rows, the relation formed with JOIN will also have no
  1159. duplicate rows.
  1160. ENDC
  1161. PRO
  1162. PROJECT
  1163. PROJECT Command
  1164. ------- -------
  1165. The function of a PROJECT command is to create a new relation as a
  1166. subset of an existing relation.  You may want to create the new
  1167. relation from the old one by removing attributes, removing rows,
  1168. or both.  The syntax for the PROJECT command is:
  1169. .        PROJECT relname1 FROM relname2 USING {attname1 ... attnamen} +
  1170. .                                              ALL
  1171. .        [WHERE ...]
  1172. The WHERE clause is optional but if specified it has the same
  1173. syntax as specified in the WHERE entry. You are required to specify
  1174. which attributes are to be retained in the new relation.  The old
  1175. relation is relname2 and the new relation is relname1.
  1176. As an example consider the following relation:
  1177. 1
  1178. PROJECT Command
  1179. ------- -------
  1180. .                            PEOPLE
  1181. .         EMPNUM    EMPNAME    BOSS      POSITION    GROUP
  1182. .        --------------------------------------------------
  1183. .         2181      JONES      SMITH     MANAGER     AADE
  1184. .         3964      ERICKSON   BUSS      APPL-MGR    ACC
  1185. .         6543      GRAY       PARKER    ASST-MGR    PHOTO
  1186. .         2233      SCHMITZ    BUSS      APPL-MGR    ACC
  1187. .        --------------------------------------------------
  1188. To create a new relation with EMPNAME and GROUP as the only
  1189. attributes where no rows contains PARKER as BOSS enter the
  1190. command:
  1191. .        PROJECT TEMP1 FROM PEOPLE USING EMPNAME GROUP +
  1192. .        WHERE BOSS NE PARKER
  1193. .                          TEMP1
  1194. .                     EMPNAME    GROUP
  1195. .                    -------------------
  1196. .                     JONES      AADE
  1197. .                     ERICKSON   ACC
  1198. .                     SCHMITZ    ACC
  1199. 1
  1200. PROJECT Command
  1201. ------- -------
  1202. The PROJECT command is useful to reduce the size of a
  1203. relation when only a subset of the data is
  1204. needed.  RIM will not eliminate any duplicate rows formed in the
  1205. new relation.  You must do that yourself with the DELETE
  1206. DUPLICATES command.
  1207. ENDC
  1208. SUB
  1209. SUBTRACT
  1210. SUBTRACT Command
  1211. -------- -------
  1212. The SUBTRACT command is similar to the PROJECT command in that a
  1213. new relation is formed from an existing relation, but rows are
  1214. selected based upon the data of two relations rather than a WHERE
  1215. clause within a single relation.  Where the INTERSECT command
  1216. looked for rows of two relations which matched up, the SUBTRACT
  1217. does just the opposite.  It looks for rows on in relation which do
  1218. not match with any rows in the other relation.  The syntax for the
  1219. SUBTRACT command is:
  1220. .        SUBTRACT relname1 FROM relname2 FORMING relname3 +
  1221. .        [USING attname1 [attname2 ... attnamen]]
  1222. All rows in the new relation will come from relname2.  If the
  1223. USING clause is not specified, then all attributes of relname2
  1224. will be attributes of relname3.  relname1 is the relation that
  1225. rows of relname2 are checked against for matches.
  1226. 1
  1227. SUBTRACT Command
  1228. -------- -------
  1229. As an example consider these two example relations:
  1230. .           EMPDATA                         BOSSDATA
  1231. . EMPNUM    EMPNAME    BOSS        BOSS      POSITION    GROUP
  1232. .------------------------------   -----------------------------
  1233. . 2181      JONES      SMITH       SMITH     MANGER      AADE
  1234. . 3964      ERICKSON   BUSS        PARKER    ASST-MGR    PHOTO
  1235. . 6543      GRAY       PARKER      BUSS      APPL-MGR    ACC
  1236. . 8461      BROWN      WHITE
  1237. . 2233      SCHMITZ    BUSS
  1238. The following command will produce a new relation from EMPDATA:
  1239. .        SUBTRACT BOSSDATA FROM EMPDATA FORMING TEMP USING EMPNAME BOSS
  1240. The resulting relation TEMP would contain only one row:
  1241. .                           TEMP
  1242. .                    EMPNAME     BOSS
  1243. .                   --------------------
  1244. .                    BROWN       WHITE
  1245. ENDC
  1246. NEW
  1247. NEWPAGE
  1248. NEWPAGE Command
  1249. ------- -------
  1250. This command causes a new page to be issued.  It applies to batch
  1251. output only.  The command is:
  1252. .        NEWPAGE
  1253. ENDC
  1254. BLA
  1255. BLANK
  1256. BLANK Command
  1257. ----- -------
  1258. Blank lines can be output by using the command:
  1259. .        BLANK n
  1260. where n is the number of blank lines written.
  1261. ENDC
  1262. TIT
  1263. TITLE
  1264. TITLE Command
  1265. ----- -------
  1266. The command:
  1267. .        TITLE "titlestring"
  1268. causes the text "titlestring" to be printed, centered on the line.
  1269. If the length of "titlestring" is longer than current lines width,
  1270. it will be truncated and a warning issued.
  1271. ENDC
  1272. DAT
  1273. DATE
  1274. DATE Command
  1275. ---- -------
  1276. The command:
  1277. .        DATE
  1278. will cause the current date to be printed, centered on the line.
  1279. ENDC
  1280. LIN
  1281. LINES
  1282. LINES Command
  1283. ----- -------
  1284. This command controls the number of lines per page (exclusive of
  1285. title).  The command:
  1286. .        LINES n
  1287. will establish page size to  n lines.  Default is 56.
  1288. ENDC
  1289. WID
  1290. WIDTH
  1291. WIDTH Command
  1292. ----- -------
  1293. This command controls the width of a printed line.  The command:
  1294. .        WIDTH n
  1295. will establish a line width of n characters.  Default is 78 if
  1296. output is to a terminal, 132 if output is to a batch printer.
  1297. ENDC
  1298. INF
  1299. INPUT FORMAT
  1300. INPUT FORMAT
  1301. ----- ------
  1302. . Entering input through LXLREC
  1303. . -------- ----- ------- ------
  1304. . LXLREC is a free-field input routine which separates
  1305. . user input into items which are grouped into records.
  1306. . Terminology
  1307. . -----------
  1308. . line   - one line of information with a maximum of 80
  1309. .          characters.  A line corresponds to a card (for
  1310. .          those old enough to remember card input).
  1311. . item   - one piece of information.  An item may be a real
  1312. .          number, an integer or text.  Items are delimited
  1313. .          by blanks or commas.  Multiple blanks count as a
  1314. .          single blank.  Multiple commas generate null items (see
  1315. .          section on multiple commas).
  1316. . record - a collection or list of up to 100 items which is
  1317. .          in response to a single request for data by the
  1318. .          calling program.
  1319. 1
  1320. INPUT FORMAT
  1321. ----- ------
  1322. . integer- all characters must be numeric except the first one
  1323. .          which may be + or -.  For example: -1   23   +10000
  1324. . real   - an item of the form i1.i2ei3 where i1 and i3 may be
  1325. .          signed integers and i2 is an unsigned integer.  The
  1326. .          entire form is not necessary but at least one digit
  1327. .          and either the  .  Or the e must be present.
  1328. .          for example: 1.  E-3 -2.7E+4   .0
  1329. . text   - any single item which is not an integer or real.  If
  1330. .          a text item looks like an integer or real or if it
  1331. .          contains blanks or commas, it must be enclosed in
  1332. .          quotes (").
  1333. . Composing records
  1334. . --------- -------
  1335. . Ordinarily records consist of one line.  However, multiple
  1336. . records may be put on one line by separating them with
  1337. . dollars or semi-colons.  Alternatively, a record may span
  1338. . several lines by ending all but the last line with a plus.
  1339. . In general items must be wholly contained on one line with the
  1340. . exception of quoted text items and comments.
  1341. 1
  1342. . INPUT FORMAT
  1343. ..----- ------
  1344. . Special items - =, (, )
  1345. . ------- -----   -----
  1346. . Equals and left and right parentheses are treated as single
  1347. . items unless enclosed in quoted text items.  Thus a=3.  Is
  1348. . 3 items (two text and one real) rather than one item.
  1349. . "a=3." is one text item.  This allows more convenient parsing
  1350. . of many commands.
  1351. . Multiple commas
  1352. . -------- ------
  1353. . If more than one comma separates two items, each additional comma
  1354. . will generate a text item with Three characters "-0-".  Thus,
  1355. . , , abc, , 2.5  is equivalent to  -0-, abc, -0-, 2.5.
  1356. 1
  1357. INPUT FORMAT
  1358. ----- ------
  1359. . Rules for text items
  1360. . ----- --- ---- -----
  1361. . A quoted text item is terminated by a record separator (dollar
  1362. . or semi-colon).  Quoted text items may be continued on multiple
  1363. . lines.  If the trailing quote is omitted on the last item in a
  1364. . record, the quoted item is terminated at either the record
  1365. . separator, if any, or the last non-blank character on the line.
  1366. . Quotes may be included in quoted text items by doubling
  1367. . the quotes (e.g.  "a, ""b" yields a, "b as a text string).
  1368. . The total number of characters for all text items in a
  1369. . record is limited to 2000.
  1370. . Some examples
  1371. . ---- --------
  1372. .       1, 2.  ABC "2."
  1373. . This record has four items - integer, real and two text
  1374. .       1 $ 2
  1375. . This line is two records - each one integer
  1376. .       1 +
  1377. .       2
  1378. . This is one record on two lines with two integers
  1379. 1
  1380. INPUT FORMAT
  1381. ----- ------
  1382. . Comments
  1383. . --------
  1384. . Comments may be included anywhere in the input stream by
  1385. . enclosing them between *( and ).  For example *( this is a comment).
  1386. . comments are completely ignored by LXLREC.  Empty lines between
  1387. . records are also ignored and may be used to paragraph input.
  1388. . An alternative form of comment is */..../ where slashes replace
  1389. . the parentheses.  This may be used if parentheses are needed in
  1390. . the comment.
  1391. . Short cuts - data generation
  1392. . ----- ----   ---- ----------
  1393. . Activities such as entering large volumes of data, repeating
  1394. . similiar records and reentering mis-typed records can be eased
  1395. . by using the LXLREC data generation facilities.
  1396. 1
  1397. INPUT FORMAT
  1398. ----- ------
  1399. . Repeating items on previous record - *n, **, *
  1400. . --------- ----- -- -------- ------   -------
  1401. . A data item of the form *n where n is an unsigned integer
  1402. . indicates that the next n items in that record are identical
  1403. . to the corresponding n items in the preceeding record.  An
  1404. . isolated * is treated as *1.  Double asterisks (**) indicate
  1405. . that the remaining items in the previous record are to be
  1406. . copied into the current record.
  1407. . Repeating an item in the current record - *=n *=n+step
  1408. . --------- -- ---- -- --- ------- ------   --- --------
  1409. . An item of the form *=n, where n is an unsigned integer,
  1410. . indicates that the next n items are identical to the
  1411. . immediately preceding item.  An item of the form *=n+step
  1412. . or *=n-step where step is an unsigned real or integer,
  1413. . indicates that the next n items are to be generated by
  1414. . consecutively incrementing the immediately preceding item.
  1415. 1
  1416. .INPUT FORMAT
  1417. .----- ------
  1418. . Generating multiple records - *+n
  1419. . ---------- -------- -------   ---
  1420. . A record beginning with *+n where n is an unsigned integer
  1421. . indicates that the next n records are to be generated from
  1422. . the preceding record.  Each item of the generated record
  1423. . is formed by adding an item of the *+n record to the
  1424. . corresponding item of the immediately preceding input or
  1425. . generated record.  A zero (integer) item should be inserted
  1426. . in an *+n record for text items in the preceding record.
  1427. . The number of items after the *+n must match the number
  1428. . in the preceding record.
  1429. 1
  1430. INPUT FORMAT
  1431. ----- ------
  1432. . Note on generating items
  1433. . ---- -- ---------- -----
  1434. . When increments are specified, either on the *+n record or
  1435. . as step on an *=n+step item they must match the item they
  1436. . are incrementing in type.  It should be noted that the *+n
  1437. . record generation option is based on the expanded
  1438. . representation of the previous record.  The generation does
  1439. . not operate on the card image of the preceding record if it
  1440. . contains data generation items.  Therefore, it is not possible
  1441. . to repeat or increment an asterisk-type item.
  1442. 1
  1443. INPUT FORMAT
  1444. ----- ------
  1445. . Examples
  1446. . --------
  1447. . Consider the following seven input records to illustrate the
  1448. . data generation features.
  1449. .       1 2 3 4 5 6 7 8 9 10 11 12
  1450. .       2 1 *2 4 *=2 1 *=2+2 **
  1451. .       *+1 0 *=3 0 *=5 **
  1452. .       *+1 0 *=11
  1453. .       *+1 *12
  1454. .       *+1 **
  1455. .       **
  1456. . Twelve data items are defined by each of these records.  Each
  1457. . of the last six records is translated into the same internal
  1458. . record which is:  2 1 3 4 4 4 4 1 3 5 11 12
  1459. . Note - the last five records could be replaced by the single
  1460. . record: *+5 **
  1461. 1
  1462. INPUT FORMAT
  1463. ----- ------
  1464. . Changing special characters
  1465. . -------- ------- ----------
  1466. . It is possible to change the special characters LXLREC uses to
  1467. . break apart records.  These special characters may either be
  1468. . changed to another character or set to null so that they are
  1469. . ignored.  This is useful for reading specially formatted files
  1470. . or to allow special characters to be input as text items.
  1471. . to change special characters enter the following special
  1472. . comment as the only entry on a line between records.
  1473. .      *(set keyword=newvalue)
  1474. . where keyword can be DOLLAR
  1475. .                      SEMI
  1476. .                      QUOTES
  1477. .                      BLANK
  1478. .                      PLUS
  1479. .                      COMMA
  1480. 1
  1481. INPUT FORMAT
  1482. ----- ------
  1483. . and newvalue is either the word null or the new special character.
  1484. . For example, if one wanted to use dollars to delimit items
  1485. . rather than records and to not have commas delimit items,
  1486. . the following two lines could be entered.
  1487. .      *(SET DOLLAR=NULL)
  1488. .      *(SET COMMA=$)
  1489. . Note that commas could now be used in unquoted text strings
  1490. . and dollars could now be included in quoted text strings.
  1491. . Also, note that it is really the function that is being
  1492. . altered, not the character.  Changing plus only changes the
  1493. . line continuation character, not the representation of real
  1494. . numbers.  To restore the original condition after the above
  1495. . example, the following could be entered.
  1496. 1
  1497. INPUT FORMAT
  1498. ----- ------
  1499. .      *(SET DOLLAR=$)
  1500. .      *(SET COMMA=, )
  1501. . Warning - using the same character for multiple functions
  1502. . will produce undefined results...(undefined means even the
  1503. . author wouldn't want to guess what will happen).
  1504. . Echo
  1505. . ----
  1506. . LXLREC will echo the input line as the default.  Either the
  1507. . user or the calling program can switch echo on or off.  The
  1508. . user accomplishes this by entering
  1509. .      *(SET ECHO=ON) or
  1510. .      *(SET ECHO=OFF)
  1511. . in the same manner as setting special characters.
  1512. ENDC
  1513. SYN
  1514. SYNTAX
  1515. Input Format, Data Generation and Syntax
  1516. ----- ------  ---- ---------- --- ------
  1517. RIM is used by entering commands in response to input prompts.
  1518. The input prompts vary with RIM submodule used. The commands
  1519. always begin with a RIM keyword and may contain adiitional
  1520. keywords and other text and numerical items.
  1521. Keywords are described using capital letters. Three of the
  1522. commands (DEFINE, HELP and LOAD) are used to enter submodules
  1523. which have their own set of commands and prompts for defining
  1524. a data base, for providing on-line help to the interactive
  1525. user and for loading a data base. In describing commands, the
  1526. following conventions are used:
  1527. 1
  1528. Input Format, Data Generation and Syntax
  1529. ----- ------  ---- ---------- --- ------
  1530. .    relname
  1531. .     or                       name of a relation(s)
  1532. .    relname1, relname2, ...
  1533. .    attname
  1534. .     or                       name of an attribute(s)
  1535. .    attname1, attname2, ...
  1536. .    value                     actual value(s)
  1537. .     or                       (value may be a text string,
  1538. .    value1, value2, ...         scalar, vector or matrix)
  1539. All relation and attribute names must contain at least 1 and
  1540. no more than 8 alphanumeric characters.
  1541. 1
  1542. Input Format, Data Generation and Syntax
  1543. ----- ------  ---- ---------- --- ------
  1544. Many of the RIM commands have optional parts.  These optional
  1545. parts are enclosed in square brackets.
  1546. .     [THIS IS OPTIONAL]
  1547. Sometimes, a keyword is selected from a list of acceptable
  1548. keywords.  In this case the acceptable keywords are listed
  1549. vertically with the first choice enclosed in brackets.
  1550. .     {CHOOSE}
  1551. .      ONE
  1552. .      OF
  1553. .      THESE
  1554. RIM command keywords may be abbreviated.  At least the first
  1555. 3 characters in a keyword are required.
  1556. 1
  1557. Input Format, Data Generation and Syntax
  1558. ----- ------  ---- ---------- --- ------
  1559. The following 3 set of keywords are equivalent:
  1560. .   1)  SELECT, FROM, WHERE DELETE DUPLICATES
  1561. .   2)  SELEC FRO WHER DELET DUPL
  1562. .   3)  SEL, FRO WHE, DEL DUP
  1563. Commands in RIM are entered in a free-field format with
  1564. blanks and commas as separators.  RIM also provides
  1565. powerful data repetition and data generation facilities.
  1566. The following provides a short and non complete description
  1567. of RIM conventions and data generation facilities.  A more
  1568. extensive description, intended for the more experienced
  1569. RIM user, is contained in section INPUT FORMAT.
  1570. 1
  1571. Input Format, Data Generation and Syntax
  1572. ----- ------  ---- ---------- --- ------
  1573. Keywords and data values are separated by blanks and commas.
  1574. If a command is too long for one 80 character line, it may be
  1575. continued on succeeding line(s) by entering "+" as the last
  1576. character on the line(s).  RIM remembers the previous command.
  1577. This enables you to re-use all or part of the previous command.
  1578. This is done by using an asterisk to indicate which items of
  1579. the previous command are to be re-used.  A single asterisk
  1580. means re-use thee corrosponding single item of th previous
  1581. record.  An asterisk followed by a number n means re-use
  1582. the next n corresponding items.  Two asterisks mean re-use
  1583. all remaining corresponding items.
  1584. 1
  1585. Input Format, Data Generation and Syntax
  1586. ----- ------  ---- ---------- --- ------
  1587. The following are all equivalent:
  1588. .  1)   THIS IS A COMMOND
  1589. .  2)   THIS +
  1590. .       IS+
  1591. .       A +
  1592. .       COMMAND
  1593. .  3)   * IS, A COMMAND
  1594. .  4)   THIS *2 COMMAND
  1595. .  5)   THIS **
  1596. 1
  1597. Input Format, Data Generation and Syntax
  1598. ----- ------  ---- ---------- --- ------
  1599. Multiple commands may be entered on one line separated by a
  1600. semicolon or a dollar sign .
  1601. THIS IS FIRST ; THIS IS SECOND $  THIS IS THIRD
  1602. Comments may be placed anywhere within a command by enclosing
  1603. the comment between the characters *( and ).
  1604. .  *(THIS IS A COMMENT)  THIS IS NOT
  1605. When numeric data is to be interpreted as text (alphanumeric)
  1606. data, the numerals must be enclosed by quotation marks.
  1607. .  "1234"
  1608. 1
  1609. Input Format, Data Generation and Syntax
  1610. ----- ------  ---- ---------- --- ------
  1611. When entering text strings which contain embedded blanks or
  1612. commas, the entire string must be enclosed by quotation
  1613. marks.
  1614. .   "THIS IS A TEXT STRING"
  1615. A text string may require continuation on additional line(s).
  1616. The + sign convention can then be used within the quotation
  1617. marks.
  1618. .   "THIS IS+
  1619. .    A TEXT +
  1620. .   STRING"
  1621. It recommended as good practice not to use leading blanks in
  1622. text strings. (The precise number of leading blanks in a
  1623. string must be used when it is referenced)
  1624. .  "THIS IS GOOD PRACTICE"           "   THIS IS NOT"
  1625. 1
  1626. Input Format, Data Generation and Syntax
  1627. ----- ------  ---- ---------- --- ------
  1628. Integer data are input as a string of digits without a
  1629. decimal point.  A sign may precede the digits
  1630. .    123 , -63, +56, 0
  1631. Real (floating point) numbers must include a decimal point
  1632. or E for exponent.  If a decimal point is not precent
  1633. the E must be preceded by an integer.
  1634. .   1.3, .005,  0., 6.E-1, 6E-1, 0.60, -23.45
  1635. The absolute value of real number is limited to the
  1636. range 1.0E-38 to 1.0e+38
  1637. ENDC
  1638. SUM
  1639. SUMMARY
  1640. SUMMARY
  1641. -------
  1642. .      DEFINING A DATABASE SCHEMA
  1643. .            DEFINE dbname
  1644. .            OWNER password
  1645. .            ATTRIBUTES
  1646. .            attname {REAL} [{length}] [KEY]
  1647. .                     INT    VAR
  1648. .                     TEXT
  1649. .                     DOUB
  1650. .                     RVEC
  1651. .                     IVEC
  1652. .                     DVEC
  1653. .            attname {RMAT} {row, col}  [KEY]
  1654. .                     IMAT   row, VAR
  1655. .                     DMAT   VAR, VAR
  1656. 1
  1657. SUMMARY
  1658. -------
  1659. .            RELATIONS
  1660. .            relname WITH attname1 [attname2 ... attnameN]
  1661. .            PASSWORDS
  1662. .            {READ PASSWORD} FOR {relname} IS PASSWORD
  1663. .             RPW                 ALL
  1664. .            {MODIFY PASSWORD} FOR {relname} IS PASSWORD
  1665. .             MPW                   ALL
  1666. .            RULES
  1667. .            attname [IN relname] {EQ} value [{AND} ...]
  1668. .                                  NE          OR
  1669. .                                  GT
  1670. .                                  GE
  1671. .                                  LT
  1672. .                                  LE
  1673. .            attname IN relname {EQA} attname IN relname [{AND} ...
  1674. .                                NEA                       OR
  1675. .                                GTA
  1676. .                                GEA
  1677. .                                LTA
  1678. .                                LEA
  1679. .            END
  1680. 1
  1681. SUMMARY
  1682. -------
  1683. .      LOADING A RELATION
  1684. .           LOAD relname
  1685. .           value1 value2 ... valueN
  1686. .           END
  1687. .           value :  SCALARS  val1
  1688. .                    TEXT  "text string"
  1689. .                    VECTOR (val1, val2, ...)
  1690. .                    MATRIX ((r1c1, r2c1, ...), (r1c2, r2c2, ...), ...)
  1691. 1
  1692. SUMMARY
  1693. -------
  1694. .      QUERYING A RELATION
  1695. .       SELECT {attname1 [=fld1], attname2 [=fld2], ...} FROM relname +
  1696. .               attnum1 [=fld1], ...
  1697. .               attname1(i), ...
  1698. .               attname1(i, j), ...
  1699. .               ALL
  1700. .              [SORTED BY attname1 [={A}], [attname2 [={A}], ...]] +
  1701. .                                     D                 D
  1702. .              [WHERE ...]
  1703. .       TALLY attname [={A}] FROM relname [WHERE ...]
  1704. .                        D
  1705. 1
  1706. SUMMARY
  1707. -------
  1708. .            WHERE CLAUSE :
  1709. .            WHERE  attname  {EXISTS}               [{AND} ...]
  1710. .                             FAILS                   OR
  1711. .                             EQ        {value}
  1712. .                             EQS        MAX
  1713. .                             NE         MIN
  1714. .                             GT
  1715. .                             LT
  1716. .                             LE
  1717. .            WHERE  attname  {EQA}       attname    [{AND} ...]
  1718. .                             NEA                     OR
  1719. .                             GTA
  1720. .                             GEA
  1721. .                             LTA
  1722. .                             LEA
  1723. .            WHERE  ROWS     {EQ}       rownumber   [{AND} ...]
  1724. .                             NE                      OR
  1725. .                             LT
  1726. .                             LE
  1727. .                             GE
  1728. .                             GT
  1729. 1
  1730. SUMMARY
  1731. -------
  1732. .            WHERE {attname} {EQ}       list        [{AND} ...]
  1733. .                   ROWS      NE                      OR
  1734. .            WHERE  LIMIT     EQ        number      [{AND} ...]
  1735. .      COMPUTATION COMMANDS
  1736. .            COMPUTE {COUNT} attname FROM relname [WHERE ...]
  1737. .                     MIN
  1738. .                     MAX
  1739. .                     AVE
  1740. .                     SUM
  1741. 1
  1742. SUMMARY
  1743. -------
  1744. .      MODIFICATION COMMANDS
  1745. .            CHANGE {attname} TO value [IN relname] WHERE ...
  1746. .                    attname(i)
  1747. .                    attname(i, j)
  1748. .            CHANGE {RPW} TO newpass FOR relname
  1749. .                    MPW
  1750. .            CHANGE OWNER TO newowner
  1751. .            DELETE ROWS FROM relname WHERE ...
  1752. .            DELETE DUPLICATES [attname1, attname2, ...] FROM relname
  1753. .            DELETE RULE rulenumber
  1754. .            RENAME ATTRIBUTE attname TO newname [IN relname]
  1755. .            RENAME RELATION relname TO newname
  1756. .            REMOVE relname
  1757. 1
  1758. SUMMARY
  1759. -------
  1760. .      RELATIONAL ALGEBRA COMMANDS
  1761. .            INTERSECT relname1 WITH relname2 FORMING relname3 +
  1762. .                      [USING attname1 [attname2, ...]]
  1763. .           JOIN relname1 USING attname1 WITH relname2 USING attname2 +
  1764. .                 FORMING relname3 [WHERE {EQ}]
  1765. .                                          NE
  1766. .                                          GT
  1767. .                                          GE
  1768. .                                          LT
  1769. .                                          LE
  1770. .            SUBTRACT relname1 FROM relname2 FORMING relname3 +
  1771. .                     [USING attname1 [attname2, ...]]
  1772. .            PROJECT relname1 FROM relname2 USING +
  1773. .                    {attname1, [attname2, ...]} [WHERE ...]
  1774. .                     ALL
  1775. 1
  1776. SUMMARY
  1777. -------
  1778. .      QUERYING THE SCHEMA
  1779. .            LISTREL [relname]
  1780. .                     ALL
  1781. .            EXHIBIT attname [attname ...]
  1782. .            PRINT RULES
  1783. .      REPORT COMMANDS
  1784. .            NEWPAGE
  1785. .            BLANK n
  1786. .            TITLE "title"
  1787. .            DATE
  1788. .            LINES n
  1789. .            WIDTH n
  1790. .      KEY COMMANDS
  1791. .            BUILD KEY FOR attname IN relname
  1792. .            DELETE KEY FOR attname IN relname
  1793. 1
  1794. SUMMARY
  1795. -------
  1796. .      RIM-TO-RIM COMMANDS
  1797. .            UNLOAD [dbname [=newdbname]] {SCHEMA} [relname1 [=mpw] +
  1798. .                                           DATA
  1799. .                                           ALL
  1800. .                 [relname2 [=mpw], ...]
  1801. .      MISCELLANEOUS COMMANDS
  1802. .            OPEN dbname
  1803. .            CLOSE
  1804. .            INPUT {filename}
  1805. .                   TERMINAL
  1806. .            OUTPUT {filename}
  1807. .                    TERMINAL
  1808. .            EXIT
  1809. .            QUIT
  1810. .            MENU
  1811. 1
  1812. SUMMARY
  1813. -------
  1814. .            HELP [command name]
  1815. .            USER password
  1816. .            ECHO
  1817. .            NOECHO
  1818. .            CHECK
  1819. .            NOCHECK
  1820. .            TOLERANCE xx.xx [PERCENT]
  1821. .            RELOAD
  1822. ENDC
  1823. NWS
  1824. NEWS
  1825. NEWS
  1826. ----
  1827. November 24,1981   -- UD20 -- was implemented.
  1828. UD20 traps bad user data and corrects several errors as follows:
  1829. . 1 correct error message in data loading
  1830. . 2 print error message if zero length attribute
  1831. . 3 correct several errors in RELOAD
  1832. . 4 trap bad pointers for var length attributes in appl interface
  1833. . 5 correct bad pointer increment by RMDEL
  1834. . 6 correct sort problem with already sorted data
  1835. . 7 correct rules problem in UNLOAD
  1836. . 8 trap use of list for other than EQ,NE and EQS
  1837. . 9 correct problem with rules not recognizing keyword ATTR
  1838. .10 trap rule checking for non-scalars and text
  1839. .11 correct the trapping of more than 10 rules per relation
  1840. .12 remove message DB FILES ARE LOCAL for a define
  1841. .13 correct UNLOAD problem with vectors etc.
  1842. .14 put trap in PROJECT to assure that only valid attributes are used
  1843. .UD20 makes the following enhancement:
  1844. . 1 add EQS list to SELECT WHERE clause
  1845. 1
  1846. NEWS
  1847. ----
  1848. December  3,1981   -- UD21 -- was implemented.
  1849. UD21 corrects several errors as follows:
  1850. . 1 put blank line from ECHO on proper file
  1851. . 2 trap case when RULES section entered w/o defining constraints
  1852. . 3 trap error in RULES when attribute name is a RIM keyword
  1853. . 4 correct B-tree error during appl prog load when KEYs defined
  1854. . 5 deactivate UNLOAD of RULES until UNLOAD can be reworked
  1855. UD21 makes the following code enhancement:
  1856. . 1 make code more portable by softcoding file unit numbers
  1857. ENDC
  1858. RIM
  1859. RIM
  1860. RIM
  1861. ---
  1862. .  RIM is a relational data base management system. RIM commands
  1863. .  allow you to define, load, query and modify a data base. RIM
  1864. .  supports the following commands:
  1865. .     BLANK       BUILD KEY   CHANGE      CLOSE       COMPUTE
  1866. .     DATE        DEFINE      DELETE KEY  DELETE      ECHO
  1867. .     EXHIBIT     EXIT        INPUT       INTERSECT   JOIN
  1868. .     LISTREL     LOAD        NEWPAGE     NOECHO      OPEN
  1869. .     OUTPUT      PRINT       PROJECT     QUIT        RELOAD
  1870. .     REMOVE      RENAME      SELECT      SUBTRACT    TALLY
  1871. .     TITLE       USER
  1872. .  The DEFINE command and the LOAD command are used to enter
  1873. .  submodules where commands known only to those submodules
  1874. .  are processed.
  1875. 1
  1876. RIM
  1877. .---
  1878. .  The DEFINE submodule supports the following commands:
  1879. .           DEFINE
  1880. .           ELEMENTS
  1881. .           RELATIONS
  1882. .           PASSWORDS
  1883. .           RPW (READ PASSWORD)
  1884. .           MPW (MODIFY PASSWORD)
  1885. .           RULES
  1886. .           END
  1887. .  The LOAD submodule supports the following commands:
  1888. .           LOAD
  1889. .           CHECK
  1890. .           NOCHECK
  1891. .           END
  1892. 1
  1893. RIM
  1894. ---
  1895. .  For a description of the general command syntax used by RIM
  1896. .  enter SYNTAX. For a summary of the syntax for the current
  1897. .  RIM command enter SUMMARY. For a description of the RIM
  1898. .  WHERE clauses enter WHERE.
  1899. ENDC
  1900. MEN
  1901. MENU
  1902. MENU Command
  1903. ---- -------
  1904. The MENU command places the user in menu mode.  It may be entered
  1905. at any point when in command mode except when in the DEFINE or LOAD
  1906. modules.  Menu mode is particulary useful for schema definition and
  1907. data loading.
  1908. ENDC
  1909. UNL
  1910. UNLOAD
  1911. UNLOAD Command
  1912. ------ -------
  1913. The UNLOAD command permits you to off-load a portion or all
  1914. of your dOata base onto a previously designated file (see OUTPUT
  1915. command).  The file will contain 80 character text records and will
  1916. be readable by RIM on the same or on a different computer using the
  1917. INPUT command.  Default file name is OUTPUT. The syntax of this
  1918. command is:
  1919. .  UNLOAD [ dbname = newname ] (ALL   ) +
  1920. .                               SCHEMA
  1921. .                               DATA
  1922. .         [ relname1 [ = mpw1 ] relname2 [ = mpw2 ] ...]
  1923. The mandatory part offers a choice between ALL, DATA and SCHEMA.
  1924. Specifying SCHEMA will off-load the schema of your data base,
  1925. DATA will off-load the data of your data base and ALL will
  1926. off-load both schema and data.
  1927. 1
  1928. UNLOAD Command
  1929. ------ -------
  1930. Optionally you may rename your data base by entering
  1931. dbname = newname where dbname is the name of the currently
  1932. open data base.  By specifying relation names, you will
  1933. only off-load data and/or schemas for the specific relations.
  1934. The password associated with a relation name must be
  1935. specified if your current user password does not allow you
  1936. modify access to the relation.
  1937. There are implicit password restrictions to the unload
  1938. command as follows:
  1939. If you are the data base owner, you may off-load any data
  1940. and/or schema. If you are not the owner, you may off-load
  1941. data and or schema for the relations for which you have
  1942. modify access permission. Your password becomes the owner
  1943. of the off-loaded data base. Rules, if any, will only be
  1944. off-loaded if you are the owner of the data base and you
  1945. have used the option ALL.
  1946. h
  1947. ENDD
  1948.  
  1949.