- Notifications
You must be signed in to change notification settings - Fork5
Commitfbe5a3f
committed
Only try to push down foreign joins if the user mapping OIDs match.
Previously, the foreign join pushdown infrastructure left the questionof security entirely up to individual FDWs, but it would be easy fora foreign data wrapper to inadvertently open up subtle security holesthat way. So, make it the core code's job to determine which usermapping OID is relevant, and don't attempt join pushdown unless it'sthe same for all relevant relations.Per a suggestion from Tom Lane. Shigeru Hanada and Ashutosh Bapat,reviewed by Etsuro Fujita and KaiGai Kohei, with some furtherchanges by me.1 parent2f6b041 commitfbe5a3f
File tree
13 files changed
+179
-20
lines changed- src
- backend
- executor
- foreign
- nodes
- optimizer
- plan
- util
- utils/cache
- include
- foreign
- nodes
- utils
13 files changed
+179
-20
lines changedLines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
143 | 143 |
| |
144 | 144 |
| |
145 | 145 |
| |
| 146 | + | |
146 | 147 |
| |
147 | 148 |
| |
148 | 149 |
| |
|
Lines changed: 57 additions & 17 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
31 | 31 |
| |
32 | 32 |
| |
33 | 33 |
| |
| 34 | + | |
34 | 35 |
| |
35 | 36 |
| |
36 | 37 |
| |
| |||
174 | 175 |
| |
175 | 176 |
| |
176 | 177 |
| |
177 |
| - | |
178 |
| - | |
179 |
| - | |
180 |
| - | |
181 |
| - | |
182 |
| - | |
183 |
| - | |
184 |
| - | |
185 |
| - | |
186 |
| - | |
187 |
| - | |
188 |
| - | |
189 |
| - | |
190 |
| - | |
191 |
| - | |
192 |
| - | |
193 |
| - | |
| 178 | + | |
194 | 179 |
| |
195 | 180 |
| |
196 | 181 |
| |
| |||
212 | 197 |
| |
213 | 198 |
| |
214 | 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 | + | |
215 | 255 |
| |
216 | 256 |
| |
217 | 257 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
95 | 95 |
| |
96 | 96 |
| |
97 | 97 |
| |
| 98 | + | |
98 | 99 |
| |
99 | 100 |
| |
100 | 101 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
259 | 259 |
| |
260 | 260 |
| |
261 | 261 |
| |
| 262 | + | |
262 | 263 |
| |
263 | 264 |
| |
264 | 265 |
| |
| |||
1825 | 1826 |
| |
1826 | 1827 |
| |
1827 | 1828 |
| |
| 1829 | + | |
1828 | 1830 |
| |
1829 | 1831 |
| |
1830 | 1832 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1396 | 1396 |
| |
1397 | 1397 |
| |
1398 | 1398 |
| |
| 1399 | + | |
1399 | 1400 |
| |
1400 | 1401 |
| |
1401 | 1402 |
| |
|
Lines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2151 | 2151 |
| |
2152 | 2152 |
| |
2153 | 2153 |
| |
| 2154 | + | |
| 2155 | + | |
| 2156 | + | |
| 2157 | + | |
| 2158 | + | |
| 2159 | + | |
| 2160 | + | |
| 2161 | + | |
| 2162 | + | |
2154 | 2163 |
| |
2155 | 2164 |
| |
2156 | 2165 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
200 | 200 |
| |
201 | 201 |
| |
202 | 202 |
| |
| 203 | + | |
203 | 204 |
| |
204 | 205 |
| |
205 | 206 |
| |
| |||
346 | 347 |
| |
347 | 348 |
| |
348 | 349 |
| |
| 350 | + | |
349 | 351 |
| |
350 | 352 |
| |
351 | 353 |
| |
|
Lines changed: 34 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| 17 | + | |
| 18 | + | |
| 19 | + | |
17 | 20 |
| |
18 | 21 |
| |
19 | 22 |
| |
| |||
127 | 130 |
| |
128 | 131 |
| |
129 | 132 |
| |
| 133 | + | |
130 | 134 |
| |
131 | 135 |
| |
132 | 136 |
| |
| |||
166 | 170 |
| |
167 | 171 |
| |
168 | 172 |
| |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
169 | 193 |
| |
170 | 194 |
| |
171 | 195 |
| |
| |||
398 | 422 |
| |
399 | 423 |
| |
400 | 424 |
| |
| 425 | + | |
401 | 426 |
| |
402 | 427 |
| |
403 | 428 |
| |
| |||
408 | 433 |
| |
409 | 434 |
| |
410 | 435 |
| |
411 |
| - | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
412 | 441 |
| |
413 | 442 |
| |
414 |
| - | |
| 443 | + | |
| 444 | + | |
415 | 445 |
| |
| 446 | + | |
416 | 447 |
| |
| 448 | + | |
417 | 449 |
| |
418 | 450 |
| |
419 | 451 |
| |
|
Lines changed: 67 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
104 | 104 |
| |
105 | 105 |
| |
106 | 106 |
| |
| 107 | + | |
| 108 | + | |
107 | 109 |
| |
108 | 110 |
| |
109 | 111 |
| |
| |||
119 | 121 |
| |
120 | 122 |
| |
121 | 123 |
| |
| 124 | + | |
| 125 | + | |
122 | 126 |
| |
123 | 127 |
| |
124 | 128 |
| |
| |||
574 | 578 |
| |
575 | 579 |
| |
576 | 580 |
| |
577 |
| - | |
| 581 | + | |
| 582 | + | |
578 | 583 |
| |
579 | 584 |
| |
580 | 585 |
| |
| |||
609 | 614 |
| |
610 | 615 |
| |
611 | 616 |
| |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
612 | 629 |
| |
613 | 630 |
| |
614 | 631 |
| |
| |||
881 | 898 |
| |
882 | 899 |
| |
883 | 900 |
| |
| 901 | + | |
884 | 902 |
| |
885 | 903 |
| |
886 | 904 |
| |
| |||
988 | 1006 |
| |
989 | 1007 |
| |
990 | 1008 |
| |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
991 | 1023 |
| |
992 | 1024 |
| |
993 | 1025 |
| |
| |||
1843 | 1875 |
| |
1844 | 1876 |
| |
1845 | 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 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
1846 | 1912 |
| |
1847 | 1913 |
| |
1848 | 1914 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
72 | 72 |
| |
73 | 73 |
| |
74 | 74 |
| |
| 75 | + | |
75 | 76 |
| |
76 | 77 |
| |
77 | 78 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
73 | 73 |
| |
74 | 74 |
| |
75 | 75 |
| |
| 76 | + | |
76 | 77 |
| |
77 | 78 |
| |
78 | 79 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
108 | 108 |
| |
109 | 109 |
| |
110 | 110 |
| |
| 111 | + | |
111 | 112 |
| |
112 | 113 |
| |
113 | 114 |
| |
| |||
490 | 491 |
| |
491 | 492 |
| |
492 | 493 |
| |
| 494 | + | |
493 | 495 |
| |
494 | 496 |
| |
495 | 497 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
135 | 135 |
| |
136 | 136 |
| |
137 | 137 |
| |
| 138 | + | |
138 | 139 |
| |
139 | 140 |
| |
140 | 141 |
| |
|
0 commit comments
Comments
(0)