home *** CD-ROM | disk | FTP | other *** search
- VR -- View Relation MetalBase 5.0
- -------------------------------------------------------------------------------
-
- Curses
-
- Take a look at curses.dox if you're using MS-DOS and don't have curses.
-
- Functions
-
- VR is utility which allows visual querying and modification of the records
- in any relation. I'll be honest here--I modeled it directly after Informix'
- enter2 command... not a bad port, if I do say so, seeing as I have no idea
- how they did theirs. So thanks for the idea, Informix; you know, imitation is
- the sincerest form of flattery...
-
- The command-line format is trivial:
- % vr [relationname[.rel]]
- If not compiled with -DNOENCRYPT, vr will ask for an encryption password after
- every time a relation is specified; on the command line, or with the 'Rel'
- option from the main menu. This password is hashed using the standard
- strtokey() function in MetalBase, and is used to open the relation. If a
- relation is specified on the command line which cannot be opened, vr will
- return to the command line after indicating the error. Once at the main
- menu, though, vr will not exit until you tell it to; errors instead appear on
- the bottom line of the display, highlighted (nifty, eh?).
-
- The various functions performed by vr are:
-
- First -- Find the first record in the given relation, on the current index.
- When a relation is first opened, the current index is set to the
- first specified in the schema; afterwards, it may be selected using
- the 'Idx' option, described below.
- Last -- Find the last record in the relation, following the current index.
- Next -- Find the next record sequentially. If no current record is selected
- (the fields shown will all be blank or 0), this function acts as if
- you had selected 'First'.
- Prev -- Find the previous record sequentially. If no current record is
- selected, this function acts as if you had selected 'Last'.
- Gteq -- Find the record which is greater than or equal to a specified record,
- alphabetically/numerically (whichever is appropriate for each field).
- When you select Gteq or Equ (described below), all fields will
- disappear from the display other than those used by the current
- index; these will appear in the order in which they are used by the
- index. Enter as many as you like, starting with the first
- (naturally); when you hit accept the transaction (movement is
- described later), it will search for the appropriate record and, if
- found, display it.
- Equ -- Similar to Gteq, Equ will accept only a record which is exactly equal
- to that specified for the relevant fields; if one is not found, the
- query fails.
- Idx -- Selecting Idx will allow you to change which index is currently being
- used to search. A list will appear for you of valid indices and
- their order; you may enter either their name or number.
- Screen -- If a relation has more than 18 fields, they will not all fit on the
- display at once; selecting 'screen' will toggle which set of 18
- is displayed.
- Add -- 'Add' allows you, obviously enough, to add a new record to the
- relation.
- Upd -- Similarly, 'Upd' allows you to update the current record.
- Del -- And, 'Del' deletes the current record. After the record has been
- deleted, the record will disappear and you'll have to make another
- query.
- Rel -- 'Rel' allows you to open a new relation.
-
- Standard Keys
-
- Other than movement keys, the following are accepted:
- Ctrl-A : Accept data-entry--same as ":w" or ":x" if in vi-emulation mode.
- Ctrl-C : Abort data-entry.
- Ctrl-Q : Abort data-entry.
- Ctrl-U : Undo any changes (to this field only)
- PgUp : Works like an up-arrow
- PgDn : Works like an down-arrow
- Del : Works like a backspace
-
- The arrow keys work just dandy in *nix, or if you're using the same curses
- package I am... don't know about any others.
-
- Movement
-
- Users who are not familiar with the editor vi will probably wish NOT to compile
- vr with -DVI_EMU; if this isn't present, it removes some of the input routine's
- editing and movement commands, but allows the user to enter text in a more
- intuitive manner.
-
- Arrow keys operate as expected; vi'ers, you may ARROW _past_ the end of a line
- of text, whereas space and 'l' will not let you (in keeping with vi's
- conventions). Others, you are in perpetual insert, with backspace and DEL
- always destructive, and left-arrow not (unless in VI-emulation).
-
- Vi'ers, there are some extra ways to exit a template entry: normally, you
- may only accept a transaction, and then, only by hitting return on the last
- field in the set. Without VI you can abort a transaction by hitting ESC
- twice; you may want to hit it 3 times, just to make it catch the second
- more quickly; with vi, typing :q (no return) will abort a transaction, and :w
- or :x will accept it, from any point.
-
-