Annotation of 42BSD/ingres/doc/quel/permit.nr, revision 1.1.1.1

1.1       root        1: .th PERMIT QUEL 2/7/79
                      2: .sh NAME
                      3: permit \- add permissions to a relation
                      4: .sh SYNOPSIS
                      5: .bd define
                      6: .bd permit
                      7: oplist {
                      8: .bd on
                      9: |
                     10: .bd of
                     11: |
                     12: .bd to
                     13: } var [ (attlist) ]
                     14: .br
                     15: .if n .ti +5
                     16: .if t .ti +0.5i
                     17: .bd to
                     18: name [
                     19: .bd at
                     20: term ] 
                     21: [
                     22: .bd from
                     23: time
                     24: .bd to
                     25: time ] 
                     26: .br
                     27: .if n .ti +5
                     28: .if t .ti +0.5i
                     29: [
                     30: .bd on
                     31: day
                     32: .bd to
                     33: day ] [
                     34: .bd where
                     35: qual ]
                     36: .sh DESCRIPTION
                     37: The
                     38: .it permit
                     39: statement extends the current permissions
                     40: on the relation specified by
                     41: .it var.
                     42: .it Oplist
                     43: is a comma separated list
                     44: of possible operations,
                     45: which can be
                     46: .bd retrieve\c
                     47: ,
                     48: .bd replace\c
                     49: ,
                     50: .bd delete\c
                     51: ,
                     52: .bd append\c
                     53: , or
                     54: .bd all\c
                     55: ;
                     56: .it all
                     57: is a special case
                     58: meaning all permissions.
                     59: .it Name
                     60: is the login name
                     61: of a user or the word
                     62: .bd all\c
                     63: \&.
                     64: .it Term
                     65: is a terminal name
                     66: of the form `tty\fIx\fP'
                     67: or the keyword
                     68: .bd all\c
                     69: ; omitting this phrase
                     70: is equivalent to specifying
                     71: .it all\c
                     72: \&.
                     73: .it Time\c
                     74: s are of the form
                     75: `hh:mm'
                     76: on a twenty-four hour clock
                     77: which limit the times of the day
                     78: during which this permission applies.
                     79: .it "Day\c"
                     80: s are three-character abbreviations
                     81: for days of the week.
                     82: The
                     83: .it qual
                     84: is appended to the qualification
                     85: of the query
                     86: when it is run.
                     87: .s1
                     88: Separate parts
                     89: of a single
                     90: .it permit
                     91: statement
                     92: are conjoined (ANDed).
                     93: Different
                     94: .it permit
                     95: statements are disjoined (ORed).
                     96: For example,
                     97: if you include
                     98: .s2
                     99:        . . . to eric at tty4 . . .
                    100: .s2
                    101: the
                    102: .it permit
                    103: applies only to eric
                    104: when logged in on tty4,
                    105: but if you include two
                    106: .it permit
                    107: statements
                    108: .s2
                    109:        . . . to eric at all . . .
                    110: .br
                    111:        . . . to all at tty4 . . .
                    112: .s2
                    113: then when eric logs in on tty4
                    114: he will get the union of the permissions
                    115: specified by the two statements.
                    116: If eric logs in on ttyd
                    117: he will get only the permissions specified
                    118: in the first
                    119: .it permit
                    120: statement,
                    121: and if bob logs in on tty4
                    122: he will get only the permissions specified
                    123: in the second
                    124: .it permit
                    125: statment.
                    126: .s1
                    127: The
                    128: .it permit
                    129: statement may only be issued
                    130: by the owner of the relation.
                    131: Although a user
                    132: other than the DBA
                    133: may issue a
                    134: .it permit
                    135: statement,
                    136: it is useless because noone else
                    137: can access her relations anyway.
                    138: .s3
                    139: .it Permit
                    140: statements
                    141: do not apply to the owner
                    142: of a relation
                    143: or to views.
                    144: .s1
                    145: The statements
                    146: .s2
                    147:        define permit all on x to all
                    148: .br
                    149:        define permit retrieve of x to all
                    150: .s2
                    151: with no further qualification
                    152: are handled as special cases
                    153: and are thus particularly efficient.
                    154: .sh EXAMPLES
                    155:   range of e is employee
                    156: .br
                    157:   define permit retrieve of e (name, sal) to marc
                    158: .br
                    159: .if t .ti +0.5i
                    160: .if n .ti +5
                    161:   at ttyd from 8:00 to 17:00
                    162: .br
                    163: .if t .ti +0.5i
                    164: .if n .ti +5
                    165:   on Mon to Fri
                    166: .br
                    167: .if t .ti +0.5i
                    168: .if n .ti +5
                    169:   where e.mgr = "marc"
                    170: .br
                    171: 
                    172:   range of p is parts
                    173: .br
                    174:   define permit retrieve of e to all
                    175: .sh "SEE ALSO"
                    176: destroy(quel)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.