|
|
1.1 root 1: .th MONITOR QUEL 2/23/79
2: .sh NAME
3: monitor \- interactive terminal monitor
4: .sh DESCRIPTION
5: The interactive terminal monitor
6: is the primary front end
7: to \*(II.
8: It provides the ability
9: to formulate a query
10: and review it
11: before issuing it
12: to \*(II.
13: If changes must be made,
14: one of the \*(UU text editors
15: may be called
16: to edit the
17: .it "query buffer."
18: .s1
19: .bd "Messages and Prompts."
20: .s2
21: The terminal monitor
22: gives a variety of messages
23: to keep the user informed
24: of the status
25: of the monitor
26: and the query buffer.
27: .s3
28: As the user logs in,
29: a login message is printed.
30: This typically tells the version
31: number
32: and the login time.
33: It is followed by the dayfile,
34: which gives information
35: pertinant to users.
36: .s3
37: When \*(II is ready to accept input,
38: the message
39: ``go''
40: is printed.
41: This means that the query buffer
42: is empty.
43: The message
44: ``continue''
45: means that there is information
46: in the query buffer.
47: After a \ego command
48: the query buffer
49: is automatically cleared
50: if another query is typed in,
51: unless a command which affects the query buffer
52: is typed first.
53: These commands are
54: \eappend,
55: \eedit,
56: \eprint,
57: \elist,
58: \eeval,
59: and
60: \ego.
61: For example, typing
62: .br
63: help parts
64: .br
65: \ego
66: .br
67: print parts
68: .br
69: results in the query buffer containing
70: .br
71: print parts
72: .br
73: whereas
74: .br
75: help parts
76: .br
77: \ego
78: .br
79: \eprint
80: .br
81: print parts
82: .br
83: results in the query buffer containing
84: .br
85: help parts
86: .br
87: print parts
88: .br
89: An asterisk is printed at the beginning
90: of each line
91: when the monitor
92: is waiting for the user
93: to type input.
94: .s1
95: .bd Commands
96: .s2
97: There are a number of commands
98: which may be entered by the user
99: to affect the query buffer
100: or the user's environment.
101: They are all preceeded
102: by a backslash
103: (`\e'),
104: and all are executed immediately
105: (rather than at execution time
106: like queries).
107: .s3
108: Some commands may take a filename,
109: which is defined
110: as the first significant character
111: after the end of the command
112: until the end of the line.
113: These commands may have no other commands
114: on the line
115: with them.
116: Commands which do not take a filename
117: may be stacked
118: on the line;
119: for example
120: .br
121: \edate\ego\edate
122: .br
123: will give the time
124: before and after
125: execution of the current query buffer.
126: .de xx
127: .lp +10 10
128: ..
129: .s3
130: .xx
131: \er
132: .xx
133: \ereset Erase the entire query (reset the query buffer).
134: The former contents of the buffer are irretrieveably lost.
135: .s3
136: .xx
137: \ep
138: .xx
139: \eprint Print the current query.
140: The contents of the buffer are printed on the user's terminal.
141: .s3
142: .xx
143: \el
144: .xx
145: \elist Print the current query as it will appear
146: after macro processing.
147: Any side effects of macro processing,
148: such as macro definition,
149: will occur.
150: .s3
151: .xx
152: \eeval Macro process the query buffer
153: and replace the query buffer with the result.
154: This is just like \elist
155: except that the output is put into the query buffer
156: instead of to the terminal.
157: .s3
158: .xx
159: \ee
160: .xx
161: \eed
162: .xx
163: \eedit
164: .xx
165: \eeditor Enter the \*(UU text editor
166: (see ED in the \*(UU Programmer's Manual); use
167: the ED command 'w' followed by 'q' to return to the
168: \*(II monitor.
169: If a filename is given,
170: the editor is called with that file instead of the query buffer.
171: If the macro ``{editor}'' is defined,
172: that macro is used as the pathname of an editor,
173: otherwise ``/bin/ed'' is used.
174: It is important that you do not use the ``e'' command
175: inside the editor;
176: if you do the
177: (obscure) name of the query buffer
178: will be forgotten.
179: .s3
180: .xx
181: \eg
182: .xx
183: \ego Process the current query.
184: The contents of the buffer are
185: macro processed,
186: transmitted to \*(II, and run.
187: .s3
188: .xx
189: \ea
190: .xx
191: \eappend Append to the query buffer.
192: Typing \ea after completion of a query will override the
193: auto-clear feature and guarantees that the query buffer
194: will not be reset.
195: .s3
196: .xx
197: \etime
198: .xx
199: \edate Print out the current time of day.
200: .s3
201: .xx
202: \es
203: .xx
204: \esh
205: .xx
206: \eshell Escape to the \*(UU shell.
207: Typing a control-d will cause
208: you to exit the shell and return to the \*(II monitor.
209: If there is a filename specified,
210: that filename is taken as a shell file which is run
211: with the query buffer
212: as the parameter ``$1''.
213: If no filename is given,
214: an interactive shell is forked.
215: If the macro ``{shell}'' is defined,
216: it is used as the pathname of a shell;
217: otherwise,
218: ``/bin/sh'' is used.
219: .s3
220: .xx
221: \eq
222: .xx
223: \equit Exit from \*(II.
224: .s3
225: .xx
226: \ecd
227: .xx
228: \echdir Change the working directory of the monitor
229: to the named directory.
230: .s3
231: .xx
232: \ei
233: .xx
234: \einclude
235: .xx
236: \eread Switch input to the named file.
237: Backslash characters in the file will be processed as read.
238: .s3
239: .xx
240: \ew
241: .xx
242: \ewrite Write the contents of the query buffer
243: to the named file.
244: .s3
245: .xx
246: \ebranch Transfer control within a \einclude
247: file.
248: See the section on branching below.
249: .s3
250: .xx
251: \emark Set a label for \ebranch.
252: .s3
253: .xx
254: \e<any other character>
255: .br
256: Ignore any possible special meaning of character following '\e'.
257: This allows the '\e'
258: to be input as a literal character.
259: (See also quel(quel) - strings).
260: It is important to note that backslash escapes
261: are sometimes eaten up
262: by the macro processor also;
263: in general,
264: send two backslashes
265: if you want a backslash sent
266: (even this is too simplistic [sigh] \-
267: try to avoid using backslashes at all).
268: .i0
269: .s1
270: .bd Macros
271: .s2
272: For simplicity,
273: the macros are described in the section macros(quel).
274: .s1
275: .bd "Branching"
276: .s2
277: The \ebranch and \emark commands
278: permit arbitrary branching within a \einclude
279: file
280: (similar to the ``goto'' and ``:'' commands
281: in the shell).
282: \emark should be followed with a label.
283: \ebranch should be followed with either a label,
284: indicating unconditional branch,
285: or an expression preceeded by a question mark,
286: followed by a label,
287: indicating a conditional branch.
288: The branch is taken if the expression
289: is greater than zero.
290: For example,
291: .br
292: \ebranch ?{tuplecount}<=0 notups
293: .br
294: branches to label ``notups'' if the ``{tuplecount}'' macro
295: is less than or equal to zero.
296: .s3
297: The expressions usable in \ebranch statements
298: are somewhat restricted.
299: The operators +, \-, \*(**,
300: .if t \(sl,
301: .if n /,
302: <=, >=, <, >, =, and !=
303: are all defined in the expected way.
304: The left unary operator ``!'' can be used
305: as to indicate logical negation.
306: There may be no spaces in the expression,
307: since a space terminates the expression.
308: .s1
309: .bd "Initialization"
310: .s2
311: At initialization (login) time
312: a number of initializations take place.
313: First,
314: a macro called ``{pathname}''
315: is defined
316: which expands to the pathname
317: of the \*(II subtree
318: (normally ``/mnt/ingres'');
319: it is used by system routines
320: such as demodb.
321: Second,
322: the initialization file
323: \&.../files/startup
324: is read.
325: This file is intended to define
326: system-dependent parameters,
327: such as the default editor and shell.
328: Third,
329: a user dependent initialization file,
330: specified by a field in the users file,
331: is read and executed.
332: This is normally set to the file ``.ingres'' in the
333: user's home directory.
334: The startup file might be used
335: to define certain macros,
336: execute common range statements,
337: and soforth.
338: Finally,
339: control is turned over
340: to the user's terminal.
341: .s3
342: An interrupt while executing either of the initialization files
343: restarts execution of that step.
344: .s1
345: .bd Flags
346: .s2
347: Certain flags
348: may be included
349: on the command line
350: to \*(II
351: which affect the operation
352: of the terminal monitor.
353: The \-a flag
354: disables the autoclear function.
355: This means that the query buffer will never
356: be automatically cleared;
357: equivalently,
358: it is as though a \eappend command
359: were inserted after every \ego.
360: Note that this means that the user
361: must explicitly clear the query buffer
362: using \ereset
363: after every query.
364: The \-d flag
365: turns off the printing of the dayfile.
366: The \-s flag
367: turns off printing of all messages
368: (except errors)
369: from the monitor,
370: including the login and logout messages,
371: the dayfile,
372: and prompts.
373: It is used for executing
374: ``canned queries'',
375: that is,
376: queries redirected from files.
377: .sh "SEE ALSO"
378: ingres(unix),
379: quel(quel),
380: macros(quel)
381: .sh DIAGNOSTICS
382: .de xx
383: .lp +20 20
384: ..
385: .xx
386: go You may begin a fresh query.
387: .s3
388: .xx
389: continue The previous query is finished and you
390: are back in the monitor.
391: .s3
392: .xx
393: Executing . . . The query is being processed by \*(II.
394: .s3
395: .xx
396: >>ed You have entered the \*(UU text editor.
397: .s3
398: .xx
399: >>sh You have escaped to the \*(UU shell.
400: .s3
401: .xx
402: Funny character nnn converted to blank
403: .br
404: \*(II maps non-printing ASCII characters into blanks; this message
405: indicates that one such conversion has just been made.
406: .i0
407: .sh INCOMPATIBILITIES
408: Note that the construct
409: .br
410: \erprint parts
411: .br
412: (intended to reset the query buffer
413: and then enter ``print parts'')
414: no longer works,
415: since ``rprint'' appears to be one word.
416: .sh BUGS
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.