- Notifications
You must be signed in to change notification settings - Fork5
Commita99c42f
committed
Support automatically-updatable views.
This patch makes "simple" views automatically updatable, without the needto create either INSTEAD OF triggers or INSTEAD rules. "Simple" viewsare those classified as updatable according to SQL-92 rules. The rewritertransforms INSERT/UPDATE/DELETE commands on such views directly into anequivalent command on the underlying table, which will generally havenoticeably better performance than is possible with either triggers oruser-written rules. A view that has INSTEAD OF triggers or INSTEAD rulescontinues to operate the same as before.For the moment, security_barrier views are not considered simple.Also, we do not support WITH CHECK OPTION. These features may beadded in future.Dean Rasheed, reviewed by Amit Kapila1 parentd12d9f5 commita99c42f
File tree
20 files changed
+2491
-93
lines changed- doc/src/sgml
- ref
- src
- backend
- catalog
- executor
- rewrite
- utils/adt
- include
- catalog
- rewrite
- utils
- test/regress
- expected
- sql
20 files changed
+2491
-93
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
110 | 110 |
| |
111 | 111 |
| |
112 | 112 |
| |
113 |
| - | |
| 113 | + | |
114 | 114 |
| |
115 | 115 |
| |
116 | 116 |
| |
|
Lines changed: 3 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
147 | 147 |
| |
148 | 148 |
| |
149 | 149 |
| |
150 |
| - | |
151 |
| - | |
152 |
| - | |
153 |
| - | |
154 |
| - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
155 | 153 |
| |
156 | 154 |
| |
157 | 155 |
| |
|
Lines changed: 5 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
80 | 80 |
| |
81 | 81 |
| |
82 | 82 |
| |
83 |
| - | |
84 |
| - | |
85 |
| - | |
86 |
| - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
87 | 88 |
| |
88 | 89 |
| |
89 | 90 |
| |
|
Lines changed: 19 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
45 | 45 |
| |
46 | 46 |
| |
47 | 47 |
| |
48 |
| - | |
| 48 | + | |
49 | 49 |
| |
50 | 50 |
| |
51 |
| - | |
| 51 | + | |
52 | 52 |
| |
53 | 53 |
| |
54 | 54 |
| |
| |||
73 | 73 |
| |
74 | 74 |
| |
75 | 75 |
| |
76 |
| - | |
77 |
| - | |
78 |
| - | |
| 76 | + | |
79 | 77 |
| |
80 | 78 |
| |
81 | 79 |
| |
82 |
| - | |
| 80 | + | |
83 | 81 |
| |
84 | 82 |
| |
85 | 83 |
| |
| |||
95 | 93 |
| |
96 | 94 |
| |
97 | 95 |
| |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
98 | 111 |
| |
99 | 112 |
| |
100 | 113 |
| |
|
Lines changed: 109 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
127 | 127 |
| |
128 | 128 |
| |
129 | 129 |
| |
130 |
| - | |
131 |
| - | |
132 |
| - | |
133 |
| - | |
134 |
| - | |
135 |
| - | |
136 |
| - | |
137 |
| - | |
138 |
| - | |
139 |
| - | |
140 |
| - | |
141 | 130 |
| |
142 | 131 |
| |
143 | 132 |
| |
| |||
175 | 164 |
| |
176 | 165 |
| |
177 | 166 |
| |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
178 | 266 |
| |
179 | 267 |
| |
180 | 268 |
| |
| |||
217 | 305 |
| |
218 | 306 |
| |
219 | 307 |
| |
220 |
| - | |
221 |
| - | |
222 |
| - | |
223 |
| - | |
224 |
| - | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
225 | 317 |
| |
226 | 318 |
| |
227 | 319 |
| |
| |||
252 | 344 |
| |
253 | 345 |
| |
254 | 346 |
| |
| 347 | + | |
255 | 348 |
| |
256 | 349 |
| |
257 | 350 |
| |
|
Lines changed: 38 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
808 | 808 |
| |
809 | 809 |
| |
810 | 810 |
| |
811 |
| - | |
| 811 | + | |
812 | 812 |
| |
813 | 813 |
| |
814 |
| - | |
815 |
| - | |
816 |
| - | |
817 |
| - | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
818 | 833 |
| |
819 | 834 |
| |
820 | 835 |
| |
| |||
842 | 857 |
| |
843 | 858 |
| |
844 | 859 |
| |
845 |
| - | |
846 |
| - | |
847 |
| - | |
848 |
| - | |
| 860 | + | |
| 861 | + | |
849 | 862 |
| |
850 | 863 |
| |
851 | 864 |
| |
| |||
860 | 873 |
| |
861 | 874 |
| |
862 | 875 |
| |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
863 | 892 |
| |
864 | 893 |
| |
865 | 894 |
| |
|
Lines changed: 6 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
730 | 730 |
| |
731 | 731 |
| |
732 | 732 |
| |
733 |
| - | |
734 |
| - | |
735 |
| - | |
736 |
| - | |
| 733 | + | |
| 734 | + | |
737 | 735 |
| |
738 | 736 |
| |
739 | 737 |
| |
| |||
1896 | 1894 |
| |
1897 | 1895 |
| |
1898 | 1896 |
| |
1899 |
| - | |
1900 |
| - | |
1901 |
| - | |
| 1897 | + | |
| 1898 | + | |
1902 | 1899 |
| |
1903 | 1900 |
| |
1904 | 1901 |
| |
| |||
2497 | 2494 |
| |
2498 | 2495 |
| |
2499 | 2496 |
| |
2500 |
| - | |
2501 |
| - | |
2502 |
| - | |
| 2497 | + | |
2503 | 2498 |
| |
2504 | 2499 |
| |
2505 | 2500 |
| |
2506 |
| - | |
2507 |
| - | |
| 2501 | + | |
2508 | 2502 |
| |
2509 | 2503 |
| |
2510 | 2504 |
| |
|
0 commit comments
Comments
(0)