|
|
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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.