Commit 0e4611c
committed
Add a security_barrier option for views.
When a view is marked as a security barrier, it will not be pulled up
into the containing query, and no quals will be pushed down into it,
so that no function or operator chosen by the user can be applied to
rows not exposed by the view. Views not configured with this
option cannot provide robust row-level security, but will perform far
better.
Patch by KaiGai Kohei; original problem report by Heikki Linnakangas
(in October 2009!). Review (in earlier versions) by Noah Misch and
others. Design advice by Tom Lane and myself. Further review and
cleanup by me.1 parent f90dd28 commit 0e4611c
File tree
22 files changed
+300
-35
lines changed- doc/src/sgml
- ref
- src
- backend
- access/common
- commands
- nodes
- optimizer
- path
- prep
- parser
- rewrite
- utils
- adt
- cache
- bin/pg_dump
- include
- access
- nodes
- utils
- test/regress
- expected
- sql
22 files changed
+300
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
29 | 31 | | |
30 | 32 | | |
31 | 33 | | |
| |||
102 | 104 | | |
103 | 105 | | |
104 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
105 | 125 | | |
106 | 126 | | |
107 | 127 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
101 | 114 | | |
102 | 115 | | |
103 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1822 | 1822 | | |
1823 | 1823 | | |
1824 | 1824 | | |
1825 | | - | |
1826 | | - | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
1827 | 1828 | | |
1828 | 1829 | | |
1829 | 1830 | | |
| |||
1870 | 1871 | | |
1871 | 1872 | | |
1872 | 1873 | | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
| 1878 | + | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
1873 | 1908 | | |
1874 | 1909 | | |
1875 | 1910 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
70 | 78 | | |
71 | 79 | | |
72 | 80 | | |
| |||
781 | 789 | | |
782 | 790 | | |
783 | 791 | | |
| 792 | + | |
784 | 793 | | |
785 | 794 | | |
786 | 795 | | |
| |||
1139 | 1148 | | |
1140 | 1149 | | |
1141 | 1150 | | |
1142 | | - | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
1143 | 1154 | | |
1144 | 1155 | | |
1145 | 1156 | | |
| |||
1159 | 1170 | | |
1160 | 1171 | | |
1161 | 1172 | | |
1162 | | - | |
| 1173 | + | |
1163 | 1174 | | |
1164 | 1175 | | |
1165 | 1176 | | |
| |||
1181 | 1192 | | |
1182 | 1193 | | |
1183 | 1194 | | |
| 1195 | + | |
| 1196 | + | |
1184 | 1197 | | |
1185 | 1198 | | |
1186 | 1199 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
369 | | - | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
370 | 372 | | |
371 | 373 | | |
372 | 374 | | |
| |||
2866 | 2868 | | |
2867 | 2869 | | |
2868 | 2870 | | |
| 2871 | + | |
2869 | 2872 | | |
2870 | 2873 | | |
2871 | 2874 | | |
| |||
3094 | 3097 | | |
3095 | 3098 | | |
3096 | 3099 | | |
3097 | | - | |
3098 | | - | |
| 3100 | + | |
| 3101 | + | |
| 3102 | + | |
3099 | 3103 | | |
3100 | 3104 | | |
3101 | 3105 | | |
| |||
3338 | 3342 | | |
3339 | 3343 | | |
3340 | 3344 | | |
3341 | | - | |
3342 | | - | |
3343 | 3345 | | |
3344 | | - | |
| 3346 | + | |
| 3347 | + | |
3345 | 3348 | | |
3346 | | - | |
3347 | 3349 | | |
3348 | 3350 | | |
3349 | 3351 | | |
| |||
8271 | 8273 | | |
8272 | 8274 | | |
8273 | 8275 | | |
8274 | | - | |
| 8276 | + | |
8275 | 8277 | | |
8276 | 8278 | | |
8277 | | - | |
| 8279 | + | |
| 8280 | + | |
8278 | 8281 | | |
8279 | 8282 | | |
8280 | 8283 | | |
| |||
8288 | 8291 | | |
8289 | 8292 | | |
8290 | 8293 | | |
8291 | | - | |
| 8294 | + | |
8292 | 8295 | | |
8293 | 8296 | | |
8294 | 8297 | | |
8295 | 8298 | | |
8296 | | - | |
| 8299 | + | |
8297 | 8300 | | |
8298 | 8301 | | |
8299 | 8302 | | |
8300 | 8303 | | |
8301 | 8304 | | |
8302 | | - | |
| 8305 | + | |
| 8306 | + | |
| 8307 | + | |
| 8308 | + | |
| 8309 | + | |
| 8310 | + | |
| 8311 | + | |
| 8312 | + | |
| 8313 | + | |
| 8314 | + | |
| 8315 | + | |
| 8316 | + | |
| 8317 | + | |
| 8318 | + | |
| 8319 | + | |
8303 | 8320 | | |
8304 | 8321 | | |
8305 | 8322 | | |
8306 | | - | |
| 8323 | + | |
| 8324 | + | |
8307 | 8325 | | |
8308 | 8326 | | |
8309 | 8327 | | |
8310 | 8328 | | |
8311 | 8329 | | |
8312 | 8330 | | |
| 8331 | + | |
8313 | 8332 | | |
8314 | 8333 | | |
8315 | 8334 | | |
| |||
8357 | 8376 | | |
8358 | 8377 | | |
8359 | 8378 | | |
8360 | | - | |
| 8379 | + | |
8361 | 8380 | | |
8362 | 8381 | | |
8363 | 8382 | | |
8364 | 8383 | | |
8365 | | - | |
| 8384 | + | |
| 8385 | + | |
| 8386 | + | |
| 8387 | + | |
| 8388 | + | |
| 8389 | + | |
| 8390 | + | |
| 8391 | + | |
| 8392 | + | |
| 8393 | + | |
| 8394 | + | |
| 8395 | + | |
| 8396 | + | |
| 8397 | + | |
| 8398 | + | |
8366 | 8399 | | |
8367 | 8400 | | |
8368 | | - | |
| 8401 | + | |
| 8402 | + | |
8369 | 8403 | | |
8370 | 8404 | | |
8371 | 8405 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
101 | | - | |
| 102 | + | |
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
| |||
166 | 167 | | |
167 | 168 | | |
168 | 169 | | |
| 170 | + | |
| 171 | + | |
169 | 172 | | |
170 | 173 | | |
171 | 174 | | |
| |||
203 | 206 | | |
204 | 207 | | |
205 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
206 | 218 | | |
207 | 219 | | |
208 | 220 | | |
209 | 221 | | |
210 | 222 | | |
211 | 223 | | |
212 | 224 | | |
213 | | - | |
214 | 225 | | |
215 | 226 | | |
216 | 227 | | |
217 | 228 | | |
218 | 229 | | |
219 | | - | |
220 | | - | |
221 | 230 | | |
222 | 231 | | |
223 | 232 | | |
| |||
228 | 237 | | |
229 | 238 | | |
230 | 239 | | |
231 | | - | |
232 | 240 | | |
233 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
234 | 245 | | |
235 | 246 | | |
236 | 247 | | |
| |||
250 | 261 | | |
251 | 262 | | |
252 | 263 | | |
253 | | - | |
| 264 | + | |
| 265 | + | |
254 | 266 | | |
255 | 267 | | |
256 | 268 | | |
| |||
513 | 525 | | |
514 | 526 | | |
515 | 527 | | |
516 | | - | |
| 528 | + | |
517 | 529 | | |
518 | 530 | | |
519 | 531 | | |
| |||
0 commit comments