From: CSRG Date: Fri, 19 Nov 1982 07:54:58 +0000 (-0800) Subject: BSD 4_1c_2 development X-Git-Tag: BSD-4_1c_2~845 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/c279ddf9bd702f91311b725393f65f4762c146d0 BSD 4_1c_2 development Work on file usr/src/ucb/ingres/doc/0aa.nr Work on file usr/src/ucb/ingres/doc/1aa.nr Work on file usr/src/ucb/ingres/doc/contents.sh Work on file usr/src/ucb/ingres/doc/files/dayfile.nr Work on file usr/src/ucb/ingres/doc/files/dbtmplt.nr Work on file usr/src/ucb/ingres/doc/files/grafile.nr Work on file usr/src/ucb/ingres/doc/files/error.nr Work on file usr/src/ucb/ingres/doc/files/libq.nr Work on file usr/src/ucb/ingres/doc/files/proctab.nr Work on file usr/src/ucb/ingres/doc/files/ttytype.nr Work on file usr/src/ucb/ingres/doc/files/startup.nr Work on file usr/src/ucb/ingres/doc/files/users.nr Work on file usr/src/ucb/ingres/doc/iaa Synthesized-from: CSRG/cd1/4.1c.2 --- diff --git a/usr/src/ucb/ingres/doc/0aa.nr b/usr/src/ucb/ingres/doc/0aa.nr new file mode 100644 index 0000000000..24f8a376b3 --- /dev/null +++ b/usr/src/ucb/ingres/doc/0aa.nr @@ -0,0 +1,41 @@ +.rs +.sp 4 +.if n \!. +.sp 15 +.ce 50 +.if t .ig +.tr % +@@@@@%%@%%%@%%@@@@@%%@@@@%%%@@@@@%%%@@@@ +%%@%%%%@@%%@%%@%%%%%%@%%%@%%@%%%%%%@%%%% +%%@%%%%@@%%@%%@%%%%%%@%%%@%%@%%%%%%@%%%% +%%@%%%%@%@%@%%@%%@@%%@@@@%%%@@@@%%%%@@@% +%%@%%%%@%%@@%%@%%%@%%@%@%%%%@%%%%%%%%%%@ +%%@%%%%@%%@@%%@%%%@%%@%%@%%%@%%%%%%%%%%@ +@@@@@%%@%%%@%%%@@@@%%@%%%@%%@@@@@%%@@@@% +.tr %% +.. +.if n .ig +.ft B +.if \nV .ps 28 \" for vtroff +.if !\nV .ps 36 +I N G R E S +.ps 14 +.. +.sp 3 +VERSION 7 +.sp +R E F E R E N C E M A N U A L +.sp 2 +.if t .ps 10 +.if t .ft I +\n(mo/\n(dy/\n(yr +.if t .ft R +.sp 2 +by +.sp 2 +John Woodfill +Polly Siegal +Jeff Ranstrom +Marc Meyer +Eric Allman +.ce 0 diff --git a/usr/src/ucb/ingres/doc/1aa.nr b/usr/src/ucb/ingres/doc/1aa.nr new file mode 100644 index 0000000000..1a7247c037 --- /dev/null +++ b/usr/src/ucb/ingres/doc/1aa.nr @@ -0,0 +1,124 @@ +.th INTRODUCTION INGRES 3/1/81 +.s3 +This manual is a reference manual for the \*(II data base +system. +It documents the use of \*(II in a very terse manner. +To learn how to use \*(II, refer to the +document called ``A Tutorial on \*(II''. +.s3 +The \*(II reference manual is subdivided into four parts: +.lp +10 8 +Quel describes the commands and features which +are used inside of \*(II. +.lp +10 8 +Unix describes the \*(II programs which are executable +as \*(UU commands. +.lp +10 8 +Files describes some of the important files used +by \*(II. +.lp +10 8 +Error lists all the user generatable error messages +along with some elaboration as to what they mean +or what we think they mean. +.i0 +.s3 +Each entry in this manual has one or more of +the following sections: +.s3 +.in +5 +.ti -5 +NAME section +.br +This section repeats the name of the entry and gives an indication of +its purpose. +.s3 +.ti -5 +SYNOPSIS section +.br +This section indicates the form of the command (statement). +The conventions which are used are as follows: +.s3 +.in +10 +.ti -7 +Bold face names are +used to indicate reserved keywords. +.ti -7 +Lower case words indicate generic types of information which must +be supplied by the user; +legal values for these names are described in the DESCRIPTION section. +.ti -7 +Square brakets ( [] ) indicate that the enclosed item is optional. +.ti -7 +Braces ( {} ) indicate an optional item which may be repeated. +In some cases they indicate simple (non-repeated) grouping; +the usage should be clear from context. +.in -10 +.s3 +When these conventions are insufficient to fully specify +the legal format of a command a more general form is given +and the allowable subsets are specified in the DESCRIPTION section. +.s3 +.ti -5 +DESCRIPTION section +.br +This section gives a detailed description of the entry with references +to the generic names used in the SYNOPSIS section. +.s3 +.ti -5 +EXAMPLE section +.br +This section gives one or more examples of the use of the entry. +Most of these examples are based on the following relations: +.ce 5 +emp(name,sal,mgr,bdate) +and +newemp(name,sal,age) +and +parts(pnum, pname, color, weight, qoh) +.s3 +.ti -5 +SEE ALSO section +.br +This section gives the names of entries in the manual which +are closely related to the current entry or which are referenced +in the description of the current entry. +.s3 +.ti -5 +BUGS section +.br +This section indicates known bugs or deficiencies in the command. +.s3 +.in -5 +To start using \*(II you must be entered as an +\*(II user; this is done by the +\*(II administrator who will enter +you in the ``users'' file (see users(files)). +To start using ingres +see the section on ingres(unix), +quel(quel), and monitor(quel). +.s3 +.in +5 +.sh ACKNOWLEDGEMENTS +We would like to acknowledge the +people who have worked on +\*(II in the past: +.in +5 +.nf +.s3 +Rick Birman +Bob Epstein +James Ford +Paula Hawthorn +Gerald Held +Peter Kreps +Dan Ries +Peter Rubinstein +Mike Ubell +Nick Whyte +Karel Youssefi +William Zook +.i0 +.fi +.sh FOOTNOTE +\s-2UNIX\s0 is a trademark +of Bell Laboratories. diff --git a/usr/src/ucb/ingres/doc/contents.sh b/usr/src/ucb/ingres/doc/contents.sh new file mode 100755 index 0000000000..0884bf44b0 --- /dev/null +++ b/usr/src/ucb/ingres/doc/contents.sh @@ -0,0 +1,11 @@ +# +if (-r toc.nr) rm toc.nr +echo '.th "TABLE OF CONTENTS" INGRES 3/1/81' > toc.nr +chdir quel +csh ../toc.sh *.nr +chdir ../unix +csh ../toc.sh *.nr +chdir ../files +csh ../toc.sh *.nr +chdir ../error +csh ../toc.sh *.nr diff --git a/usr/src/ucb/ingres/doc/files/dayfile.nr b/usr/src/ucb/ingres/doc/files/dayfile.nr new file mode 100644 index 0000000000..323ee6e129 --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/dayfile.nr @@ -0,0 +1,23 @@ +.th DAYFILE FILES +.sh NAME +\&.../files/dayfile7 \- \*(II login message +.sh DESCRIPTION +The contents of the dayfile +reflect +user information of general system interest, and is +more or less analogous to +.bd /etc/motd +in \*(UU. +The file has no set +format; +it is simply copied at login time to the standard +output device by the monitor if the +.bd \-s +or +.bd \-d +options +have not been requested. +Moreover the dayfile is not mandatory, and +its absence will not generate errors of any sort; +the same is true when the +dayfile is present but not readable. diff --git a/usr/src/ucb/ingres/doc/files/dbtmplt.nr b/usr/src/ucb/ingres/doc/files/dbtmplt.nr new file mode 100644 index 0000000000..e2274c7024 --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/dbtmplt.nr @@ -0,0 +1,73 @@ +.th DBTMPLT FILES +.sh NAME +\&.../files/dbtmplt7 \- database template +.sh DESCRIPTION +This file contains the template +for a database +used by +.it creatdb. +It has a set of entries +for each relation +to be created in the database. +The sets of entries +are separated +by a blank line. +Two blank lines +or an end of file +terminate the file. +.s3 +The first line +of the file +is the database status +and the default relation status, +separated by a colon. +The rest of the file describes relations. +The first line of each group +gives the relation name +followed by an optional relation status, +separated by a colon. +The rest of the lines in each group +are the attribute name +and the type, +separated by a tab character. +.s3 +All the status fields are given in octal, +and have a syntax of a single number +followed by a list of pairs of the form +.br + \*(+-\c +.it x\c +\*(+-N +.br +which says that if the +\*(+- +.it x +flag is asserted on the +.it creatdb +command line +then set (clear) the bits +specified by +.it N. +.s3 +The first set of entries must be for +the relation catalog, +and the second set +must be for +the attribute catalog. +.sh EXAMPLE +.nf +3\-c\-1+q+2:010023 +relation:\-c\-20 +relid c12 +relowner c2 +relspec i1 + +attribute:\-c\-20 +attrelid c12 +attowner c2 +attname c12 + + (other relation descriptors) +.fi +.sh "SEE ALSO" +creatdb(unix) diff --git a/usr/src/ucb/ingres/doc/files/error.nr b/usr/src/ucb/ingres/doc/files/error.nr new file mode 100644 index 0000000000..9c17f62782 --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/error.nr @@ -0,0 +1,47 @@ +.th ERROR FILES +.sh NAME +\&.../files/error7_? \- files with \*(II errors +.sh DESCRIPTION +These files contain the \*(II error messages. +There is one file +for each thousands digit; +e.g., +error number 2313 will be in file error7_2. +.s3 +Each file consists of a sequence of error messages +with associated error numbers. +When an error enters the front end, +the appropriate file is scanned for the correct error number. +If found, the message is printed; +otherwise, +the first message parameter is printed. +.s3 +Each message has the format +.br + errnum message tilde. +.br +Messages are terminated +by the tilde character (`~'). +The message is scanned before printing. +If the sequence +.bd %\c +.it n +is encountered +(where +.it n +is a digit from 0 to 9), +parameter +.it n +is substituted, +where %0 is the first parameter. +.s3 +The parameters can be in any order. +For example, +an error message can reference %2 before it +references %0. +.sh EXAMPLE +.nf +1003 line %0, bad database name %1~ +1005 In the purge of %1, a bad %0 caused execution to halt~ +1006 No process, try again.~ +.fi diff --git a/usr/src/ucb/ingres/doc/files/grafile.nr b/usr/src/ucb/ingres/doc/files/grafile.nr new file mode 100644 index 0000000000..2d6a790505 --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/grafile.nr @@ -0,0 +1,23 @@ +.th GRAFILE FILES +.sh NAME +\&.../files/grafile7 \- \*(GQ login message +.sh DESCRIPTION +The contents of the grafile (\*(GQ dayfile) +reflect +user information of general system interest, and is +more or less analogous to +.bd /etc/motd +in \*(UU. +The file has no set +format; +it is simply copied at login time to the standard +output device by \*(GQ if the +.bd \-s +or +.bd \-d +options +have not been requested. +Moreover the grafile is not mandatory, and +its absence will not generate errors of any sort; +the same is true when the +grafile is present but not readable. diff --git a/usr/src/ucb/ingres/doc/files/libq.nr b/usr/src/ucb/ingres/doc/files/libq.nr new file mode 100644 index 0000000000..ff8a232739 --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/libq.nr @@ -0,0 +1,136 @@ +.th LIBQ FILES +.sh NAME +libq \- Equel run-time support library +.sh DESCRIPTION +.it Libq is the equel run-time support library containing +all the routines necessary for an equel program to load. +It typically resides in +.bd /usr/lib/libq.a, +and must be specified when loading +equel pre-processed object code. +It may be referenced on the +command line of +.it cc +by the abbreviation +.bd \-lq. +.s3 +Several useful routines +which are used by equel processes are included in the library. +These may be employed by the equel programmer to avoid code +duplication. +They are: +.ne 20 +.nf + +int IIatoi(buf, i) +char *buf; +int i; + +char *IIbmove(source, destination, len) +char *source, *destination; +int len; + +char *IIconcatv(buf, arg1, arg2, ..., 0) +char *buf, *arg1, ...; + +char *IIitos(i) +int i; + +int IIsequal(s1, s2) +char *s1, *s2; + +int IIlength(string) +char *string; + +IIsyserr(string, arg1, arg2, ...); +char *string; + +.fi +.in +5 +.de xx +.s3 +.lp +12 12 +\\$1\t\c +.. +.xx IIatoi +IIatoi is equivalent to atoi(UTIL). +.xx IIbmove +Moves +.it len +bytes from +.it source +to +.it destination\c +\&, returning a pointer to the location after the last byte moved. +Does not append a null byte. +.xx IIconcatv +Concatenates into +.it buf +all of its arguments, returning a pointer to +the null byte at the end of the concatenation. +.it Buf +may not be equal to any of the arg-n but arg1. +.xx IIitos +IIitos is equivalent to itoa(III). +.xx IIsequal +Returns 1 iff strings s1 is identical to s2. +.xx IIlength +Returns max(length of +.it string +without null byte at end, 255) +.xx IIsyserr +IIsyserr is diferrent from syserr(util) only in that +it will print the name in IIproc_name, and in that there is no 0 mode. +Also, it will always call exit(\*-1) after printing the error message. +.i0 +.s3 +There are also some global Equel variables which may be manipulated by the +user: +.ne 5 +.nf + +int IIerrflag; +char *IImainpr; +char (*IIprint_err)(); +int IIret_err(); +int IIno_err(); + +.fi +.in +5 +.xx IIerrflag +Set on an error from \*(II to be the error number (see +the error message section of the ``\*(II Reference Manual'') that ocurred. +This remains valid from the time the error occurrs to the time when +the next equel statement is issued. +This may be used just after an equel statement to see if it succeded. +.xx IImainpr +This is a string which determines which ingres to call when a +"## ingres" is issued. Initially it is "/usr/bin/ingres". +.xx IIprint_err +This function pointer is used to call a function which determines +what (if any) error message should be printed when an ingres error +occurs. It is called from IIerror() with the error number as an +argument, and the error message corresponding to the error number +returned will be printed. +If (*IIprint_err)(\c +.it \c +) returns 0, then no error message will be printed. +Initially IIprint_err is set to IIret_err() to print the error +that ocurred. +.xx IIret_err +Returns its single integer argument. Used to have (*IIprint_err)() +cause printing of the error that ocurred. +.xx IIno_err +Returns 0. Used to have (*IIprint_err)() suppress error message printing. +IIno_err is used when an error in a parametrized equel statemenr occurs +to suppress printing of the corresponding parser error. +.sh "SEE ALSO" +atoi(util), +bmove(util), +cc(I), +equel(unix), +exit(II), +itoa(III), +length(util), +sequal(util), +syserr(util) diff --git a/usr/src/ucb/ingres/doc/files/proctab.nr b/usr/src/ucb/ingres/doc/files/proctab.nr new file mode 100644 index 0000000000..53b404350d --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/proctab.nr @@ -0,0 +1,139 @@ +.th PROCTAB FILES +.sh NAME +\&.../files/proctab7 \- \*(II runtime configuration information +.sh DESCRIPTION +The process table +describes the runtime configuration +of the \*(II system. +Each line of the process table +has a special meaning depending on the first +character of the line. +Blank lines +and lines beginning with an asterisk +are comments. +All other lines have a sequence of fields +separated by commas. +Pipe descriptor fields +are lower case letters +or digits; +if they are digits +they are replaced by file descriptors +from the \*(EE flag +or the @ flag. +.s3 +.bd D +defines a macro. +The first field is a single character +macro name. +The second field is the string to use as the value. +Macros are expanded using ``$\fIx\fP'' +where +.it x +is the macro name. +The macro ``P'' is predefined +to be the pathname of the \*(II subtree. +.s3 +.bd P +introduces a process description. +All lines up to an end of file +or another P line +describe a single process. +The first field is the process number. +The next field is the pathname of the binary +to execute for this process. +The third field is the name of the process +to use for printing messages. +The fourth field must be a single character +lower case letter +representing the input pipe that is normally read +when nothing special is happening, +or a vertical bar followed by a single digit, +meaning to read from that file descriptor. +The next field is a set of flags in octal +regarding processing of this process; +these are described below. +The final field is a single letter +telling what trace flag this process uses. +.s3 +.bd L +defines what modules are defined locally +by this process. +The first field is the module number +used internally. +The second field is a set of flags +describing processing of this module: +the only bit defined is the 0001 bit +which allows this module to be executed +directly by the user. +The third field is the function number +in the process which defines this module. +The final field is the module number +to be executed after this module completes; +zero is nothing (return). +.s3 +.bd R +defines modules that are known to this process +but which must be passed to another process +for execution. +The first field is the process number the modules +will be found in. +The second field is the pipe to write +to get to that process. +The third field is the pipe to read to get a response +from that process. +The fourth field is a set of flags: +0001 means to write the output pipe +if you get a broadcast message, +0002 means that the process is physically adjacent +on the read pipe, +and 0004 means that the process is adjacent +on the write pipe. +The fifth and subsequent fields are the module numbers +that are defined by this process. +.s3 +The status bits for the +.bd P +line are as follows: +.nf +.s3 + 000010 close diagnostic output + 000004 close standard input + 000002 run in user's directory, not database + 000001 run as the user, not as \*(II +.s3 +.fi +.s3 +The lowest numbered process +becomes the parent +of all the other processes. +.s1 +.bd WARNING: +Giving a user permission to specify his or her own process table +will allow them to bypass all protection provided by \*(II. +This facility should be provided for system debugging only! +.sh "EXAMPLE" +The following example +will execute a three process system. +.s3 +.nf +.in +4 +DB:$P/bin +DS:$P/source +**** Process 0 -- terminal monitor +P0:$B/monitor:MONITOR:h:0003:M +L0:0:0:0 +R1:0:a:h:0007:1 +* Process 1 -- parser +P1:$B/parser:PARSER:a:0014:P +L3:1:0:0 +R0:0:h:a:0006:0 +R2:0:b:g:0007:5:6:7 +* Process 2 -- data base utilities +P2:$B/alldbu:DBU:b:0014:Z +L5:0:6:0 +L6:0:0:0 +L7:0:1:0 +R0:0:g:b:0000 +R1:0:g:b:0006 +.fi +.in -4 diff --git a/usr/src/ucb/ingres/doc/files/startup.nr b/usr/src/ucb/ingres/doc/files/startup.nr new file mode 100644 index 0000000000..c8a924e0db --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/startup.nr @@ -0,0 +1,18 @@ +.th STARTUP FILES +.sh NAME +\&.../files/startup \- \*(II startup file +.sh DESCRIPTION +This file is read by the monitor +at login time. +It is read before the user startup file +specified in the users file. +The primary purpose is to define +a new editor and/or shell to call +with the +.bd \ee +or +.bd \es +commands. +.sh "SEE ALSO" +monitor(quel), +users(files) diff --git a/usr/src/ucb/ingres/doc/files/ttytype.nr b/usr/src/ucb/ingres/doc/files/ttytype.nr new file mode 100644 index 0000000000..54f376568b --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/ttytype.nr @@ -0,0 +1,35 @@ +.th TTYTYPE FILES 3/28/79 +.sh NAME +\&.../files/ttytype \- \*(GQ terminal type database +.sh DESCRIPTION +The +.bd ttytype +file describes +each terminal on your system. +\*(GQ will +not attempt to display graphical output on terminals +that are not capable of displaying it. +There is a sample of the file in +.bd \&.../geoquel/ttytype.sample. +This is a copy of the file in use on the Berkeley system. +.s3 +The +.bd ttytype +file consists of a series of +lines; +the first character is the terminal id, +and the rest of the line tells +the type of the terminal. +The first of these characters is a terminal class, +and the rest signify the brand, or some other more +descriptive indication. +A completely blank line terminates the useful part +of the file, after which comments may +appear unrestricted. +In the sample file the currently recognized +(defined) terminal types are listed as comments. +.sh BUGS +The current version of \*(GQ only looks for terminals +of graphic nature and therefore only the graphic terminals +need be in this database. If any other system or sub-system +wishes to use this file, all terminals must be kept up to date. diff --git a/usr/src/ucb/ingres/doc/files/users.nr b/usr/src/ucb/ingres/doc/files/users.nr new file mode 100644 index 0000000000..8a1087cd0e --- /dev/null +++ b/usr/src/ucb/ingres/doc/files/users.nr @@ -0,0 +1,72 @@ +.th USERS FILES +.sh NAME +\&.../files/users \- \*(II user codes and parameters +.sh DESCRIPTION +This file contains the user information in fields seperated by colons. +The fields are as follows: +.in +4 +.ti -4 +*\ User name, taken directly from +.bd /etc/passwd +file. +.ti -4 +*\ User code, assigned by the \*(II super-user. +It must be a unique two character code. +.ti -4 +*\ \*(UU user id. +This MUST match the entry in the +.bd /etc/passwd +file. +.ti -4 +*\ \*(UU group id. +Same comment applies. +.ti -4 +*\ Status word in octal. +Bit values are: +.nf +0000001 creatdb permission +0000002 permits batch update override +0000004 permits update of system catalogs +0000020 can use trace flags +0000040 can turn off qrymod +0000100 can use arbitrary proctabs +0000200 can use the =proctab form +0100000 ingres superuser +.fi +.ti -4 +*\ A list of flags +automatically set +for this user. +.ti -4 +*\ The process table +to use for this user. +.ti -4 +*\ An initialization file +to read be read by the monitor +at login time. +.ti -4 +*\ Unassigned. +.ti -4 +*\ Comma seperated list of databases. +If this list is null, +the user may enter any database. +If it begins with a `\-', +the user may enter any database +except the named databases. +Otherwise, +the user may only enter the named databases. +.in -4 +.s1 +Giving permission to a user +to use arbitrary process tables +is tantamount to turning off the protection system +for that user. +.sh EXAMPLE +.nf +ingres:aa:5:2:177777:\-d:=special:/mnt/ingres/.ingres:: +guest:ah:35:1:000000:::::demo,guest +.fi +.sh "SEE ALSO" +.nf +initucode(util) +.fi diff --git a/usr/src/ucb/ingres/doc/iaa b/usr/src/ucb/ingres/doc/iaa new file mode 100644 index 0000000000..a9f6344be7 --- /dev/null +++ b/usr/src/ucb/ingres/doc/iaa @@ -0,0 +1,74 @@ +.ns +.de ul +.. +.pl 1 +.nr in 5 +.de i0 +.in \n(in +.. +.de lp +.i0 +.ta \\$2+1 +.in \\$1 +.ti -\\$2 +.. +.de s1 +.sp 1 +.. +.de s2 +.sp 1 +.. +.de s3 +.sp 1 +.. +.de th +'fi +'ad +.bp +.in \n(in +.dt +.. +.de sh +.i0 +.s1 +.ti 0 +\\$1 +.br +.. +.de bd +.tr __ +.ul +\\$1 +.. +.de bn +.tr __ +.ul +\\$1\\t +.. +.de it +.tr __ +.ul +.li +\\$1 +.. +.de dt +.ta 8 16 24 32 40 48 56 64 +.. +.ds II \s-2INGRES\s0 +.ds UU \s-2UNIX\s0 +.ds GQ \s-2GEO-QUEL\s0 +.ds +- +- +.ds ** * +.ds b B +.ds G G +.ds a ' +.ds - - +.ds _ _ +.ds v | +.ds p J +.ds r +.ds g ` +.ds X X +.ds u u +.ds > -> +.ds |